/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Ændre / tilføje i komponent
Fra : Frank Nørvig


Dato : 21-09-03 12:20

Hejsa,

Jeg benytter en TShape til at lave en figur på en form, men ønsker også at
man skal kunne benytte TPopupmenu på den, så man kan højreklikke i shapen og
vælge i en menu.

Jeg går ud fra at jeg skal lave et nyt komponent, f.eks. TAdvancedShape som
arver alt fra TShape, og så tilføjer den egenskab som gør, at jeg kan
benytte TPopupmenu, men jeg ved ikke hvordan jeg skal gøre det.

Nogen der kan komme med et par gode bud?

---



 
 
Thor (21-09-2003)
Kommentar
Fra : Thor


Dato : 21-09-03 15:38

Hej Frank

Det behøver du ikke.
Lav en almindelig popupmenu, popupmenu1.
derefter - utestet:

procedure TForm1.Shape1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if button = mbRight then
with shape1 do
popupmenu1.popup(left+x,top+y);
end;

Hilsen Thomas Riedel

"Frank Nørvig" <spam@noervig.dk> wrote in message
news:3f6d894f$0$137$edfadb0f@dread11.news.tele.dk...
> Hejsa,
>
> Jeg benytter en TShape til at lave en figur på en form, men ønsker også at
> man skal kunne benytte TPopupmenu på den, så man kan højreklikke i shapen
og
> vælge i en menu.
>
> Jeg går ud fra at jeg skal lave et nyt komponent, f.eks. TAdvancedShape
som
> arver alt fra TShape, og så tilføjer den egenskab som gør, at jeg kan
> benytte TPopupmenu, men jeg ved ikke hvordan jeg skal gøre det.
>
> Nogen der kan komme med et par gode bud?
>
> ---
>
>



Thomas N. Larsen (21-09-2003)
Kommentar
Fra : Thomas N. Larsen


Dato : 21-09-03 15:48


"Thor" <thr@image.danmark> wrote in message
news:bkkcjp$20s9$1@news.cybercity.dk...
> Hej Frank
>
> Det behøver du ikke.
> Lav en almindelig popupmenu, popupmenu1.
> derefter - utestet:
>
> procedure TForm1.Shape1MouseUp(Sender: TObject; Button: TMouseButton;
> Shift: TShiftState; X, Y: Integer);
> begin
> if button = mbRight then
> with shape1 do
> popupmenu1.popup(left+x,top+y);
> end;
>
> Hilsen Thomas Riedel

Godt forslag.
Jeg tænkte ikke lige i de baner.
Men det kommer jo an på hvor meget denne funktionalitet skal bruges.
Hvis det er begrænset vil det klart være den bedste løsning og omvendt.



Thomas N. Larsen (21-09-2003)
Kommentar
Fra : Thomas N. Larsen


Dato : 21-09-03 15:35

Det har du ret i.

Det du skal gøre(ikke nødvendigvis den letteste metode er følgende:

Tilføje et objekt af typen TPopupmenu.
Tilføje properties svarende til dem fra TPopupmenu (dem du skal bruge eller
alle) og benytte dem til at tilgå dit TPopupmenu objekt.
Tilføj constructor/destructor med oprettelse nedlæggelse af objektet.

Hvis der er nogle der vil have noget uddybning må i skrive det.

Thomas



Frank Nørvig (21-09-2003)
Kommentar
Fra : Frank Nørvig


Dato : 21-09-03 19:24

Tak for de gode forslag, men fandt en endnu nemmere løsning:
TShape arver fra TControl som i forvejen indeholder PopupMenu egenskaben,
det skal blot aktiveres.

Gjorde følgende:

TShapePop = Class(TShape)
Published
property PopUpMenu;
End;

Det er alt der skal til.

Mvh Frank



Thor (22-09-2003)
Kommentar
Fra : Thor


Dato : 22-09-03 21:12

Respekt!

mvh Thomas Riedel

"Frank Nørvig" <spam@noervig.dk> wrote in message
news:3f6decc8$0$166$edfadb0f@dread11.news.tele.dk...
> Tak for de gode forslag, men fandt en endnu nemmere løsning:
> TShape arver fra TControl som i forvejen indeholder PopupMenu egenskaben,
> det skal blot aktiveres.
>
> Gjorde følgende:
>
> TShapePop = Class(TShape)
> Published
> property PopUpMenu;
> End;
>
> Det er alt der skal til.
>
> Mvh Frank
>
>



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste