Español
Fuente/ Codesnippets

Haga doble clic en Feststellen Ratón

 

Georg
Hovenbitzer
¡Hola zusammen,

es ir sí echt peinlich dies a fragen pero yo No entre en detrás de él.

Yo möchte determinar si uno una Haga doble clic en, sei lo links oder rechts, en una deaktiviertes Editar campo macht y dies en una Ventana principal qué con Ventana de Estilo 8 + 16 + 512 + 1024 erstellt wurde.

Kann me como alguien helfen ?
 
Viele Grüsse, Georg Hovenbitzer(Windows XP Pro, XProfan 11.2, Profan2Cpp 1.6a)
19.05.2006  
 




Frank
Abbing
Usted musst el Message WM_LBUTTONDBLCLK, o. WM_RBUTTONDBLCLK auslesen. Beim mittleren Mausklick es mittels WM_MBUTTONDBLCLK, sofern dieser disponible es.
 
19.05.2006  
 




Georg
Hovenbitzer
¡Hola Franco,

dies Yo intenta, aber el kommen no a.
Yo habe irgendwo veces gelesen, dass no todos Controls esta Message senden y en me es sí una deaktiviertes Editar Feld.
Hast du tal vez una Stück Code para Testen para mich ?
 
Viele Grüsse, Georg Hovenbitzer(Windows XP Pro, XProfan 11.2, Profan2Cpp 1.6a)
19.05.2006  
 



WM_NOTIFY es no grundsätzlich gesetzt, el es correcta.

Lo son De todos modos todavía el Ausweg en el Fastmode. Un propio wProc podría el Message abfangen.

Yo zitier aber auch veces de el Phorum: [...] 

Autor: Dieter Zornow 26.08.04 07:59

hallo carlo,

Yo benutze folgende Rutina, el bajo allen Windowsversionen
sicher funktioniert.
KompilierenMarcaSeparación
en esta a nutzen must el sólo el focus para Eintrag bringen
ansonsten must du sólo con linkem Clic marca.

Viele Grüße de Bangkok

Dieter
 
20.05.2006  
 




Frank
Abbing
Einfacher es aber:
KompilierenMarcaSeparación
Usted musst el Usermessages conjunto, así ellos WaitInput verlassen...

Hm, Waitinput verarbeitet aber sólo Messages vom Ventana principal. Um Control-Messages a verarbeiten, musst du ellos subclassen.
 
20.05.2006  
 



Frank Abbing
Um Control-Messages a verarbeiten, musst du ellos subclassen.

Womit wir probablemente el fastmode  son...
 
20.05.2006  
 




Frank
Abbing
Eigentlich no, IF. Nur si Si es usted el Ventana principal subclassen willst.
 
20.05.2006  
 




Sven
Bader
Also si yo lo con usermessages mache se 513 y 514 erkannt (links gedrückt/losgelassen), el Haga doble clic en Message se nie erkannt.
Andere wilde Konstruktionen con waitkey + getmessage + (%Message = 273) trabajo auch no überall y son para Programas con otro Abfragen unbrauchbar, porque esta entonces meist no mehr trabajo (habe parallel no Buttonklick con wm_command mehr abfragen puede)

Oder funktioniert en euch el Ejemplo?
KompilierenMarcaSeparación
 
01.06.2006  
 



Mit el EasyVENT.dll y Incluir kannste auch Kinderleicht una Mausdoppelclick determinar
[...] 
 
01.06.2006  
 




Frank
Abbing
Es sin Dll viel leichter...
Um Doppelklicks a empfangen muss lediglich el CS_DBLCLKS Class-Style gesetzt voluntad. So como en el API-Ayuda en efecto es.
KompilierenMarcaSeparación
 
01.06.2006  
 




Sven
Bader
Damit es, danke

Mi bisherige Variante:
KompilierenMarcaSeparación
Def Key(1) !User32,GetAsyncKeyState
Def windowfrompoint(2) !USER32,WindowFromPoint
Def GetCursorPos(1) !USER32,GetCursorPos
cls
usermessages 16
Declare dbl&, dbl%,mousepos#,oldx%,oldy%
dim mousepos#,8

PROC Doppelklick

    Parameters handle&

    if (abs(key(1)>1) ) & (dbl% = 0) & (windowfrompoint(long(mousepos#,0),long(mousepos#,4)) = handle&)

        dbl& = &gettickcount+400 Doppelklickzeit
        dbl% = 1
        oldx% = long(mousepos#,0)
        oldy% = long(mousepos#,4)

    elseif (abs(key(1)<2)) & (dbl% = 1)  & (windowfrompoint(long(mousepos#,0),long(mousepos#,4)) = handle&)

        dbl% = 2
        case (&gettickcount > dbl&) : dbl% = 0

    elseif (abs(key(1)>1)) & (dbl% = 2)  & (&gettickcount < dbl&) & (windowfrompoint(long(mousepos#,0),long(mousepos#,4)) = handle&)

        if ((abs(oldx% - long(mousepos#,0))<5) & (abs(oldy% - long(mousepos#,4))<5)) Maus maximal 5 Pixel verschoben

            dbl% = 3

        else

            dbl% = 0

        endif

    elseif ((abs(key(1)>1)) & (dbl% = 2)) | (dbl% = 3)

        dbl% = 0

    endif

    return if(dbl% = 3,1,0)

EndProc

whilenot (%umessage = 16)

    waitinput
    sleep 50
    getcursorpos(mousepos#)
    case Doppelklick(%hwnd) : print Doppelklick

endwhile

disponer mousepos#
 
02.06.2006  
 




Frank
Abbing
Como sería Yo el API-Variante necesariamente vorziehen, porque el User el Haga doble clic en-Tiempo sí einstellen kann.
 
02.06.2006  
 




Zum Quelltext


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

21.171 Views

Untitledvor 0 min.
Gast.081506.09.2024
Walter07.03.2023
H.Brill03.02.2022
RudiB.09.05.2021
Más...

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