| |
|
|
- page 1 - |
|
Jörg Sellmeyer | Nachtrag: avec eingebautem WaitInput 5 funktioniert es maintenant comment erwartet.
je muss encore nerven...
Folgender Code pouvoir im Interpretermodus oui c'est ca cela, quoi je erwarte et quoi aus dem Code eigentlich ersichtlich son sollte
dans compilierter forme stirbt cela komplette Programme mais pour dem Klick aufs Croix eines Dialoges.
Déclarer Dlg&[],x%,y%
Fenêtre Style %11110
Utilisateur Messages $10
Cls
Titre de la fenêtre "Hauptfenster " + Str$(%hwnd)
x% = %winleft + 100
y% = %wintop + 120
WhileLoop 0,3
Inc x% ,30
Inc y%, 40
Dlg&[&Boucle] = Créer("Dialog",%hwnd,» + Str$(&Boucle +1),% X, y%,400,300)
Settext Dlg&[&Boucle],"Test " + Str$(&Boucle + 1) + " | " + Str$(Dlg&[&Boucle])
Créer("Button",Dlg&[&Boucle],"Test",50,50,100,30)
Wend
Tandis que 1
WaitInput
Cas %clé = 27:Pause' "ESC"
Si %umessage = $10
Si GetFocus(%hwnd)
Pause
ElseIf ClassOf(GetActiveWindow()) = "#32770"
WhileLoop 0,SizeOf(Dlg&[]) - 1
Si GetActiveWindow() = Dlg&[&Boucle]
Imprimer GetText $(Dlg&[&Boucle]) + " beendet"
SetFocus(%hwnd)
DestroyWindow(Dlg&[&Boucle])
'après que je cela WaitInput incorporé habe, klappt es
'je erinnererte mich, dass cela compilierte Programme qui Messageschleife seulement chaque x-te la fois abruft.
WaitInput 5
Pause
EndIf
Wend
Continue
EndIf
ElseIf GetText $(%getfocus) = "Test"
Imprimer "Button",ItemId(%getfocus),"gedrückt"
EndIf
Cas %Umessage = $10:Imprimer "Das ici sollte nie trop voyons son!"
Wend
Imprimer "Hauptprogramm beendet"
WaitInput
|
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 02.06.2018 ▲ |
|
|
|
|
« cette Beitrag wurde comme Solution gekennzeichnet. » |
|
Jörg Sellmeyer | mon Version steht dans qui Signatur. cela Problem ist, dass sans WaitInput pour %umessage = $10, cela Programme finissez wird, aussi si seulement sur einem Dialogfenster cela Schließen-Croix betätigt wird. Aussi wird cela Hauptfenster pas richtig aktiviert, si un Dialog aktiv ist, et on ensuite cela Croix im Hauptfenster klickt.
je hab es maintenant so gelöst, dass je qui Abfrage umgestellt hab et gleichzeit beim Hauptfenster encore sur &mwnd chcke. avec cela funktioniert es pour mich zufriedenstellend.
Déclarer Dlg&[],x%,y%
Fenêtre Style %11110 | 512
Utilisateur Messages $10
Cls
Titre de la fenêtre "Hauptfenster " + Str$(%hwnd)
x% = %winleft + 100
y% = %wintop + 120
WhileLoop 0,3
Inc x% ,30
Inc y%, 40
Dlg&[&Boucle] = Créer("Dialog",%hwnd,» + Str$(&Boucle +1),% X, y%,400,300)
Settext Dlg&[&Boucle],"Test " + Str$(&Boucle + 1) + " | " + Str$(Dlg&[&Boucle])
Créer("Button",Dlg&[&Boucle],"Test",50,50,100,30)
Wend
Imprimer "%GetFocus,GetActiveWindow(),%message,& LParam,&wparam"
Tandis que 1
WaitInput
Cas %clé = 27:Pause' "ESC"
Si %umessage = $10
Si ClassOf(GetActiveWindow()) = "#32770"
WhileLoop 0,SizeOf(Dlg&[]) - 1
Si GetActiveWindow() = Dlg&[&Boucle]
Imprimer GetText $(Dlg&[&Boucle]) + " beendet"
DestroyWindow(Dlg&[&Boucle])
WaitInput 5
Pause
EndIf
Wend
Continue
ElseIf GetFocus(%hwnd) Or (%mwnd = %hwnd)
Pause
EndIf
ElseIf GetText $(%getfocus) = "Test"
Imprimer "Button",ItemId(%getfocus),"gedrückt"
EndIf
Cas %Umessage = $10:Imprimer "Das ici sollte nie trop voyons son!"
Wend
Imprimer "Hauptprogramm beendet"
WaitInput
|
|
|
| |
|
|
|
|
H.Brill | chez mir funktioniert es compilé, si seulement avec WaitInput ou bien aussi avec WaitInput 5. Hab es maintenant mais seulement avec XProfan X4 probiert.
avec quel Version la hâte du probiert ?
PS: une la ligne verstehe je pas entier :
wohin la hâte du car qui "#32770" her ?
Ist cela une feste Dialog-Ressource dans qui Runtime ? |
|
|
| Benutze XPROFAN X3 + FREEPROFAN Wir sind die XProfaner. Sie werden von uns assimiliert. Widerstand ist zwecklos! Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.
Was die Borg können, können wir schon lange. | 03.06.2018 ▲ |
|
|
|
|
Jörg Sellmeyer | mon Version steht dans qui Signatur. cela Problem ist, dass sans WaitInput pour %umessage = $10, cela Programme finissez wird, aussi si seulement sur einem Dialogfenster cela Schließen-Croix betätigt wird. Aussi wird cela Hauptfenster pas richtig aktiviert, si un Dialog aktiv ist, et on ensuite cela Croix im Hauptfenster klickt.
je hab es maintenant so gelöst, dass je qui Abfrage umgestellt hab et gleichzeit beim Hauptfenster encore sur &mwnd chcke. avec cela funktioniert es pour mich zufriedenstellend.
Déclarer Dlg&[],x%,y%
Fenêtre Style %11110 | 512
Utilisateur Messages $10
Cls
Titre de la fenêtre "Hauptfenster " + Str$(%hwnd)
x% = %winleft + 100
y% = %wintop + 120
WhileLoop 0,3
Inc x% ,30
Inc y%, 40
Dlg&[&Boucle] = Créer("Dialog",%hwnd,» + Str$(&Boucle +1),% X, y%,400,300)
Settext Dlg&[&Boucle],"Test " + Str$(&Boucle + 1) + " | " + Str$(Dlg&[&Boucle])
Créer("Button",Dlg&[&Boucle],"Test",50,50,100,30)
Wend
Imprimer "%GetFocus,GetActiveWindow(),%message,& LParam,&wparam"
Tandis que 1
WaitInput
Cas %clé = 27:Pause' "ESC"
Si %umessage = $10
Si ClassOf(GetActiveWindow()) = "#32770"
WhileLoop 0,SizeOf(Dlg&[]) - 1
Si GetActiveWindow() = Dlg&[&Boucle]
Imprimer GetText $(Dlg&[&Boucle]) + " beendet"
DestroyWindow(Dlg&[&Boucle])
WaitInput 5
Pause
EndIf
Wend
Continue
ElseIf GetFocus(%hwnd) Or (%mwnd = %hwnd)
Pause
EndIf
ElseIf GetText $(%getfocus) = "Test"
Imprimer "Button",ItemId(%getfocus),"gedrückt"
EndIf
Cas %Umessage = $10:Imprimer "Das ici sollte nie trop voyons son!"
Wend
Imprimer "Hauptprogramm beendet"
WaitInput
|
|
|
| |
|
|
|
Michael W. | @H.Brill
trouvé dans [...]
The following table describes le system classes that sont available only for use by le system. They sont listed here for completeness sake.
Class | Description |
ComboLBox | The class for le list box contained dans a combo box. |
DDEMLEvent | The class for Dynamic Data Exchange Management Library (DDEML) events. |
Message | The class for a message-only window. |
#32768 | The class for a menu. |
#32769 | The class for le desktop window. |
#32770 | The class for a dialog box. |
#32771 | The class for le task switch window. |
#32772 | The class for icon titles. |
|
|
|
| System: Windows 8/10, XProfan X4 Programmieren, das spannendste Detektivspiel der Welt. | 08.06.2018 ▲ |
|
|
|
|
H.Brill | merci pour qui Info. J'ai pensé toujours, es gäbe seulement Klassennamen, qui pour sich selbst parler, etwa Button, Fenêtre usw. |
|
|
| Benutze XPROFAN X3 + FREEPROFAN Wir sind die XProfaner. Sie werden von uns assimiliert. Widerstand ist zwecklos! Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.
Was die Borg können, können wir schon lange. | 08.06.2018 ▲ |
|
|
|
|
Michael W. | Findest Du im gleichen Artikel.
c'est allerdings un Mischmasch, qui là retour wird. Getreu dem Motto: pourquoi soll je là 2 Variablen nutzen, si je alles dans einer unterbringen peux. qui Anwender wird déjà savons, quoi il là justement zugewiesen hat. |
|
|
| |
|
|
|
H.Brill | allô Jörg, j'ai nochmals plusieurs Male einiges ausprobiert. Dabei mußte je öfter den Taskmanager benutzen, um mon Programme abzuschießen.
comment es aussieht, scheint cela à dem justement aktiven la fenêtre trop liegen. Folgendes scheint so trop courir, comment gewünscht :
Déclarer Dlg&[],x%,y%
Utilisateur Messages $10
Cls
Titre de la fenêtre "Hauptfenster finissons avec ESC " + Str$(%hwnd)
x% = %winleft + 100
y% = %wintop + 120
WhileLoop 0,3
Inc x% ,30
Inc y%, 40
Dlg&[&Boucle] = Créer("Dialog",%hwnd,» + Str$(&Boucle +1),% X, y%,400,300)
Settext Dlg&[&Boucle],"Test " + Str$(&Boucle + 1) + " | " + Str$(Dlg&[&Boucle])
Créer("Button",Dlg&[&Boucle],"Test",50,50,100,30)
Endwhile
Tandis que 1
WaitInput
Cas %clé = 27 : Pause' "ESC"
Si %UMessage = $10
WhileLoop 0,SizeOf(Dlg&[]) - 1
Si &UWnd = Dlg&[&Boucle]
DestroyWindow(Dlg&[&Boucle])
Imprimer "Dialoghandle : ", Dlg&[&LOOP], " ist finissez !"
EndIf
Endwhile
SetActiveWindow(%HWnd)
EndIf
Si GetText $(%getfocus) = "Test"
Imprimer "Button",ItemId(%getfocus),"gedrückt"
EndIf
Wend
Imprimer "Hauptprogramm finissez !"
WaitInput 2000
DestroyWindow(%HWnd)
Fin
Würde cela deinen Vorstellungen entsprechen ?
PS: normalement fais je pour jeden Dialog une Proc et behandle den Dialog dans einer Boucle et einem Waitinput. arrêt so, comme Roland aussi dans qui Aider écrit. |
|
|
| Benutze XPROFAN X3 + FREEPROFAN Wir sind die XProfaner. Sie werden von uns assimiliert. Widerstand ist zwecklos! Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.
Was die Borg können, können wir schon lange. | 08.06.2018 ▲ |
|
|
|
|
Jörg Sellmeyer | chez meinem Programme volonté qui Dialoge zur Laufzeit erstellt, sans dass je Einfluss sur Anzahl ou bien Titel prendre veux. une Proc pro Dialog venez alors pas dans Frage. je werde deinen Vorschlag la fois testen, suis mais avec meiner Solution aussi zufrieden, là par cela nochmalige WaitInput qui UserMessage zurückgesetzt wird et pas plus im Hauptprogramm ankommt. |
|
|
| |
|
|
|
Michael W. | Utilisateur Messages peut avec -Nr aussi zurückgesetzt et ensuite erneut gesetzt volonté |
|
|
| |
|
|
|
Jörg Sellmeyer | Hab je alles ausprobiert, sans dass es zuverlässig funktioniert hat. Liegt plan tour, dass qui Runtime qui Messageschleife seltener pollt, comme qui Interpreter. |
|
|
| |
|
|
|
H.Brill | oui, scheint wohl à XProfans Messagehandling trop liegen. chez meinem Code dessus venez pour Schließen aller Dialoge qui wm_close - nouvelle aussi pas plus zum Hauptfenster.
là devrait on essayer, si on avec débrancher qui internen Messageverarbeitung avec Set("Fastmode", 1) et GetMessage plus venez. aussi Dialoge sommes pas ideal, là vous normalement sur $10 pas automatisch réagir.
là bietet XProfan oui encore plus Opportunités. |
|
|
| Benutze XPROFAN X3 + FREEPROFAN Wir sind die XProfaner. Sie werden von uns assimiliert. Widerstand ist zwecklos! Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.
Was die Borg können, können wir schon lange. | 09.06.2018 ▲ |
|
|
|
|
H.Brill | So scheint es net (aussi comme .exe) trop courir :
Déclarer Dlg&[],x%,y%
Utilisateur Messages $10
Cls
Titre de la fenêtre "Hauptfenster finissons avec ESC " + Str$(%hwnd)
x% = %winleft + 100
y% = %wintop + 120
WhileLoop 0,3
Inc x% ,30
Inc y%, 40
Dlg&[&Boucle] = Créer("Window",%hwnd,» + Str$(&Boucle +1),% X, y%,400,300)
Settext Dlg&[&Boucle],"Test " + Str$(&Boucle + 1) + " | " + Str$(Dlg&[&Boucle])
Créer("Button",Dlg&[&Boucle],"Test",50,50,100,30)
Endwhile
Tandis que 1
WaitInput
Cas %clé = 27 : Pause' "ESC"
Si %UMessage = $10
WhileLoop 0,SizeOf(Dlg&[]) - 1
Si &UWnd = Dlg&[&Boucle]
DestroyWindow(Dlg&[&Boucle])
Imprimer "Dialoghandle : ", Dlg&[&LOOP], " ist finissez !"
Pause
EndIf
Endwhile
Cas &UWnd = %HWnd : Pause
SetActiveWindow(%HWnd)
EndIf
Si GetText $(%getfocus) = "Test"
Imprimer "Button",ItemId(%getfocus),"gedrückt"
EndIf
Wend
Imprimer "Hauptprogramm finissez !"
WaitInput 2000
DestroyWindow(%HWnd)
Fin
|
|
|
| Benutze XPROFAN X3 + FREEPROFAN Wir sind die XProfaner. Sie werden von uns assimiliert. Widerstand ist zwecklos! Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.
Was die Borg können, können wir schon lange. | 09.06.2018 ▲ |
|
|
|