Avatar billede mbsnet Nybegynder
28. juni 2008 - 16:56 Der er 6 kommentarer og
1 løsning

Visuelt komponent (som TPanel)

Hej.

Har lavet et par visuelle komponenter ud af tCustomControl. De virker, men ville gerne have dem til at fungere som tPanel gør: Hvis man trækker et nyt tPanel ned i et eksisterende, så kan man ikke trække det ud af det andet panel igen. Jeg ved ikke om dette har noget med "owner" eller "parent" at gøre.

Ved nogen hvordan man gør dette?

mvh
Morten
Avatar billede mbsnet Nybegynder
28. juni 2008 - 17:20 #1
p.s. for at få det til at virke har jeg gjort følgende

constructor baseVisual.create(aOwner:tComponent);//override;
begin
bitmap:=tBitmap.create;
inherited create(aOwner);
parent:=(aOwner as tWinControl);//løse det med "no parent window"

controlStyle:=[csAcceptsControls,csCaptureMouse,csClickEvents,
    csSetCaption,csOpaque,csDoubleClicks,csReplicatable];

crtScreen //tegner bitmap på canvas
end;
Avatar billede hrc Mester
28. juni 2008 - 23:42 #2
Kan du ikke bare nedarve dine komponenter fra TCustomPanel i stedet?
Avatar billede mbsnet Nybegynder
29. juni 2008 - 01:48 #3
Tak, Jo du har selvfølgelig ret igen :) Det har jeg gjort nu, og det virker.

Dog kunne det være sjovt at vide hvad der er, som gør at opfører sig på denne måde, så man måske endda kunne lave en property til at slå det fra eller til.

Uanset hvad, er jeg kommet videre, så der er points hvis svar.
Avatar billede mbsnet Nybegynder
29. juni 2008 - 02:01 #4
Hvis jeg nedarver fra "mit eget komponent" igen, virker det ikke.

ex:
komponent1=class(tCustomPanel) //... her virker det
komponent2=class(komponent1)  //... her virker det ikke
Avatar billede mbsnet Nybegynder
29. juni 2008 - 15:01 #5
Bare glem det sidste. begge dele virker - havde ikke fået ryddet op i mine units
Avatar billede hrc Mester
29. juni 2008 - 22:12 #6
Et TCustomPanel har en WMWindowPosChanged procedure (lytter på M_WINDOWPOSCHANGED). Uden at dykke meget ned i koden ligner det noget der justerer sig efter sig ejen ... men jeg skimmede kun koden.

Tillader mig at lægge et svar.
Avatar billede mbsnet Nybegynder
29. juni 2008 - 23:38 #7
Tak igen. Jeg bruger bare tCustomPanel fremover :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester