Button "Ein" und wieder "Aus" schalten?
Übersicht

![]() |
EPSBetreff: Button "Ein" und wieder "Aus" schalten? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi zusammen,
ist es möglich - auch mit API - einem normalen Button zu verklickern das er sich wie eine CheckBox verhält, man ihn also beim ersten mal anklicken "Ein" schaltet und beim zweiten mal anklicken "Aus" schaltet? In meinen eigenen Versuchen bin ich nämlich gescheitert und ich hab nirgends was dazu gefunden. BTW. Ihn manuell "Ein" bzw. "Auszuschalten" hab ich herausgefunden. Dies geht per: api_SendMessage( QueryObject( btn, 1 ) , BM_SETSTATE.... Allerdings muß ich hierbei den momentanen Status selbst erfassen da man diesen nicht abfragen kann. Wäre bei einem Button nicht so schlimm, aber bei mehreren ziemlich doof. Da müsste man wieder mit Types oder Arrays arbeiten etc. Desweiteren ergibt sich hierbei das Problem das man zwar auf den Button klicken, dann aber die Maus wegbewegen kann. Wobei sich zwar das Aussehen des Buttons ändert, jedoch nicht der Status verändert wird - da ja kein Event ausgelöst wurde. Was wiederum bedeutet das der Button nun z.B. ausgeschaltet aussieht, jedoch noch immer eingeschaltet ist. Daher wäre es wesentlich einfacher wenn Windows das vielleicht ganz von sich kann. Danke schonmal |
||
mGUI - Graphical User Interface für Blitz3D...Informationen gibt es hier
Man kann sich öfter als zweimal im Leben halb tot lachen. |
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
bei createbutton:
![]() ![]() ![]() oder willst du einen normalen button in gedrückter position malen ich glaub da kommt man um n canvas dingens net rum |
||
ChristianK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Doch, kommt man.
Allerdings muss man dafür BlitzPlus "austricksen", denn normalerweise werden Checkboxen und Radiobuttons nicht von Windows umgeschaltet. Das muss das Programm selbst machen. Erstelle also eine Checkbox ( damit BlitzPlus das Umschalten übernimmt ) und füge mit SetWindowLong den Stil BS_PUSHLIKE hinzu. Code: [AUSKLAPPEN] Local prev_long = GetWindowLongA( hwnd, GWL_STYLE )
SetWindowLongA( hwnd, GWL_STYLE, prev_long Or BS_PUSHLIKE ) |
||
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT |
![]() |
EPS |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hey, funzt an sich ganz gut. Nur beim ersten Start sieht es noch wie eine CheckBox aus. Muß bzw. kann man da noch eine Art ReDraw auslösen damit es gleich wie ein Button aussieht? | ||
mGUI - Graphical User Interface für Blitz3D...Informationen gibt es hier
Man kann sich öfter als zweimal im Leben halb tot lachen. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group