Deutsch
Forum

Enable Button erkennen...oder nicht?

 

Alfred
Wagner
Hallo Profaner
Folgendes Problem

Zuerst der Code

$P+
SET(ERRORLEVEL,0)
DEF GETSYSCOLOR(1) !USER32,GetSysColor
DECLARE Ende&,Übernehmen&,CHECKBOX1&

PROC Ende_ONCLICK
GETMESSAGE
If Übernehmen& = 1
@Messagebox(Du hast den Übernehmen Button nicht gedrückt!,Meldung,64)
Else
@Messagebox(Du hast den Übernehmen Button gedrückt!,Meldung,64)
EndIf

ENDE%=1
ENDPROC

PROC Übernehmen_ONCLICK
GETMESSAGE
ENDPROC

PROC CHECKBOX1_ONCLICK
GETMESSAGE
ENDPROC

WINDOWSTYLE 31
WINDOWTITLE Neues Fenster
WINDOW (%maxx/2 - 380/2),(%maxy/2 - 180/2) - 380,180
SET(TRUECOLOR,1)
DECLARE ENDE%
CLS GETSYSCOLOR(15)
USEFONT MS Sans Serif,13,0,0,0,0
SETDIALOGFONT 1

Ende& = CREATE(BUTTON,%HWND,Ende,0275,0100,0070,0022)
Übernehmen& = CREATE(BUTTON,%HWND,Übernehmen,0175,0100,0080,0022)
EnableWindow Übernehmen&,0

CHECKBOX1& = CREATE(CHECKBOX,%HWND,CHECKBOX,0021,0034,0227,0015)

SETFOCUS(%HWND)
WHILENOT ENDE%
WAITINPUT
If %KEY=2
ENDE%= 1
ELSEIF %KEY=4

ELSEIF GETFOCUS(Ende&) Ende
Ende_ONCLICK

ELSEIF GETFOCUS(Übernehmen&) BUTTON
Übernehmen_ONCLICK
ELSEIF GETFOCUS(CHECKBOX1&) CHECKBOX
EnableWindow Übernehmen&,1
ENDIF
ENDWHILE

Hat jemand einen Tip ob der Beenden Button weiß ob der Übernehmen Buttonbetätigt worden ist oder nicht.

Danke schon mal im vorhinein für euere Hilfe

Grüße
Alfred mit Familie
 
WinXP-Home ,XProfan10

Alfreds ... Freeware :  [...] 
22.01.2007  
 




Rolf
Koch
Hi Alfred,
zuerst einmal, wäre lesbarer, wenn Du hier vorgestellten Code in lesbare Form bringst, Code einfügen, markieren und den Rautebutton über dem Eingabefenster hier klicken.
Du hast Übernehmen geschrieben, dies ist in der Programmierung nicht so angebracht, nutze besser Uebernehmen.
Ich hab hier einfach ne neue Variable eingebaut.
Wird der Button angeklickt, so wird diese Variable auf 1 gesetzt und dies bei Beenden abgefragt.
KompilierenMarkierenSeparieren
 $P+
SET("ERRORLEVEL",0)
DEF GETSYSCOLOR(1) !"USER32","GetSysColor"
DECLARE Ende&,Übernehmen&,CHECKBOX1&
Neue Variable
Declare ch_ueber%

PROC Ende_ONCLICK

    GETMESSAGE

    If ch_ueber% = 0

        @Messagebox("Du hast den Übernehmen Button nicht gedrückt!","Meldung",64)

    Else

        @Messagebox("Du hast den Übernehmen Button gedrückt!","Meldung",64)

    EndIf

    ENDE%=1

ENDPROC

PROC Übernehmen_ONCLICK

    GETMESSAGE
    ch_ueber%=1

ENDPROC

PROC CHECKBOX1_ONCLICK

    GETMESSAGE

ENDPROC

WINDOWSTYLE 31
WINDOWTITLE "Neues Fenster"
WINDOW (%maxx/2 - 380/2),(%maxy/2 - 180/2) - 380,180
SET("TRUECOLOR",1)
DECLARE ENDE%
CLS GETSYSCOLOR(15)
USEFONT "MS Sans Serif",13,0,0,0,0
SETDIALOGFONT 1
Ende& = CREATE("BUTTON",%HWND,"Ende",0275,0100,0070,0022)
Übernehmen& = CREATE("BUTTON",%HWND,"Übernehmen",0175,0100,0080,0022)
EnableWindow Übernehmen&,0
CHECKBOX1& = CREATE("CHECKBOX",%HWND,"CHECKBOX",0021,0034,0227,0015)
SETFOCUS(%HWND)

WHILENOT ENDE%

    WAITINPUT

    If %KEY=2

        ENDE%= 1

    ELSEIF %KEY=4

    ELSEIF GETFOCUS(Ende&) Ende

        Ende_ONCLICK

    ELSEIF GETFOCUS(Übernehmen&) BUTTON

        Übernehmen_ONCLICK

    ELSEIF GETFOCUS(CHECKBOX1&) CHECKBOX

        EnableWindow Übernehmen&,1

    ENDIF

ENDWHILE

 
22.01.2007  
 



@Alfred: Man merkt sich einfach ob er gedrückt wurde. Wenn er gedrückt wird setzt man eine beliebige Variable auf einen beliebigen Wert. Diese Variable kann man später abprüfen.

Auch Rolfs Tipp das man Codes in Foren mit ...
KompilierenMarkierenSeparieren
...ummantelt ist ebenso Gold wert. ;)

Umlaute in Quelltexten find ich auch übel.
 
22.01.2007  
 




Alfred
Wagner
Danke Rolf
haut hin
hier mal ein test mit dem rautebutton,habs bisher noch nicht so richtig kapiert,danke
KompilierenMarkierenSeparieren
 $P+
SET("ERRORLEVEL",0)
DEF GETSYSCOLOR(1) !"USER32","GetSysColor"
DECLARE Ende&,Übernehmen&,CHECKBOX1&
Neue Variable
Declare ch_ueber%

PROC Ende_ONCLICK

    GETMESSAGE

    If ch_ueber% = 0

        @Messagebox("Du hast den Übernehmen Button nicht gedrückt!","Meldung",64)

    Else

        @Messagebox("Du hast den Übernehmen Button gedrückt!","Meldung",64)

    EndIf

    ENDE%=1

ENDPROC

PROC Übernehmen_ONCLICK

    GETMESSAGE
    ch_ueber%=1

ENDPROC

PROC CHECKBOX1_ONCLICK

    GETMESSAGE

ENDPROC

WINDOWSTYLE 31
WINDOWTITLE "Neues Fenster"
WINDOW (%maxx/2 - 380/2),(%maxy/2 - 180/2) - 380,180
SET("TRUECOLOR",1)
DECLARE ENDE%
CLS GETSYSCOLOR(15)
USEFONT "MS Sans Serif",13,0,0,0,0
SETDIALOGFONT 1
Ende& = CREATE("BUTTON",%HWND,"Ende",0275,0100,0070,0022)
Übernehmen& = CREATE("BUTTON",%HWND,"Übernehmen",0175,0100,0080,0022)
EnableWindow Übernehmen&,0
CHECKBOX1& = CREATE("CHECKBOX",%HWND,"CHECKBOX",0021,0034,0227,0015)
SETFOCUS(%HWND)

WHILENOT ENDE%

    WAITINPUT

    If %KEY=2

        ENDE%= 1

    ELSEIF %KEY=4

    ELSEIF GETFOCUS(Ende&)Ende

        Ende_ONCLICK

    ELSEIF GETFOCUS(Übernehmen&)BUTTON

        Übernehmen_ONCLICK

    ELSEIF GETFOCUS(CHECKBOX1&)CHECKBOX

        EnableWindow Übernehmen&,1

    ENDIF

ENDWHILE


hoffe hat geklappt

noch eine Frage
wieso sollte mann nicht übernehmen nehmen im code ?

Grüße
Alfred mit Familie
 
WinXP-Home ,XProfan10

Alfreds ... Freeware :  [...] 
22.01.2007  
 



Ich hab Dein Posting mal überarbeitet - klicke einfach auf Editieren unter Deinem Posting dann siehst Du was ich geändert habe.
 
22.01.2007  
 



Umlaute sind ganz einfach Sonderzeichen, Roland erlaubt diese - aber empfohlen sind sie nicht.

Natürlich betrifft das keine Stringinhalte!

Ein S$=Hallo hier rüber ist natürlich ok!

Ein VieleÄpfel&=50 wird aber nicht empfohlen.

Du kannst auch später mal Probleme deshalb bekommen - z.B. wenn Du die IDE wechselst. Je nach dem in welchem Format Du die Textdatei abspeicherst können Umlaute auf einmal andere Bytewerte bekommen. Das wiederum könnte dazu führen das der XProfankompiler auf einmal doch nicht mehr damit klar kommt.
 
22.01.2007  
 




Alfred
Wagner
danke euch beiden

noch mal ein test für den nächsten code
KompilierenMarkierenSeparieren
habe immer gedacht der quelltext gehört zwischen den klammern von code!
aber code bedeutet anfang und /codeende.

na ja bis man mals kapiert hat,dauerts eben ein wenig

danke nochmal

Güße
Alfred mit Familie
 
WinXP-Home ,XProfan10

Alfreds ... Freeware :  [...] 
22.01.2007  
 



Klar gerne geschehen, Du kannst übrigens *reusper* Dein obiges Posting editieren und nachträglich das Code setzen - damits nicht so schlimm aussieht.
 
22.01.2007  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

2.053 Betrachtungen

Unbenanntvor 0 min.
H.Brill10.01.2019

Themeninformationen

Dieses Thema hat 3 Teilnehmer:

iF (4x)
Alfred Wagner (3x)
Rolf Koch (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie