| |
|
|
Nico Madysa | Lo war sí sólo una Cuestión de Tiempo: Yo otra vez veces Ärger con Waitinput. Wir nehmen como Grundlage folgenden Code: KompilierenMarcaSeparacióndeclare dlg& , on% , w%
on% = 0
cls
dlg& = Create(Window,%hWnd ,Dialog,300,300,300,100)
ShowWindow(dlg&,on%)
whilenot IsKey(27)
waitinput
inc w%
Locate 0 , 0
print w%
if IsKey(78)
if on%
ShowWindow(dlg&,0)
on% = 0
else
ShowWindow(dlg&,1)
on% = 1
endif
SetFocus(%hWnd) <---SetFocus-Zeile
endif
wend
end
Er macht nichts más, como el una Dialogfenster a-/ausgeschalten se, allerdings en el selben Bucle como la ventana principal se ejecuta. Es ahora muy schön, uno drückt una vez N, el Diálogo taucht auf; uno drückt otra vez N y él verschwindet otra vez. Wenn uno aber el SetFocus-Línea(s. oben) lejos, oder después de el ersten N-Druck el Diálogo anklickt, Es el Sache weniger lustig. Se puede el N totdrücken sin dass el Diálogo otra vez verschwindet. Und el Variable w% zeigt por qué. Nach cada Waitinput se ellos en 1 aumenta. Im Dialogfenster geschieht esto no es. Es unser altes Problema: Das WaitInput reagiert no.
Anmerkung 1: Yo möchte ahora no APIs como GetASyncKey más o menos haben; lo liegt nämlich definitiv no a el Tastenabfrage, pero al waitinput. Anmerkung 2: Das Problema Yo no gesucht, pero lo trat en un größerem Programa de me auf; GetMessage kann Yo no uso, como entonces otro Dinge en mi Programa no trabajo würden. |
|
|
| |
|
|
|
| |
|
| |
|
|
|
Nico Madysa | Gracias, IF! Yo habe me fast pensamiento, dass algo como con Usermessages va, pero yo tener el Nummer el Message en el Profano.hlp No se ha encontrado -_- (anstatt Yo, el Encabezamiento verwende, aber en algo como komme Yo natürlich no...) Aunque taucht esta una neuer Fehler en. Wenn una Button el enfoque ha, reagiert el Programa beim Druck en N no. Stattdessen son el PC una hübschen Klopfton mittels internem Lautsprecher de se. So allein es el kein echtes Problema, aber dummerweise besteht esta mein komplettes Ventana principal una (Toolbar-Aussehen sólo). Wäre no una Button deaktiviert gewesen(mittels EnableWindow) wäre Yo probablemente no detrás de él gekommen. Denn si yo en esta klicke, ha keiner mehr el Focus, como él ihn sí no haben darf.
P.S.: Finde Yo echt nett de dir, dass du dich trotz deiner bösen Erältung a Problemas otro kümmerst! |
|
|
| |
|
|
|
| Sí me gehts hundeehlend bien el mich no sehen kann - aber danke! |
|
|
| |
|
|
|
Nico Madysa | Mahahaha, wieso tener eigentlich siempre Yo el ganzen Problemas con Waitinput? KompilierenMarcaSeparacióndeclare dlg& , buta& , butb& , on% , w%
on% = 0
cls
buta& = Create(Button,%hWnd,Button 1,0,0,320,240)
butb& = Create(Button,%hWnd,Button 2,320,0,320,240)
EnableWindow butb& , 0
dlg& = Create(Window,%hWnd ,Dialog,300,300,300,100)
ShowWindow(dlg&,on%)
whilenot IsKey(27)
waitinput
inc w%
Locate 0 , 0
print w%
if IsKey(78)
if on%
ShowWindow(dlg&,0)
on% = 0
else
ShowWindow(dlg&,1)
on% = 1
endif
SetFocus(%hWnd)<---SetFocus-Zeile
endif
wend
end
Annähernd derselbe Code, como el erste, sólo el ahora zwei Buttons la ventana principal belegen; una normaler y una deaktivierter. Sobald el Programa comenzó ha, hacer wir folgendes: Wir drücken zweimal en N y, como esperado, erscheint el Diálogo y verschwindet otra vez. Nun clic wir en el ersten Button, sodass él el Focus bekommt y drücken otra vez N y - nichts passiert. Sombrero una Button also el Focus, scheint Waitinput wiedermal no a reagieren. Klicken wir dagegen en el deaktivierten Button, así verscheindet el Foco, como una deaktiviertes Control sí no Foco haben darf, y - tada! - Der Diálogo erscheint con un Druck en N otra vez. Yo habe el problema en mi Programa primero con el Línea KompilierenMarcaSeparación aber wirklich zufrieden bin Yo así no.
Sombrero alguien el Solución des Problems? ¿Es mi Schuld o de XProfan? Yo habe dummerweise sólo en el Progreso el letzten Semana así experimentiert y kann por lo tanto auch sólo sagen, dass lo wahrscheinlich no al Dialogfensterstil meines Hauptfensters liegt. |
|
|
| |
|
|
|
| Hab grad una bischen Tiempo. So? KompilierenMarcaSeparacióndeclare dlg& , buta& , butb& , on% , w%
on% = 0
cls
buta& = Create(Button,%hWnd,Button 1,0,0,320,240)
butb& = Create(Button,%hWnd,Button 2,320,0,320,240)
EnableWindow butb& , 0
dlg& = Create(Window,%hWnd ,Dialog,300,300,300,100)
ShowWindow(dlg&,on%)
whilenot IsKey(27)
WaitInputEx
inc w%
Locate 0 , 0
print w%
if IsKey(78)
if on%
ShowWindow(dlg&,0)
on% = 0
else
ShowWindow(dlg&,1)
on% = 1
endif
SetFocus(%hWnd)<---SetFocus-Zeile
endif
wend
end
Proc WaitInputEx Erweitertes Waitinput für Dialoge von AH
Declare AHWait_Counter%
Clear AHWait_Counter%
While AHWait_Counter%<25
inc AHWait_Counter%
wend
@External(USER32,MsgWaitForMultipleObjects,0,0,0,-1,$1 | $4 | $10)
Clear AHWait_Counter%
While AHWait_Counter%<25
inc AHWait_Counter%
wend
../function-references/XProfan/ENDPROC/'>ENDPROC
|
|
|
| |
|
|
|
| |
|
| |
|
|
|
GDL | Muss Yo auch igual ausprobieren.Ärgere mich con nem RTF zurzeit grün y blau.
Servus Georg |
|
|
| |
|
|
|
Nico Madysa | Gracias para el schnellen Hilfen, sobald Yo otra vez al eigenen Rechner sitze voluntad ego ausprobieren. |
|
|
| |
|
|
|
Nico Madysa | Tschuldigung, tener desafortunadamente vergessen, a sagen, dass el Hotkey-Variante geklappt ha. Momentan Yo otra vez veces Ärger con el Waitinput y XProfan-internen Messageverwaltung. Aus cierto Gründen bin Yo nun gezwungen, mehrere Controls una Static oder meinetwegen uno GroupBox direkt unterzuordnen. Como ya desöfteren erwähnt, reagiert Profano en Eingaben en sochen Enkelfenstern (Kindfenster el Kindfenster) no mehr así, cómo lo gern hätte. Gibt lo como una API oder una otro Trick, en z.B. el Messages en la ventana principal umzuleiten oder algo en el Art? El Win32.hlp ha me bisher no Ayuda geben querer.
P.S.: Lo va hier específicamente en una ReBar-Control (Auch bajo el Namen Docksplitter bekannt) Yo möchte hier una ReBar-Band mehrere Controls zuweisen. |
|
|
| |
|
|
|
| |
|
| |
|
|
|
Uwe ''Pascal'' Niemeier | ¡Hola Nico!
Verwende en lugar de Groupbox oder Static una rahmenlosen Diálogo, etwa en dieser Art:
| | Dlg&=control(Dialog,Dlg1,$50000000,0,0,Breit%,Hoch%,%hwnd,1,0) |
Sombrero se en me bewährt, wobei Breite y Höhe en Verwendung en Rebars no veces gesetzt voluntad necesario.
HTH Pascal |
|
|
| |
|
|