| |
|
|
E.T. | Ich versuch's mal zu erklären : Ich erstelle ein Fenster und möchte darauf div. Elemente ablegen, z.B. Buttons, Groupboxen, ... . Also setze Io l' Fenster-Hintergrund per cls getsyscolor(15) . So passen dann farblich die Buttons, Groupboxen etc. schön auf den Hintergrund. Möchte ich nun z.B. einen schwarzen Fenster-Hintergrund (cls rgb(0,0,0) ), dann sehen darauf erstellte Element einfach Sch... äh ich meine unschön aus: Buttons und erstellte Texte (z.B. auch Titel der Groupbox) haben dann nat. als Hintergrund die Systemfarbe getsyscolor(15). Ein Button hat dann einen schönen runden Rahmen, aber circa diesen hinaus eben auch einen viereckigen Hintergrund.
Mein Gedanke: Könnte man dem eig. Programm nicht irgendwie andere getsyscolor-werte "vorgaukeln", welche dann auch alle anderen Win-Fenster nicht beeinflussen ?? Oder irgendwie eben die von XProfan verwendeten System-Farben beeinflussen, ohne ins System einzugreifen ??
Da fehlt mir irgendwie ein Ansatzpunkt.
... und um einige Antworten vorweg zu nehmen: NEIN, ich möchte nicht jedes Element in seinen Einzelheiten selbst zeichnen müssen und möchte auch keine ext. dll's (skcontrol etc.) nutzen.
Sinn der Sache wäre, die getsyscolor-werte nur per das eigene Programm zu verbiegen, so das diese dann nur von diesem einen XProfan-Programm verwendet werden. |
|
|
| XProfan X3Grüße aus Sachsen... Mario WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte... | 17.05.2016 ▲ |
|
|
|
|
Matthias Arlt | Im Fenster-SubClassing auf WM_CTLCOLORBTN reagieren:
if Msg& = 309'WM_CTLCOLORBTN
return external("USER32","GetSysColorBrush",21)'21=COLOR_3DDKSHADOW
'(oder einen anderen Brush beliebiger Farbe)
Damit geht es, zumindest bei Standard-Buttons, auch im XP-Style.
Ergänzung: Bei der GroupBox und beim RadioButton ist der Schriftbalken ein STATIC. Hier muß also auf WM_CTLCOLORSTATIC (312) reagiert werden.
Saluto Matthias |
|
|
| WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia | 17.05.2016 ▲ |
|
|
|