Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi BS_FLAT nicht mit XP-Theming? (https://www.delphipraxis.net/140623-bs_flat-nicht-mit-xp-theming.html)

Mithrandir 22. Sep 2009 12:13


BS_FLAT nicht mit XP-Theming?
 
Irgendwie hakt's gerade:

Ich erstelle so (non-vcl!)

Zitat:

hwndAddTeaBtn := CreateWindowEx(0,'BUTTON', '+',
WS_VISIBLE or WS_CHILD or BS_FLAT, 8, 81, 23, 22, hwndTeaListControlGbx,
IDC_ADDTEABTN, hInstance, nil);
eine Schaltfläche mit dem Stil BS_FLAT. Allerdings wird sie wie ein ganz normaler, kleiner Button angezeigt. Weiß jemand, wie ich den Button "flach" bekomme, wie man es von der VCL-Komponente "TSpeedButton" kennt?

XP-Manifest ist übrigens eingebunden, Parent ist eine GroupBox.

uligerhardt 22. Sep 2009 14:10

Re: BS_FLAT nicht mit XP-Theming?
 
Zitat:

Zitat von Daniel G
Weiß jemand, wie ich den Button "flach" bekomme, wie man es von der VCL-Komponente "TSpeedButton" kennt?

Vermutlich nur per OwnerDrawing. Schau dir TSpeedButton.Paint an - die VCL benutzt bei flachen Speedbuttons die Theming-API für Toolbuttons.

Mithrandir 22. Sep 2009 16:40

Re: BS_FLAT nicht mit XP-Theming?
 
Hm, das habe ich fast befürchtet. Danke für den Hinweis. Mal sehen, ob ich das dann noch umsetze...

Bernhard Geyer 22. Sep 2009 16:58

Re: BS_FLAT nicht mit XP-Theming?
 
Man kann per API-Befehl XP-Theming für einzelne Controls abschalten.
Funktionsname müsstest du hier im Forum finden.

uligerhardt 22. Sep 2009 17:00

Re: BS_FLAT nicht mit XP-Theming?
 
Ich hab's grad mal ohne Themes ausprobiert: Ein API-Button mit BS_FLAT schaut doch eh ganz anders aus als ein ToolButton/flacher SpeedButton?

Mithrandir 24. Sep 2009 11:58

Re: BS_FLAT nicht mit XP-Theming?
 
Hi,

stimmt, der sieht in der Tat anders aus. Was mich auch stört: Wenn ich dem Button ein Icon zuweise und dann den Button "deaktiviere", habe ich keine Möglichkeit, ein graues Bild zu zeigen. Außerdem wird der Button mit zugewiesenem Icon in dem alten Stil gezeichnet.

Vermutlich werde ich doch alles selbst zeichnen müssen... :roll: :wall:

uligerhardt 24. Sep 2009 12:26

Re: BS_FLAT nicht mit XP-Theming?
 
Zitat:

Zitat von Daniel G
Vermutlich werde ich doch alles selbst zeichnen müssen... :roll: :wall:

Kannst du nicht nen Toolbutton nehmen?

Mithrandir 24. Sep 2009 13:07

Re: BS_FLAT nicht mit XP-Theming?
 
Toolbuttons gibts doch nur in ner Toolbar, oder? :gruebel:

uligerhardt 24. Sep 2009 14:06

Re: BS_FLAT nicht mit XP-Theming?
 
Zitat:

Zitat von Daniel G
Toolbuttons gibts doch nur in ner Toolbar, oder? :gruebel:

Du sagst es. Also ne Toolbar mit genau einem Button an die richtige Stelle auf die Form pappen. Funktioniert zumindest bei Non-Non-VCL hervorragend. ;)

Mithrandir 24. Sep 2009 15:35

Re: BS_FLAT nicht mit XP-Theming?
 
Siehst, und did is dat Problem: Die CreateWindow-Prozedur ignoriert gekonnt alle Höhen-, Breite- und wat weiß ich für Positionsangaben. :mrgreen:


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