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);