22. december 2004 - 11:15Der er
11 kommentarer og 2 løsninger
Problem med flere Tpanels og en menu på hver.
Jeg har en panel (Panel1) på denne er der placeret 60 stk andre panels (Panel2 -> 61 med .Tag 1 -> 60), jeg har så lavet en popupmenu til hver af disse panels, MEN.... når jeg så vælger et punkt i menuen hvordan kan jeg så vide hvilken af disse panels man har trykket på??
Det virker ikke.. jeg får en 'Invalid Class Typecast'
Denne procedure vælger jeg fra et punkt i en popupmenu : ... procedure TForm1.Rediger1Click(Sender: TObject); begin if TForm1(Sender as TPanel).Name = 'Panel2' then label1.Caption := '2'; ... Jeg vil bruge det til at rediger noget tekst som står et andet sted på skærmen.
Nej, jeg har ikke 60 popup'er men jeg har 60 panels (hjemmelavet) som er flytbare, de skal bruges til en elektronisk opslagstavle. Man kan sige at alle panels er et stykke papir med en magnet bag på, på Caption af hver panel vil jeg så skrive en besked, jeg vil så ved at højreklikke på en 'magnet' få en menu op og der vil kunne vælge f.eks. 'Slet oplysninger' 'skriv oplysninger'. Problemet er så at når jeg vælger 'skriv oplysning' så vil jeg skrive til caption på den panel jeg højreklikker og vælger i menuen på....
Hvad med at putte din popupmenu med på dit hjemmelavede panel, så kører det jo sammen og så ved du hvilken panel det er, eller skal du kører FindControl(x,y) tror jeg nok den hedder, den kan fortælle hvilken control der er under musen
du kan evt. også slå autopopup fra på din menu, og lave en onMouseUp event på dit panel, så ved du hvilket panel det er for så er sender lig det panel, så kan du selv poppe menuen op med popupmenu1.popup(Mouse.x,mouse.y);
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.