Hallo,
ich versuche verzweifelt den Farbwert der Hintergrundfarbe einer XbpTabpage korrekt zu ermitteln.
Diese Farbe brauch ich, um selbst etwas auf die TabPage zu pinseln.
Randbedingungen:
Windows 11
Visualstyles ist aktiv, also oTab:useVisualStyle = .T.
oTab:setColorBG() liefert -34 (XBPSYSCLR_DIALOGBACKGROUND)
GraGetRGBIntensity( TranslateSysColor( -34 ) ) liefert mir RGB( 240,240,240), #F0F0F0.
Das wäre die korrekte Farbe, wenn oTab:useVisualStyle = .F.
Korrekt wäre aber RGB( 249,249,249), #F9F9F9 (gemäß eines Colorpickers).
Ich habe schon alle XBPSYSCLR_* durchgeforste. Keine liefert mir den Wert RGB( 240,240,240), #F0F0F0.
Auch kein Farbe per GetSysColor(user32.dll) liefert mir diesen Farbwert.
Ungern würde ich den Farbewert fest in meinem Code hinterlegen.
Hintergrundfarbe XbpTabpage
Moderator: Moderatoren
- AUGE_OHR
- Marvin
- Beiträge: 12911
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Hintergrundfarbe XbpTabpage
hi Stefan,
versuche es mal mit
da 0,0 für "Transparency" genutzt wird würde ich 2.2 als Position nehmen
p.s. "Visual" Style muss abgeschaltet sein
versuche es mal mit
Code: Alles auswählen
DLLFUNCTION GetPixel( hdc, x, y ) USING STDCALL FROM GDI32.DLL
DLLFUNCTION GetWindowDC( hwnd ) USING STDCALL FROM USER32.DLL
DLLFUNCTION ReleaseDC( nHWND, nHDC ) USING STDCALL FROM USER32.DLL
hWnd:= oTabpage:getHWND()
hDC := GetWindowDC( hWnd )
nColor := GetPixel(hDC, nX, nY)
ReleaseDC( hWnd, hDC )
p.s. "Visual" Style muss abgeschaltet sein
Code: Alles auswählen
oTabpage:useVisualStyle := .F.
gruss by OHR
Jimmy
Jimmy
- ssemleit
- Rekursionen-Architekt
- Beiträge: 133
- Registriert: Di, 08. Mär 2016 11:32
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 9 Mal
Re: Hintergrundfarbe XbpTabpage
Hallo Jimmy,
danke für Deinen Verschlag.
Das kommt einem selbst gemachten Colorpicker gleich.
Da ich die Farbe bereits beim Erzeugen der Elemente benötige, also bevor die Page sichtbar ist, ist das für mich nicht praktikabel.
Wenn ich oTabpage:useVisualStyle auf .F. setze, dann könnte ich die Farbe der Page auch auf den gleichen festen Wert setzen
und hätte dadurch ein stimmiges Erscheinungsbild. Mal sehen.
danke für Deinen Verschlag.
Das kommt einem selbst gemachten Colorpicker gleich.
Da ich die Farbe bereits beim Erzeugen der Elemente benötige, also bevor die Page sichtbar ist, ist das für mich nicht praktikabel.
Wenn ich oTabpage:useVisualStyle auf .F. setze, dann könnte ich die Farbe der Page auch auf den gleichen festen Wert setzen
und hätte dadurch ein stimmiges Erscheinungsbild. Mal sehen.
Gruß
Stefan
Stefan