English
Forum

ButtonClick inquire

 

Thorsten
Friedrichs
Hi,

How asks one on the sichersten ex whether a Button [create(button...)] klicked watts?

Greeting
Thorsten
 
------------------------------------------------------------------------------------------
XProfan 9/Win98&undWinXP/PRFellow/ TCP.DLL
Profaner seit 4.5 /einige Jahre (mit Programmierpausen)
10/04/04  
 




Rolf
Koch
Hi Thorsten,

in the normalfall naturally by
CompileMarkSeparation
Rolf
 
10/04/04  
 



Hello Rolf...

i think time, very the wished it not having. @GETFOCUS supply only back, whether a Button a Focus has, not whether it pressed watts.
I take moreover:
CompileMarkSeparation
If @gt(@sendmessage(Button_1%,$00F2,0,0),40)

    ...

ElseIf @gt(@sendmessage(Button_2%,$00F2,0,0),40)

    ...

/a>

yet rather would it, whom Button over @CONTROL self To produce and of/ one ID To slip. These ID You can then over %MENUITEM inquire and SETMENUITEM 0 again zurücksetzen (Beispielcode here in the Forum under Source code).
 
10/04/04  
 




Andreas
Miethe


[quote:3cde066f52=AH]
yet rather would it, whom Button over @CONTROL self To produce and of/ one ID To slip. These ID You can then over %MENUITEM inquire and SETMENUITEM 0
again zurücksetzen (Beispielcode here in the Forum under Source code).[/quote:3cde066f52]
the goes too with Create(Button...), a ID get the Button too. started with 1000 go each Controls The with Create(..) prepares go with of/ one aufsteigenden ID slip.

example :
CompileMarkSeparation
 $H windows.ph
Declare Ende&,Button&
cls
Button& = Create("BUTTON",%hwnd,"OK",10,10,80,24)

Whilenot ende&

    Waitinput

    If ~GetDlgItem(%hwnd,%MenuItem*-1) = Button&

        Print "Hoppla"

    Endif

Gruss
Andreas
________ ________ ________ ________ _
Profan 3.3 - XProfanX2
Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit
ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher
Homepage :  [...] 
10/04/04  
 



Hello Andreas...

completely correctly.! mere comes then something Rechnerei moreover - particularly if one a great many Buttons in seinem Program prepares has and additional yet with @CREATETEXT operates becomes the whole very unübersichtlich. with @CONTROL can itself each Control a Special ID allocate, with @CREATEBUTTON becomes this automatically of Profan done (aufsteigende IDs ex 2000 go give away, if i remember rightly).
here once more what to demonstration from of my Kramkiste:
CompileMarkSeparation
WINDOWSTYLE 31
WINDOWTITLE "Hauptprogramm"
WINDOW 0,0-640,440
Declare DIALOG&,Button&,message&,Window&,Dialogtext$,ENDE&,Zeit$,Zähler&
Declare Listbox&

PROC Messagefenster

    PARAMETERS Überschrift$,Text$ Überschrift$ identifiziert das geschlossene Fenster, Text$ ist ein Meldungstext
    WINDOWSTYLE 16 Fenster ohne Menü
    Am Aussehen läßt sich bestimmt noch eine Menge verbessern..
    Let Dialogtext$="Hinweis von Hauptprogramm " Wichtig, um zu erkennen, ob ein Dialogfensterbutton gedrückt wurde
    LET DIALOG&=@Create("Window",%Desktop,@add$(Dialogtext$,Überschrift$),0,0,300,110) Erstellung des Dialoges auf dem Desktop
    @Create("Button",Dialog&,"OK",100,50,80,25) Button zum Wegklicken
    @create("Text",,Dialog&,TEXT$,0,0,300,40) Meldungstext
    SetWindowPos Dialog&=@rnd(@sub(%MAXX,300)),@rnd(@sub(%MAXY,110))-300,110;-1 Dialgfenster immer im Vordergrund

endproc

Jetzt kommt das Hauptprogramm
LET LISTBOX&=@Create("Listbox",%HWND,"",10,160,600,100) Für die Rückmeldung
LET ENDE&=@Create("Button",%HWND,"Ende",230,350,100,25) Button schadet nichts

WHILENOT @GETFOCUS(ENDE&) Solange nicht Ende gedrückt wurde

    If @gt(@Height(%HWND),20) Nur, wenn das Hauptfenster ncht minimiert ist...

        Drawtext 0,100,@add$(@str$(&GETTICKCOUNT),"        ") Nur, damit man sieht, daß das Programm weiterläuft.
        Drawtext 0,0,@add$(@str$(%MENUITEM),"        ") Nur für mich, ist unwichtig!

    endif

    IF @neq$(Zeit$,Time$(0)) Jede Minute wird ein Popup erzeugt!

        LET ZÄHLER&=ZÄHLER&+1 Das ist für den Dialog-Fenstertitel
        LET ZEIT$=TIME$(0) Damit das Programm merkt, das eine Minute vergangen ist.
        Messagefenster @str$(Zähler&), @add$("Aktuelle Zeit: ",Zeit$) Prozedur zum Erzeugen des Dialoges wird aufgerufen.

    endif

    IF @lt(%MENUITEM,-999) Wenn irgendwo ein Button gedrückt wurde..

        LET WINDOW&=@getactivewindow() Holt sich das Handle des Fensters mit dem gedrückten Button.

        IF @gt(@len(@GetText$(WINDOW&)),@sub(@len(Dialogtext$),1)) Damits bei der nächsten Abfrage keinen Fehler gibt!

            IF @equ$(@mid$(@GetText$(WINDOW&),1,@len(Dialogtext$)),Dialogtext$) Wenn das dann ein Dialogfenster deines Programmes ist..

                @addstring(Listbox&,@GetText$(WINDOW&)+" um "+@time$(0)+" Uhr weggeklickt!") Schreibt in die Listbox das weggeklickte Fenster.
                @destroywindow(Window&) Löscht das Dialogfenster
                setmenuitem 0 Zurücksetzen des Buttonklicks

            endif

        endif

    endif

'./../../Function-References/XProfan/wend/'>wend

 
10/04/04  
 



UPS...

have Andreass API integrally overlooking! About the lever GEHTS naturally too without Rechnerei!
 
10/04/04  
 




Uwe
''Pascal''
Niemeier
Hello people!

On The menace there, me To blamieren...
by me functions in the Normalfall (Eingabeschleife with WaitInput, but without Timer o.ä.) this:

def GetFocusEx(1) getfocus(&(1))*(%key=255)

so can too by <Tab> whom Focus transmit and <Enter> receipting.

SeeYou
Pascal
 
10/04/04  
 




Rolf
Koch
Hi AH,
nagut have me persuated
Rolf
 
10/04/04  
 




Thorsten
Friedrichs
[quote:5c933acd40=AH]Hello Rolf...

i think time, very the wished it not having. @GETFOCUS supply only back, whether a Button a Focus has, not whether it pressed watts.
I take moreover:
CompileMarkSeparation
If @gt(@sendmessage(Button_1%,$00F2,0,0),40)

    ...

ElseIf @gt(@sendmessage(Button_2%,$00F2,0,0),40)

    ...

/a>

$H windows.ph
Declare Ende&,Button&
cls
Button& = Create(BUTTON,%hwnd,OK,10,10,80,24)
Whilenot ende&
Waitinput
If ~GetDlgItem(%hwnd,%MenuItem*-1) = Button&
Print Hoppla
Endif
wend
[/quote:5c933acd40]
Hi, very that. it ought to not Getfocus works and if possible without Waitinput.
means thanks for these both Proposals. I Have already long nothing more with Profan made, knew but yet, the getfocus not correctly. works.

thanks for Help.
Thorsten
Nachtrag of iF: I Have the Doppelposting time eliminating...
 
------------------------------------------------------------------------------------------
XProfan 9/Win98&undWinXP/PRFellow/ TCP.DLL
Profaner seit 4.5 /einige Jahre (mit Programmierpausen)
10/04/04  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

no Systemprofil laid out. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Please register circa a Posting To verfassen.
 

Topic-Options

5.051 Views

Untitledvor 0 min.
H.Brill01/10/19
Ernst03/12/14
boh103/28/13
Michaeal10/18/12
More...

Themeninformationen



Admins  |  AGB  |  Applications  |  Authors  |  Chat  |  Privacy Policy  |  Download  |  Entrance  |  Help  |  Merchantportal  |  Imprint  |  Mart  |  Interfaces  |  SDK  |  Services  |  Games  |  Search  |  Support

One proposition all XProfan, The there's!


My XProfan
Private Messages
Own Storage Forum
Topics-Remember-List
Own Posts
Own Topics
Clipboard
Log off
 Deutsch English Français Español Italia
Translations

Privacy Policy


we use Cookies only as Session-Cookies because of the technical necessity and with us there no Cookies of Drittanbietern.

If you here on our Website click or navigate, stimmst You ours registration of Information in our Cookies on XProfan.Net To.

further Information To our Cookies and moreover, How You The control above keep, find You in ours nachfolgenden Datenschutzerklärung.


all rightDatenschutzerklärung
i want none Cookie