AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

SpeedButton

Ein Thema von itsme · begonnen am 26. Jun 2018 · letzter Beitrag vom 1. Jul 2018
Antwort Antwort
Seite 3 von 3     123
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
969 Beiträge
 
Delphi 6 Professional
 
#21

AW: SpeedButton

  Alt 28. Jun 2018, 16:31
Hmm..

Besser statt mouse_event() das SendInput verwenden.
Dieses kann für Tastatur und Maus verwendet werden.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#22

AW: SpeedButton

  Alt 28. Jun 2018, 16:37
Hab Deinen Hinweis mit rangepappt, nun sollte jeder Zufrieden sein, Danke für diese Information! @ HolgerX
Habs gerade mit D2009 nochmal getestet, es läuft mit Windows 10. Danke @ API
Gruß vom KodeZwerg

Geändert von KodeZwerg (28. Jun 2018 um 16:57 Uhr)
  Mit Zitat antworten Zitat
API

Registriert seit: 18. Apr 2004
637 Beiträge
 
#23

AW: SpeedButton

  Alt 28. Jun 2018, 16:49
mouse_event() gibt es momentan noch, wurde aber durch SendInput ersetzt. Das Beispiel würde ich nicht löschen, denn es funktioniert ja so noch.
  Mit Zitat antworten Zitat
itsme

Registriert seit: 3. Aug 2006
32 Beiträge
 
Delphi XE Architect
 
#24

AW: SpeedButton

  Alt 29. Jun 2018, 13:01
@KodeZwerg

Auch wenn ich eigentlich Schluss machen wollte, beschäftigt mich das Thema trotzdem weiter...
Werde deine Lösung sicherlich auch ausprobieren, hatte an sowas ähnliches auch schon gedacht

Ich wollte eigentlich per Sendmessage eine WM_LButtonDown Nachricht mal testen, bin aber noch nicht dazu gekommen

Bei allen Vorschlägen hier, insbesondere deinem letzten, sollte man nicht vergessen, es muss mit einem Fremdprogramm funktionieren.
Man kann natürlich in diesem Fremdprogramm per Hexeditor für entsprechenden SpeedButton Left, Top, Width, Height auslesen und bei LButtonDown angeben.
Keine Ahnung ob es funktionieren würde, zumindest kommen mir die ausgelesenen Werte für Left und Top ziemlich falsch vor, wenn ich mal die Dimensionen des TabSheet zu Grunde lege

Stochern im Nebel, oder probieren geht über studieren, mag trotzdem zum Erfolg führen, nur hängt mein ganzes Leben nicht an diesem Problem.
Es ist schön etwas nach viel Mühen gelöst zu haben, aber wenn nicht, dann suche ich mir trotzdem nicht gleich ein anderes Hobby.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#25

AW: SpeedButton

  Alt 29. Jun 2018, 14:08
Diese drei funktionen solltest du vereinen, in meinem Beispiel kannst Du ja lesen wie ich Relative/Absolute x&y Werte behandel.
SetForegroundWindow() - damit das Fremdprogramm nach vorne holen, sonst klickst Du vielleicht an falscher Stelle
SetCursorPos() - damit die Maus auf Ziel-Koordinaten einstellen
SendInput() - damit einen klick simulieren

All das hat absolut nichts mit Fremdprogramm-Fernsteuern am Hut, das ist einfach nur ein nachahmen von Dingen die Du sonst alleine mit Maus- Bewegung und klicks machen würdest. Solange es Sinn und Zweck erfüllt, nur zu.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
itsme

Registriert seit: 3. Aug 2006
32 Beiträge
 
Delphi XE Architect
 
#26

AW: SpeedButton

  Alt 29. Jun 2018, 14:22
Ok ich werde mich da demnächst mal daran machen und mich dazu äußern.

Momentan nervt leider ein Sohn...
Der ist ständig irgendwie mit "Project Euler" beschäftigt.
Wer da nicht kennt, kann gerne einen Link posten.

Ich bin da mit Mühe und Not bis 10 gekommen, geht eigentlich weniger um programmieren, ist mehr Mathematik

Der hat es in Mathe drauf und hofft bei mir auf Delphi, C und Asm
Letzteres hatte ich früher mal gemacht, ist schon lange her, nichts mehr vorhanden
Hobby und Arbeit lassen sich nicht unbedingt vereinbaren und nach "endlich" Rentner, fehlt auch die Lust früheres Wissen neu aufzuwärmen.

Wahrscheinlich werden mich nun ein paar Leute steinigen, aber trotzdem, ich finde Delphi schwer genug, da braucht's kein Euler und auch keine anderen Programmiersprachen.
  Mit Zitat antworten Zitat
itsme

Registriert seit: 3. Aug 2006
32 Beiträge
 
Delphi XE Architect
 
#27

AW: SpeedButton

  Alt 1. Jul 2018, 14:49
So es funktioniert jetzt, war aber trotzdem nicht so ganz einfach, da man mit unterschiedlichen Koordinaten arbeiten muss.
Da soll einer darauf kommen, aber man hat gelernt und das ist die Hauptsache...

Delphi-Quellcode:
SetCursorPos(nPMain.x, nPMain.y);
SendMessage(WindowFromPoint(nPMain), WM_LBUTTONDOWN, MK_LBUTTON, MAKELPARAM(nPBtn.x, nPBtn.y));
SendMessage(WindowFromPoint(nPMain), WM_LBUTTONUP, 0, MAKELPARAM(nPBtn.x, nPBtn.y));
Das Tool Winspy mit integriertem Code-Generator hat mir sehr geholfen.

Als ich die Hoffnung schon aufgegeben hatte, dass sowas überhaupt funktionieren kann, habe ich auch mit dem Free Tool "Move Mouse" herumgespielt und gesehen: Es geht!

Wer da also nichts selber machen möchte und ggf. einen Automatismus haben möchte, sollte einfach mal danach googeln.
Ich selbst hatte es wohl von Computerbild heruntergeladen, ist also nicht schwer zu finden.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#28

AW: SpeedButton

  Alt 1. Jul 2018, 15:38
Wer da also nichts selber machen möchte und ggf. einen Automatismus haben möchte, sollte einfach mal
diese fertige alternative auch in Betracht ziehen
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz