Einzelnen Beitrag anzeigen

hathor
(Gast)

n/a Beiträge
 
#16

AW: Prog-Startart: Per Mouse-Click oder Enter-Key?

  Alt 21. Sep 2010, 15:09
Man kann indirekt herausfinden, ob das Programm mit der Maus oder der Tastatur gestartet worden ist:

Beim Programmstart GetCursorPos-Function(Windows) im Abstand von wenigen Sekunden 2 x aufrufen.
Bei Ungleichheit wurde die Maus zum Starten benutzt...

Zitat:
Ich will halt nicht, dass bei einem normalen Prog-Start per Maus der Focus dann auf einer Button sitzt die irgendwo am äußeren Rand platziert ist, sondern dann sollte der schon mehr zentral auf dem Button der Hauptfunktion sitzen.

Ach, jetzt verstehe ich erst, was Du willst!!!

Delphi-Quellcode:
procedure MoveMouseIntoControl(AWinControl: TControl);
var rtControl: TRect;
begin
  rtControl := AWinControl.BoundsRect;
  MapWindowPoints(AWinControl.Parent.Handle, 0, rtControl, 2);
  SetCursorPos(rtControl.Left + (rtControl.Right - rtControl.Left) div 2,
    rtControl.Top + (rtControl.Bottom - rtControl.Top) div 2);
end;


Aufruf-Beispiel:
MoveMouseIntoControl(Button1);

Geändert von hathor (21. Sep 2010 um 15:19 Uhr)
  Mit Zitat antworten Zitat