| |
|
|
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 | |
|
| |
|
|
|
| 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 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). |
|
|
| |
|
|
|
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: CompileMarkSeparationWINDOWSTYLE 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
|
|
|
| |
|
|
|
| UPS...
have Andreass API integrally overlooking! About the lever GEHTS naturally too without Rechnerei! |
|
|
| |
|
|
|
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 |
|
|
| |
|
|
|
Rolf Koch | Hi AH, nagut have me persuated Rolf |
|
|
| |
|
|
|
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 $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 ▲ |
|
|
|