Français
Forum

Mausklick simulieren

 

Timotheus
Salut,

j'ai un Problem. je voudrais à un certain Stelle im Programme la fenêtre une EditBox erstellen. qui y-Koordinate wird par den Mausklick ausgewählt, et qui x-K. ist 0.
dans cette Éditer-Box peux mais déjà un Text stehen. c'est pourquoi muss Je l' Mausklick encore einmal wiederholen, sobald cela Éditer erzeugt wurde. Dadurch mets sich qui Cursor im Éditer oui c'est ca sur qui richtige Stelle, comment dans einem Multiedit. comment fais je cela ?

Timo
 
11.09.2004  
 




Michael
Dell
allô Timo,

si je cela richtig vois meinst du wohl ne art Listbox.
ensuite hilft dir vieleicht cet Demo:
KompilierenMarqueSéparation
Salut

Michael
 
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
11.09.2004  
 




Timotheus
je voudrais à einer bestimmte Stelle un Éditer erzeugen.

cela geschieht si une MausTaste gedrückt wird:
Créer(Éditer,%Hwnd,je suis un Éditer,0,%mousey,%WinRight,25)

maintenant voudrais je mais den Schreibbalken im Éditer à qui richtige Stelle apporter. cela est si je entier à gauche am la fenêtre une Mausteste drücke, ensuite voudrais je d'abord cela Éditer erzeugen, et ensuite à
%Mousex et %Mousey une Mausklick simulieren. Dadurch steht ensuite qui Schreibbalken avant dem ersten marque.

Timo
 
11.09.2004  
 




Michael
Dell
Sorry, kleiner Irrtum!

Versuchs la fois hiermit, es mets den Cursor à den Anfang:
KompilierenMarqueSéparation
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
11.09.2004  
 




Timotheus
pas entier, si zum Beispiel qui souris quelque chose plus weg vom linken Fensterrand gedrückt wird, ensuite muss qui Schreibbalken à z.B. qui zweiten Stelle stehen. Kurz et simple: comment peux je une Mausklick à un certain Stelle simulieren?

Timo
 
12.09.2004  
 




Michael
Dell
Ok, ensuite la fois so:
KompilierenMarqueSéparation
Def GSC(1)           !User32.dll,GetSysColor
Def ButtonUp(1)      Equ(If(Equ(%Lastmessage,514),1,If(Equ(%Lastmessage,512),SetFocus(&(1)),0)),1)
Def SetCurPosNull(1) SendKey(@&(1),36)  Setzt den Cursor an erste Stelle
Def SetCurPosEnd(1)  SendKey(@&(1),35)  Setzt den Cursor an letzte Stelle

Proc SetCurPos                          Setzt den Cursor an beliebige Stelle

    Parameters hndl&,anz&
    Case Lt(anz&,1)
    SendKey(hndl&,36)

    WhileLoop 1,@&(2),1

        SendKey(hndl&,39)

    EndWhile

EndProc

declare bt01&,ed01&,edak%
Clear bt01&,ed01&,edak%

Proc MakeED

    Parameters HWHndl&,Text$,x%,y%,b%,h%

    If Equ(edak%,0)                                    wenn Edit-Control nicht existent dann...

        ed01& = create(Edit,HWHndl&,Text$,x%,y%,b%,h%)  Erzweuge Edit-Control mit Text inhalt
        SetFocus(ed01&)                                  Setze Focus auf Edit-Control
        SetCurPos(ed01&,8)                              Setzt den Cursor an Stelle 8
        Sleep 1000
        SetCurPos(ed01&,6)                              Setzt den Cursor an Stelle 6
        Sleep 1000
        SetCurPos(ed01&,4)                              Setzt den Cursor an Stelle 4
        Sleep 1000
        SetCurPos(ed01&,2)                              Setzt den Cursor an Stelle 2
        Sleep 1000
        SetCurPosNull(ed01&)                            Setzt den Cursor an erste Stelle
        Sleep 1000
        SetCurPosEnd(ed01&)                             Setzt den Cursor an letzte Stelle
        Sleep 1000
        SetCurPosNull(ed01&)                            Setzt den Cursor an erste Stelle
        Sleep 1000

    EndIf

    Return 1

EndProc

SetTrueColor 1
WindowStyle 26
Window Add(%maxX,10),0-500,66
Cls GSC(15)
bt01& = create(Button,%HWnd,Erstelle Edit,360,10,120,22)
Window 0,0-500,66

WhileNot Or(Equ(%MenuItem,-2),Equ(%MenuItem,-4000))

    GetMessage

    If GetFocus(bt01&)

        If ButtonUp(%HWnd)

            edak% = MakeED(%HWnd,Hallolo, na wie gethts?,10,10,340,22)
            Case edak%: SetFocus(ed01&)

        EndIf

    EndIf

EndWhi
Fin

Michael...

P.S.: hab je alles dans qui Profan- Aider nachgeschlagen!
 
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
12.09.2004  
 




Timotheus
non cela aussi pas!

ici la fois un Demo:
KompilierenMarqueSéparation
ici fehlt seulement qui Def ou bien Proc SimuliereMausklick. dans diesem Beispiel ist qui Schreibbalken par cela wiederholte klicken à qui richtigen Stelle. c'est comment si on dans un vorhandenes Éditer klickt, ensuite mets sich qui poutre oui aussi automatisch à qui Stelle qui im Éditer angeklickt wurde.

Timo
 
12.09.2004  
 



So?
KompilierenMarqueSéparation
cls
declare x%,a&,b&

while 1

    waitinput

    if %Mousekey = 1

        x% = %Mousex
        a& = Create(Edit,%Hwnd,Hallo,0,%Mousey - 12,600,25)
        @SENDMESSAGE(a&,$00B1,0,256)
        @SETFOCUS(A&)
        Sleep 1000
        destroyWindow(a&)

    endif

Wend


ou bien so??
KompilierenMarqueSéparation
DEF @mouse_event(5)!User32,mouse_event
CLS
declare x%,a&,b&

tandis que 1

    Waitinput

    si %Mousekey = 1

        x% = %Mousex
        a& = Créer(Éditer,%Hwnd,allô,0,%Mousey - 12,600,25)
        @mouse_event(2,x%,%MOUSEY,0,0)
        @mouse_event(4,x%,%MOUSEY,0,0)
        @mouse_event(2,x%,%MOUSEY,0,0)
        @mouse_event(4,x%,%MOUSEY,0,0)
        Sleep 1000
        destroyWindow(a&)

    endif

Wend

 
12.09.2004  
 




Dietmar
Horn
encore comme Ergänzung (zur Antwort de Andreas)

DEF @mouse_event(5)!User32,mouse_event

mouse_event(N,dx%,dy%,0,0)

=> löst une künstliche Mausbewegung et une Mausklick aus.
=> hat keinen Rückgabewert

N: gibt à, quelle Bouton de la souris gedrückt (simuliert) volonté soll

N = $1 - Double-cliquez sur simulieren
N = $2 - linke Bouton de la souris runterdrücken
N = $4 - linke Bouton de la souris loslassen
N = $8 - rechte Bouton de la souris runterdrücken
N = $10 - rechte Bouton de la souris loslassen
N = $20 - mittlere Bouton de la souris runterdrücken (si vorhanden)
N = $40 - mittlere Bouton de la souris loslassen (si vorhanden)

dx% = x-Koordinate qui Mausposition (ou bien en Changement, wohin vous de qui derzeitigen Position aus gesehen, hingesetzt volonté soll)
dy% = y-Koordinate qui Mausposition (ou bien en ...)

qui 4. et 5. paramètre avons aucun signification, deswegen alors jeweils sur 0 mettons.

Eventuell dois Du encore légèrement avec den Mauskoordinaten experimentieren, sais pas, si cet relativ ou bien absolu sommes, si bezogen sur den Desktop, cela Hauptfenster, ou bien cela Dialogfenster. Versuche dabei aussi la fois $8000 chez den Werten pour N trop addieren, alors N = $8000 + $2, ou bien N = $2 mettons. $8000 = MOUSEEVENTF_ABSOLUTE

Salut
Dietmar
 
Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V.  [...] 

Windows 95 bis Windows 7
Profan² 6.6 bis XProfan X2 mit XPSE

Das große XProfan-Lehrbuch:  [...] 
12.09.2004  
 




Timotheus
merci

Timo
 
12.09.2004  
 




Uwe
''Pascal''
Niemeier
allô gens!

Gibts car qui API mouse_event  sous XP/NT überhaupt encore?
citation de MSDN:


The mouse_event function synthesizes mouse motion and button clicks.
Windows NT: This function has been superseded. Use SendInput instead.


SeeYou
Pascal
 
13.09.2004  
 




Michael
Dell
Microsoft voulais mouse_event déjà früher ersetzen, cela steht jedenfalls so dans qui WinHlp no Win32s. je denk aus Supportgründen funktioniert es im Moment encore, on sollte wohl dans Zukunft puis verzichten. dans Longhorn wirds wohl pas plus aller.

Michael...
 
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
13.09.2004  
 




répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

5.612 Views

Untitledvor 0 min.
Sven Bader04.07.2023
H.Brill06.02.2022
AndreasS29.11.2018
RICOSCH17.06.2016
plus...

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie