Español
Foro

Nicos neuer Waitinput-Hilo

 

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ón
declare 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
29.12.2006  
 




KompilierenMarcaSeparación
 
29.12.2006  
 




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!
 
Nico Madysa
29.12.2006  
 



Sí me gehts hundeehlend bien el mich no sehen kann - aber danke!
 
29.12.2006  
 




Nico
Madysa
Mahahaha, wieso tener eigentlich siempre Yo el ganzen Problemas con Waitinput?
KompilierenMarcaSeparación
declare 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.
 
Nico Madysa
03.02.2007  
 



Hab grad una bischen Tiempo. So?
KompilierenMarcaSeparación
declare 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

 
03.02.2007  
 



Das profanste wäre lo wohl
KompilierenMarcaSeparación
addhotkey 4001,78,0
>
oben anzufügen y en lugar de
KompilierenMarcaSeparación
if IsKey(78)re>
simplemente
KompilierenMarcaSeparación
if (%menuitem=4001)re>
a escribir.
 
03.02.2007  
 




GDL
Muss Yo auch igual ausprobieren.Ärgere mich con nem RTF zurzeit grün y blau.

Servus
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
03.02.2007  
 




Nico
Madysa
Gracias para el schnellen Hilfen, sobald Yo otra vez al eigenen Rechner sitze voluntad ego ausprobieren.
 
Nico Madysa
04.02.2007  
 




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.
 
Nico Madysa
12.06.2007  
 



UserMessages 
 
12.06.2007  
 




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
 
12.06.2007  
 




Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

1.290 Views

Untitledvor 0 min.
H.Brill07.05.2024
Peter Max Müller13.11.2017
Joerg28.04.2016
Untitled16.05.2012

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie