Delphi-PRAXiS
Seite 1 von 2  1 2      

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 label nach vorne bringen? (https://www.delphipraxis.net/137236-label-nach-vorne-bringen.html)

IIIMADDINIII 16. Jul 2009 22:11


label nach vorne bringen?
 
hallo,

use: Delphi 6

wenn ich ein label und ein image und ein button überlappend aufstelle verschwindet das label hinterm buttom. ich kann auch send to back oder send to front benutzen änden tuts aber nichts. woran liegt dass. das label verschwindet hinter vielen komponenten wie das meno, aber z.b. nicht hinter einem image. Ich bitte um hilfe!!

Matze 16. Jul 2009 22:22

Re: label nach vorne bringen?
 
Hallo,

ich vermute, dass es ohne weiteres einfach nicht geht, ein Label vor einen Button zu bringen. Denn genau genommen ist das auch unsinnig.
Wozu das Ganze? Vielleicht findet sich eine andere Lösung.

Grüße, Matze

IIIMADDINIII 16. Jul 2009 22:26

Re: label nach vorne bringen?
 
es geht ja nicht um den button das war nur ein beispiel.
das label veschwindet hinter vielen komponenten.
hauptzächlich gets darum das ich mir eine komponente schreibe mit einem label array aber die labels werden nicht angezeigt. und weil die labels (wei gesagt) hiter einer menge von komponenten verschwindet denke ich das es daran liegt.

Jens Hartmann 16. Jul 2009 22:34

Re: label nach vorne bringen?
 
Hallo,

vieleicht solltest Du mal schauen, auf welche Komponente das Label gelegt wurde. Ich kenne sowas z.B. wenn man eine Komponente z.B. in eine GroupBox oder so will, dann muss diese auch vor dem einfügen aktiviert sein.

Vieleicht ist beim einfügen eine andere Kompo aktiv, auf die das Label gelegt wird.

Allerdings ein Label vor eine Button wäre unsinn.

Gruß Jens

IIIMADDINIII 16. Jul 2009 22:47

Re: label nach vorne bringen?
 
also meine komponente hat als mother TCustomcontrol und es ist nur ne scrollbar ein image array und das label array.
scrollbar images und labels haben alle die komponente als parent.
image und scrollbar wird richtig sichtbar kreirt und dargestellt. das label wird auch kreirt aber nicht dargestellt. ich habe schon sovieles ausprobiert aber nichts hat geklapt.

Jens Hartmann 16. Jul 2009 22:57

Re: label nach vorne bringen?
 
Wie ist den die Größe von dem Label oder die Caption

IIIMADDINIII 16. Jul 2009 23:05

Re: label nach vorne bringen?
 
die ist relativ.
die komponente ist sozusagen ein imagelist mit text unterm image.
weil man die größe des images ändern kann ändert sich auch die größe vom label die höhe bestimmt das font welches gesetzt worden ist. der text des labels ist dann der name der datei.

himitsu 16. Jul 2009 23:09

Re: label nach vorne bringen?
 
Das Problem ist, das TLabel kein ganz richtiges Control im Sinne von Windows ist,
es ist mehr eine VCL-eigene Pseudokomponente, welche sich auf das Canvas des Parents zeichnet,
darum gibt es z.B. manchmal derartige Probleme.

du könntest es z.B. mal mit TStaticText versuchen, welches das native Label (Static) von Windows kapselt.

IIIMADDINIII 16. Jul 2009 23:12

Re: label nach vorne bringen?
 
ok ich versuch es mal

danke an alle

Medium 17. Jul 2009 04:29

Re: label nach vorne bringen?
 
Alles was nicht irgendwo von TWinControl abgeleitet ist, oder man selbst wissentlich ein Fenster für angelegt hat, zeichnet sich auf den Parent-Canvas. Im Fall der VCL fallen hier vor allem Nachfahren von TGraphicControl ins Auge.
Nachfahren von TWinControl (wie TButton, TMemo, TStaticText etc.) erstellen für sich ein ganz neues Fenster - das hat halt nur keine Borders, ist in ein Parent-Fenster eingegliedert und ist so groß wie die Komponente - aber hier werden dann explizit Ressourcen vom OS für angefordert, und auch ein systemweites Handle vergeben. Nebst einem eigenen Canvas, der sich in die Z-Order des OS eingliedert. TWinControls kann man z.B. von aussen per FindWindow() ausmachen, TGraphicControls nicht, weil sie eben aus Sicht von Windows nicht existieren, und nur Grafik sind. Nicht viel anders als wie wenn du TForm.Canvas.LineTo() o.ä. benutzt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:55 Uhr.
Seite 1 von 2  1 2      

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