Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi wieder "Kein übergeordnetes Fenster", aber... (https://www.delphipraxis.net/69755-wieder-kein-uebergeordnetes-fenster-aber.html)

Mattze 19. Mai 2006 16:04


wieder "Kein übergeordnetes Fenster", aber...
 
Hallo,

also nun sehe ich gar nicht mehr durch.
Warum brauche ich beim Stringgrid ein übergeordnetes Fenster beim Draufclicken und beim Image nicht?
Und wenn ich schon eins brauche, wo kriege ich eins her?
Ich habe den OpenDialog etwas aufgebohrt und daraus einen besseren OpenPictureDialog gemacht.
Das geht auch sehr gut, nr eben das Striggrid nicht.
Es wird erzeugt und sein parent wird auf das PicturePanel, auf dem die Bilder angezeigt werden, gelegt.
setbounds usw. funktionieren. Alles genauso, wie z. B. eine Image-Komponente. Nur beim Click will das Stringgrid eben noch ein übergeordnetes Fenster - wobei OnClick natürlich für das Stringgrid definiert ist.
Muss man evtl. "nur" noch andere Ereignisprozeduren angeben? Welche? (OnEnter usw.?)

Gruß
Matthias

Sidorion 19. Mai 2006 16:11

Re: wieder "Kein übergeordnetes Fenster", aber...
 
Imho liegt es daran, dass die StringGrid eine InplaceEditList hat. Und diese ist eben eine (windows) Combo Komponente.
Die (Windows) Combo Komponente hat Strings (die Einträge) und die werden vom BS verwaltet. Windows kann sie aber erst verwalten, wenn diese Combo Komponente ein gültiges Handle hat, und dieses Handle kriegt sie erst beim Setzten eines Parents.
Ähnlich sieht es bei einer normalen ComboBox aus. Die braucht auch ein übergeordnetes Fenster, wenn man in den Einträgen ändern will.

Mattze 19. Mai 2006 17:50

Re: wieder "Kein übergeordnetes Fenster", aber...
 
Hallo,

vielen Dank für die schnelle Antwort.
Also der InplaceEditor. Sch...
Was kann man dagegen machen?
Am besten wohl zum DrawGrid übergehen, oder?

Gruß
Matthias

Sidorion 19. Mai 2006 20:18

Re: wieder "Kein übergeordnetes Fenster", aber...
 
entweder das, oder du lieferst einen anderen InplaceEditor-Nachfolger zurück ... da gibts irgeindwo eine Funktion,die Class Of TInplaceEdit zurückgibt, im Falle der StringList TInplaceEditList. Diese überschrteibst Du dann.

Mattze 19. Mai 2006 20:28

Re: wieder "Kein übergeordnetes Fenster", aber...
 
Hallo,

danke wieder für die schnelle Antwort.
Ich habe das mal mit einem Drawgrid probiert. Geht auch nicht. Wahrscheinlich ist es noch etwas anderes.
Nun mache ich das ganz anders. Da ich ja sowieso "nur" in die Zellen reinmalen wollte, erzeuge ich mir nun in einer Scrollbox soviele entsprechend große Panele, wie ich brauche. (Angeordnet, wie im Stringgrid.) Auf deren Canvas male ich dann, was zu malen ist.
Ich habe es schon mal probiert. Geht ganz gut. Als nächstes muss ich nur noch machen, dass die auch sauber wieder abgeräumt werden. Das hatte ich doch irgendwo mal gemacht...

Tschau
Matthias


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:48 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz