-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Dani,
5. Feb 2005
Du musst die Eigenschaft TitleText nicht ausfüllen. Lass sie leer, dann wird der Text an das Fenster geschickt, das aktuell den Fokus hat.
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Dani,
13. Dez 2004
Joah, mal schauen...
- Deine SysHotKey Komponente auf dem Formular platzieren (Active = true).
- Im OnHotKey Event der Komponente deinen Code einfügen.
- Im OnCreate des Formulars einen Hotkey hinzufügen
SysHotKey1.AddHotKey(vkB, );
- Compilieren
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Dani,
25. Nov 2004
Komponenten installierst du so:
Komponente -> Komponente installieren -> in neues Package
die Taste Enter kannst du entweder mit #13 oder als '' senden.
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Dani,
25. Nov 2004
Joah... TSyshotKey ist eine plazierbare nicht-visuelle Komponente, du musst sie nur installieren :)
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Dani,
24. Nov 2004
Die Komponente TSyshotKey erzeugt einen Event OnHotKey, wenn einer der registrierten Hotkeys gedrückt wurde. Du kannst durch einen Index überprüfen, welcher der Hotkeys es war. In den Anhang findest du die fehlende WComp.pas, habbisch vergessen in das Archiv zu packen :oops:
Damit sollte sich das Programm starten lassen! Du musst nur die Units Sendkeys.pas, SysHot.pas und WComp.pas in das...
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Dani,
24. Nov 2004
Mit der Komponente aus SysHot.pas kannst du globale Hotkeys erzeugen. Du findest sie hier
Damit würde ich zunächst mal schauen, welches Fenster während des Spiels den Fokus hat (GetForegroundWindow).
Die Eigenschaft TitleText kannst du leer lassen, prüfe lieber "manuell" mit GetForeGroundWindow, GetWindowText und GetWindowClassName, ob D4O im Vordergrund ist. Wenn du dennoch TitleText...
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Dani,
24. Nov 2004
procedure TForm1.Button1Click(Sender: TObject);
var SendKey1:TSendKey;
begin
SendKey1 := TSendKey.Create(Self);
try
SendKey1.Keys:='bla';
SendKey1.TitleText:='Unbenannt - Editor';
SendKey1.execute;
finally
SendKey1.Free;
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Dani,
23. Nov 2004
So, hab mir D4O mal runtergeladen...
das Chat-Eingabefeld ist kein Windows-Control und man kann daher auch den Text nicht mit SendMessage setzen. Was du höchstens machen könntest ist Tastaturanschläge zu simulieren.
Schau dir mal das kleine Programm im Anhang an, da sind auch Komponenten dabei, mit denen du ganz einfach Tastatureingaben an ein Fenster senden kannst.
TRect ist kein...
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Dani,
22. Nov 2004
Ganz ruhig :)
in einem TRect kannst du einen rechteckigen Bereich speichern (-> Rectangle).Aber Vorsicht: GetWindowRect speichert laut Beschreibung die absoluten Koordinaten des Controls, nicht dessen relative Position zum Parent-Fenster...
Wenn dir alles zu viel wird, beschreib doch mal was du genau machen willst und ich lass dir mal ein Delphi-Projekt zukommen...
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Dani,
22. Nov 2004
Das Handle "WindowHandle" in EnumWindowCallback, also das Handle des möglicherweise gesuchten Eingabefeldes :mrgreen:
Einfach nur ein normales TRect
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Dani,
22. Nov 2004
Achso, ich dachte du willst dir einen Loader schreiben, der dich automatisch einlogt :stupid:
Du musst wohl die Koordinaten der Controls mitinander vergeichen, um herauszufinden, ob das richtige dabei ist. (-> GetWindowRect)
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Dani,
21. Nov 2004
Vergiss die Funktion und TWindowList am besten wieder *g*
"The 4th Coming:AppClass" ist nicht das Fenster, das du suchst, sondern der Taskbar Eintrag. Das gesuchte Fenster hat den Klassennamen "#32770" und den Titel "Die 4. Offenbarung". Daher:
//Findet das erste Edit Control im D4O Fenster und speichert das Handle in einer globalen Variable
var
D4OEdit: HWND = 0;
...
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Dani,
19. Nov 2004
Wenn du TWindowList aus diesem Code Library Beitrag benutzt, hast du den Handle doch bereits:
function GetD4OHandle: HWND;
var
wlist : TWindowList;
idx: Integer;
begin
Result := 0;
wlist := TWindowList.Create;
try
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Dani,
19. Nov 2004
Das Projekt im Anhang funktioniert bei mir...
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Dani,
19. Nov 2004
Mit IntToStr :mrgreen:
Edit: Ist es normal, dass da ein Leerzeichen bei der Quelltext-Einrückung verschluckt wird?
function EnumTargetWindow(WindowHandle: HWND; lParam1: lParam): Boolean; stdcall;
begin
Result := True; //Alle Fenster werden aufgelistet
Form1.Listbox1.Items.Add(IntToStr(WindowHandle));
end;
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Dani,
19. Nov 2004
EnumTargetWindow darf keine Methode von TForm1 sein, sondern sollte als globale Funktion der Unit definiert sein. Klassenmethoden haben einen versteckten Parameter (Pointer); ein Zeiger auf die aufrufende Instanz der Klasse (-> Self).
PS: Mach in Methoden von TForm1 lieber "Self.Irgendwas" als "Form1.Irgendwas". Das ist wichtig, falls du Instanzen von TForm1 dynmisch erzeugen möchstest oder...
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Dani,
18. Nov 2004
Das geht wirklich einfach mit EnumChildWindows. Der Code könnte z.B. so aussehen:
//Diese funktion wird so lange von EnumChildWindows aufgerufen, bis sie FALSE zurück gibt.
function EnumTargetWindow(WindowHandle: HWND; lParam1: lParam): Boolean; stdcall;
var buf: Pchar;
dwSize: DWORD;
chRect: TRect;
begin
Result := True; //Alle Fenster werden aufgelistet
dwSize := 265;
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Dani,
17. Nov 2004
Hi,
Mit Winforce kannst du den (Klassen-)Namen des gesuchten Controls und dem dazugehörigen Fenster herausfinden. Den mit FindWindow gefundenen Handle kannst du dann an EnumChildWindows übergeben und kommst so an den Handle des Controls.
Das funktioniert aber nur, wenn der Text deines Spiels z.B. ein Static ist. Wird der Text direkt auf die Zeichenfläche des Hauptfensters gezeichnet, kannst...