Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Objekt nach vorne setzen.


maze2k - Mo 29.09.03 20:13
Titel: Objekt nach vorne setzen.
Hi, ich bin's mal wieder...

ich habe in meinem Projekt verschiedene Objekte (1 TRichEdit + 1 TStringGrid). an beiden habe ich rechts unten ein kleines TShape hingemacht.
Dieses TShape kann man dann ziehen, damit sich die Größe des RichEdits bzw. des StringGrids ändert.

Das funktioniert auch alles wunderbar, jedoch wenn eine der Shapes hinter ein anderes Objekt kommt, dann verschwindet es dahinter. Auch mit nach-vorne setzen kommen ich nicht weiter, denn ich habe ja zwei Objekte die vergrößert/-kleinert werden können.

Gibt es in Delphi eine Funktion bzw. hat jemand ein Script, mit dem ich diese Objekte (also z.B. Shape 1 + RichEdit oder Shape 2 + StringGrid) nach vorne setzen kann? (z.B. beim Onclick-Event des Grids oder des RichEdits)

Weiss jemand was?

Gruß, Matthias


maze2k - Mo 29.09.03 20:39

Nachtrag:
Mir ist gerade eingefallen, dass ich über die Koordinaten und die Width / Height des RichEdits und des Grids auch die unteren rechten Ecken ansprechen kann, also

Delphi-Quelltext
1:
2:
3:
4:
if (x = RichEdit.Left + RichEdit.Width) and (y = RichEdit.Top + RichEdit.Height) then 
begin
  ...
end;

Aber da muss ich jeweils noch + - 3 oder 5 Pixel machen, denn wer trifft schon genau die Ecke *g* Naja und das is dann halt ne riesige Code-Wurscht... Gibts da nix einfacheres?

Gruß, Matthias


Klabautermann - Di 30.09.03 09:49

Hallo,

das Shape verschwindet hinter einigen anderen Condrols, da es von deinem Programm gezeichnet werden, die anderen Controls von Windows. Denn windows zeichnet die Dinge, die gekapzelte API "Objekte" sind, also z.B. Edits, Listbox usw.

Gruß
Klabautermann


maze2k - Di 30.09.03 18:13

Ok, das wusste ich noch nich,
aber gibt es eine Möglichkeit die Shape nach vorne, vor ein anderes API Objekt, zu setzen?
Bei den anderen Objekten geht ja BringToFront...
Gruß, Matthias


maze2k - Mo 06.10.03 17:23

Ich frag einfach nochmal...gibt es eine Möglichkeit, eine TShape vor ein z.B. Edit-Feld zu setzen?

BringToFront funktioniert dabei nich...