Das OFFIZIELLE PROFAN SUPPORT FORUM
Einsteigerfragen
PROFAN-Programmierung
Helfer & Tools
Anregungen & Vorschläge
PROFAN-NEWS
Die Regeln!
2 - PROFAN-Programmierung

 Neues Thema  |  Zur Übersicht  |  Suchen  |  Einloggen   Vorherige Nachricht  |  Nächste Nachricht 
 Re: Farbiger Button ?
Autor: Heinz Brill (---.dip0.t-ipconnect.de)
Datum:   06.01.18 14:38

Sowas :
 $H Windows.ph
 $H Messages.ph
 
 Set("FastMode",1)
 
 Declare Handle bildbutton1, bildbutton2, Edit1, Edit2
 Declare Long ende
 Declare brush&, OldWindowProc&
 
 ende = 0
 
 Window 600, 400
 bildbutton1 = Create("ColorButton", %HWnd, "Test 1", RGB(255, 0, 0), RGB(255, 255, 255), 10, 10, 80, 25)
 bildbutton2 = Create("ColorButton", %HWnd, "Ende",   RGB(0, 255, 0), RGB(0, 0, 255), 10, 50, 80, 25)
 Edit1       = Create("Edit", %HWnd, "", 10, 100, 120, 25)
 Sendmessage(Edit1, ~WM_SETFONT, ~GetStockObject(~DEFAULT_GUI_FONT), 1)
 Edit2       = Create("Edit", %HWnd, "", 10, 130, 240, 25)
 Sendmessage(Edit2, ~WM_SETFONT, ~GetStockObject(~DEFAULT_GUI_FONT), 1)
 
 OldWindowProc& = ~SetWindowLong(%hwnd,~GWL_WNDPROC, ProcAddr(WindowProc,4))
 
 WhileNot ende
    WaitInput
    If Clicked(bildbutton1)
       MessageBox("Roter Button geklickt !", "Info", 0)
    ElseIf Clicked(bildbutton2)
       ende = 1
    EndIf
    Case %Key = 2 : ende = 1
 EndWhile
 Set("FastMode", 0)
 End
 
 SubProc Create.ColorButton
 Parameters Handle hWin, String s, Long hgrund, textfarbe, x1, y1, x2, y2
 Declare Long dx, dy, Handle hpic
 dy = (y2 - y1) + 10
 dx = x2 - Len(s)
 MCls x2, y2, hgrund
 StartPaint -1
    TextColor textfarbe, -1
    DrawText 10, 5, s
 EndPaint
 hpic = Create("hPic", 0, "&MEMBMP")
 Return Create("PicButton", hWin, hpic, x1, y1, x2, y2)
 EndProc
 
 PROC SetColor
 Parameters col&,bk&,wParam&
 IF Brush&
    ~DeleteObject(Brush&)
 Endif
 Brush& = ~CreateSolidBrush(bk&)
 ~SetBkMode(wParam&, ~TRANSPARENT)
 ~SetTextColor(wParam&,col&)
 Return Brush&
 Endproc
 
 Proc WindowProc
 Parameters Wnd&, Msg&, wParam&, lParam&
 If Msg& = ~WM_CTLCOLOREDIT
    If lParam& = Edit1
       Return SetColor(rgb(0,0,0),rgb(255,255,0),wParam&) ' Hier Farbe Edit1 ändern (2. RGB-Wert) - GELB
    ElseIf lParam& = Edit2
       Return SetColor(rgb(0,0,0),rgb(0,255, 0),wParam&)   ' Hier Farbe Edit2 ändern (2. RGB-Wert) - GRÜN
    Endif
 EndIf
 Return ~CallWindowProc(OldWindowproc&,Wnd&, Msg&, WParam&, LParam&)
 Endproc
 
 
 


Das Einfärben eines Edit-Controls geht halt nur mit SubClassing.

H.Brill
XProfan X4 + FreeProfan

Nachricht bearbeitet (06.01.18 15:15)

 Beitrag beantworten  |  Foren-Liste  |  Alle Antworten   Neuerer Beitrag  |  Älteres Thema 

 Beiträge Autor  Datum
 Farbiger Button ?  Neu
a. hurler 06.01.18 11:37 
 Re: Farbiger Button ?  Neu
Jürgen Albrecht 06.01.18 12:23 
 Re: Farbiger Button ?  Neu
a. hurler 14.01.18 21:35 
 Re: Farbiger Button ?  Neu
Heinz Brill 06.01.18 14:38 
 Re: Farbiger Button ?  Neu
a. hurler 14.01.18 21:37 


 Foren-Liste  |  Zur Registrierung 
 Benutzerlogin
 Benutzername:
 Passwort:
 Login-Daten speichern:
   
 Passwort vergessen?
E-Mail-Adresse oder Username unten eingeben. Dann wird Dir per e-Mail ein neues Passwort zugeschickt.

phorum.org