Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Keine Handles? (https://www.delphipraxis.net/55320-keine-handles.html)

Rastaman 19. Okt 2005 15:13


Keine Handles?
 
Moin!
Also ich würd gern wissen, warum z.B die Buttons etc. bei Winamp keine Handles haben :gruebel:
Ist das so, dass Winamp die Mauskoordinaten abfragt und sich immer komplett neu zeichnet?
Auch innem Browser kommt man nicht an die Handles von Buttons ran (nich dass ich wüsste).
Kann man das auch selber machen? Das wäre in manchen Fällen sehr praktisch, wenn z.B ein Button deaktiviert bleiben soll.
Dann kann jeder schnell ans Handle kommen und ihn aktivieren etc.

Würd ich ma gern gewusst haben :mrgreen:

Neutral General 19. Okt 2005 15:35

Re: Keine Handles?
 
Mh.. du könntest dir vielleicht eine Komponente von TImage oder TGraphicControl ableiten die dann ähnlich wie ein Button funktioniert. Zumindest Images haben kein Handel. Bei TGraphicControl bin ich mir nicht sicher. Dürfte aber normalerweise auch keins haben.. sonst müsste da ja irgendwas nicht mit vererbt worden sein :mrgreen:

Vielleicht hats Winamp auch so (ähnlich) gemacht. ka.

shmia 19. Okt 2005 16:59

Re: Keine Handles?
 
Zitat:

Zitat von Rastaman
Also ich würd gern wissen, warum z.B die Buttons etc. bei Winamp keine Handles haben :gruebel:
Ist das so, dass Winamp die Mauskoordinaten abfragt und sich immer komplett neu zeichnet?

Ohne jetzt WinAmp intern genau zu kennen würde ich sagen:
Da Winamp Skins unterstützt gibt es keine "normalen" Buttons, sondern ein Mausklick in einer
bestimmten Region führt zu einer vordefinierten Aktion (Play, Stop, ..).

SirThornberry 19. Okt 2005 17:11

Re: Keine Handles?
 
du kannst die Buttons von Winamp mit TControls unter Delphi vergleichen, auch diese haben kein Handle und malen sich auf die Canvas des Parents. Wenn du dir mal TSpeedButton anschaust so wirst du sehen das auch dieser kein Handle hat, allerdings sieht er trotzdem wie ein normaler Button aus.

Rastaman 19. Okt 2005 17:16

Re: Keine Handles?
 
Wie ist das denn möglich?
Dachte jedes noch so kleine Fenster hat n Handle?
TLabel hat auch kein Handle, STATIC aber schon. Die können doch nich sagen von Borland "So, Label bekommt kein Handle" und es hat tatsächlich keines?

Neutral General 19. Okt 2005 17:25

Re: Keine Handles?
 
Ich schätze ma das ein Handle für manche Controls halt unnötig wäre... Keine Ahnung warum. Frag doch Borland :mrgreen:

Ich bin aber auch grad am überlegen. Weil Static und Label sind vom Aussehen her ja fast das Gleiche...
mh.. naja das wird schon irgendwie seinen Sinn haben :D

Luckie 19. Okt 2005 17:27

Re: Keine Handles?
 
Alle von TGraphicControl abgeleiteten Controls haben kein Handle, da sie direkt auf den Canvas des Parents gezeichnet werden. Controls, die nativen Windows Controls kapseln oder von TWinControl abstammen haben ein Handle.

Wo ist jetzt dein Problem?

Neutral General 19. Okt 2005 17:28

Re: Keine Handles?
 
Er fragt sich halt warum manche Controls Handles haben und manche nicht. (Frag ich mich eigentlich auch grad). Das es solche Controls gibt weiß er ja jetzt nur die Frage ist halt waruuum... *g*

mirage228 19. Okt 2005 17:30

Re: Keine Handles?
 
Wenn Du ein Label mit Handle haben möchtest, dann nimm doch einfach TStaticText :zwinker:
Dass TLabel kein Handle ist noch ein Überbleibsel aus 16bit Zeiten, wo man noch nicht so viele Ressourcen hatte, um sehr viele WinControls (u.dgl.) darzustellen.

mfG
mirage228

SirThornberry 19. Okt 2005 17:36

Re: Keine Handles?
 
Controls ohne Handle haben den Vorteil das Sie flexibler in Sachen Transparenz sind. Nicht umsonst heißt die Basisklasse für Controls ohne Handle TGraphicControl. Wenn du schonmal versucht hast Transparenz bei Controls mit Handle hinzubekommen wirst du sicher bemerkt haben das es schwer bis unmöglich ist. Und wenn du dann noch mit halbtransparenz arbeiten willst (alpha) dann kannst du gleich aufgeben. Die Windowsfenster unterstützen von Haus aus keine Halbtransparenz (außer das TopLevel Fenster und dann wirds auf die unteren "vererbt"). Wenn man also grafische Contols haben will die halbtransparent sind (so das man den Untergrund durchsehen kann) dann kommt man eigentlich nicht um Controls ohne Handle herum.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:12 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