Checkbox Text Hintergrund

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
udg
Beiträge: 560
Registriert: 20.06.2013 23:27

Checkbox Text Hintergrund

Beitrag von udg »

Eine Frage,

gibt es inzwischen eine Möglichkeit, dass man die Hintergrundfarbe eines Checkbox Gadget Textes ändern kann?

ich hab ein Beispiel aber es ist nicht zufrieden stellend und ausserdem, soviel Code notwendig?

Code: Alles auswählen

Global GadgetFrg=#Black, GadgetBkg = CreateSolidBrush_(#Green)

Procedure WindowProc(hWnd, Msg, wParam, lParam)
  result = #PB_ProcessPureBasicEvents
  If Msg=#WM_CTLCOLORSTATIC
    If GetDlgCtrlID_(lparam) = 1
      SetBkMode_(wParam,#TRANSPARENT)
      SetTextColor_(wParam,GadgetFrg)
      result = GadgetBkg
    EndIf
  EndIf
  ProcedureReturn result
EndProcedure

OpenWindow(0,0,0,260,160,"test",#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)


CheckBoxGadget(1,10,20,245,20,"Checkbox gadget with a green background")
CheckBoxGadget(2,10,40,245,20,"Checkbox gadget with a green background")
SetWindowCallback(@WindowProc())
Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow

DeleteObject_(GadgetBkg)
die zweite Checkbox bekommt kein grün? hmm

Grüße
PB v5.43 LTS + v6.02 LTS | Windows 7 x86 + 11 x64 - Gforce RTX 4090 - AMD Ryzen 9 5900X 12-Core Processor 4.2 GHz - 64,0 GB RAM,
ASUSTEK TUF Gaming X570 Plus
ASUS ROG Thor-1200P Platinum (1200W, Aura Sync, OLED Display, 0dB-Cooling)
1x 1 TByte Samsung MZ-V7S500BW 970 EVO Plus 1 TB NVMe M.2 Internal SSD
1x 2 TByte Samsung MZ-V7S2T0BW 970 EVO Plus 2 TB NVMe M.2 Internal SSD
von BiSONTE! TOP. Kauft Eure Hardware gern bei ihm.
Monitor:
LG 38GL950G-B 95 (38 Zoll) Ultragear Curved 21: 9 UltraWide QHD IPS
Benutzeravatar
Mijikai
Beiträge: 754
Registriert: 25.09.2016 01:42

Re: Checkbox Text Hintergrund

Beitrag von Mijikai »

Beide grün:

Code: Alles auswählen

Global GadgetFrg=#Black, GadgetBkg = CreateSolidBrush_(#Green)

Procedure WindowProc(hWnd, Msg, wParam, lParam)
  Protected dia.i
  If Msg=#WM_CTLCOLORSTATIC
    dia = GetDlgCtrlID_(lparam)
    If dia = 1 Or dia = 2
      SetBkMode_(wParam,#TRANSPARENT)
      SetTextColor_(wParam,GadgetFrg)
      ProcedureReturn GadgetBkg
    EndIf
  EndIf
  ProcedureReturn #PB_ProcessPureBasicEvents 
EndProcedure

OpenWindow(0,0,0,260,160,"test",#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
CheckBoxGadget(1,10,20,245,20,"Checkbox gadget with a green background")
CheckBoxGadget(2,10,40,245,20,"Checkbox gadget with a green background")
SetWindowCallback(@WindowProc())
Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow
DeleteObject_(GadgetBkg)
Benutzeravatar
udg
Beiträge: 560
Registriert: 20.06.2013 23:27

Re: Checkbox Text Hintergrund

Beitrag von udg »

:allright:

danke für den fix.
nun kann ich meine 13 checkboxen anpassen

prima
PB v5.43 LTS + v6.02 LTS | Windows 7 x86 + 11 x64 - Gforce RTX 4090 - AMD Ryzen 9 5900X 12-Core Processor 4.2 GHz - 64,0 GB RAM,
ASUSTEK TUF Gaming X570 Plus
ASUS ROG Thor-1200P Platinum (1200W, Aura Sync, OLED Display, 0dB-Cooling)
1x 1 TByte Samsung MZ-V7S500BW 970 EVO Plus 1 TB NVMe M.2 Internal SSD
1x 2 TByte Samsung MZ-V7S2T0BW 970 EVO Plus 2 TB NVMe M.2 Internal SSD
von BiSONTE! TOP. Kauft Eure Hardware gern bei ihm.
Monitor:
LG 38GL950G-B 95 (38 Zoll) Ultragear Curved 21: 9 UltraWide QHD IPS
Benutzeravatar
HeX0R
Beiträge: 2954
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2
Kontaktdaten:

Re: Checkbox Text Hintergrund

Beitrag von HeX0R »

Die Textfarbe wird so übrigens nicht verändert!
Dazu müsste man "Moderne Themen Unterstützung" in den Compileroptionen deaktivieren, was eher niemand macht.
Irgendwo geistert noch ein Beispiel von FluidByte hier rum, das ginge auch mit der o.g. Option.
Antworten