ComboBox ... Farbänderung???

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Xaby
Beiträge: 2144
Registriert: 12.11.2005 11:29
Wohnort: Berlin + Zehdenick
Kontaktdaten:

ComboBox ... Farbänderung???

Beitrag von Xaby »

Scheinbar kann ich weder mit SetGadgetColor () noch mit SetGadgetItemColor ... die Farbe eines ComboBoxGadgets bestimmen. ...

Wie kann ich Vorder und Hintergrundfarbe bei einem ComboBoxGadget ändern?

Gruß, Folker :allright:
Kinder an die Macht http://scratch.mit.edu/
Benutzeravatar
Kiffi
Beiträge: 10711
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: ComboBox ... Farbänderung???

Beitrag von Kiffi »

Xaby hat geschrieben:Wie kann ich Vorder und Hintergrundfarbe bei einem ComboBoxGadget ändern?
beispielsweise mit der PureCOLOR-Lib von gnozal:

http://www.purebasic.fr/english/viewtop ... 2477#72477

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
Shardik
Beiträge: 746
Registriert: 25.01.2005 12:19

Beitrag von Shardik »

Im englischen Forum haben Sparkie und srod zwei Beispiele (für PB 3) veröffentlicht:
http://www.purebasic.fr/english/viewtop ... 26&start=2
http://www.purebasic.fr/english/viewtop ... 26&start=6
Benutzeravatar
Xaby
Beiträge: 2144
Registriert: 12.11.2005 11:29
Wohnort: Berlin + Zehdenick
Kontaktdaten:

Beitrag von Xaby »

Verstehe ... na ob das mal in einer Version PB V. 4.1 drin sein wird ... :?
Kinder an die Macht http://scratch.mit.edu/
Benutzeravatar
dysti
Beiträge: 656
Registriert: 10.02.2006 18:34
Wohnort: Schlicktown

Beitrag von dysti »

@Xaby, angepasst für PB 4.x :o

Code: Alles auswählen

Global oldcombproc, BackBrush
BackBrush = CreateSolidBrush_(#Blue)

Procedure ComboCallBack( hWnd.l, Message.l, wParam.l, lParam.l )

 
  If (Message = #WM_CTLCOLOREDIT) Or (Message = #WM_CTLCOLORLISTBOX)
   
      SetBkMode_(wParam,#TRANSPARENT)
      SetTextColor_(wParam,#Red)
      SetBkColor_(wParam,#Blue)
      Result = BackBrush
  Else
    Result.l = CallWindowProc_(oldcombproc, hWnd, Message, wParam, lParam )
  EndIf
 
  ProcedureReturn Result
 
EndProcedure


OpenWindow( 0, 200,400,200,100, "Colorisation et Callback", #PB_Window_SystemMenu )

CreateGadgetList( WindowID(0) )
ComboBoxGadget( 1, 10, 10, 180, 120, #PB_ComboBox_Editable )

  AddGadgetItem(1, -1, "123" )
  AddGadgetItem(1, -1, "456" )
  AddGadgetItem(1, -1, "789" )
  SetGadgetState(1,0)
 
oldcombproc = SetWindowLong_(GadgetID(1), #GWL_WNDPROC, @ComboCallBack())

Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
End
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9
Antworten