![]() |
F1-F9 Tasten simulieren mit Hilfe von RadioButton´s
so ...
erst hab ich mal die SuFu genutzt ..aber nichts zu meinem Problem gefunden deshalb an euch ich möchte die Tasten F1 bis F9 simulieren aber diese sollen auswählbar sein über einen jeweiligen RadioButton, d.h. F1 über den RadioButton mit der Bezeichnung "F1", F2 über den RadioButton mit der Bezeichnung "F2", ..... ich entscheide mich also für einen RadioButton (z.B. F7) und klicke dann auf den Start Button "simuliere Taste", es sollte aber möglich sein jederzeit die F-Taste zu wechseln und dann halt mit nem anderen RadioButton (z.B. F4) fortzufahren ┌────────────┐ │┌──────────┐│ ││simuliere Taste││ │└──────────┘│ │..┌────────┐..│ │..│○F1 ○F4 ○F7│..│ │..│○F2 ○F5 ○F8│..│ │..│○F3 ○F6 ○F9│..│ │..└────────┘..│ └───────────┘ so soll es ungefähr aussehen (ein bisschen krum und schief aber naja :roll: ) das Rote ist die Taste zum beginnen und das Blaue sind die RadioButton´s (und davon soll einer angeklickt werden um dann die jeweilige F-Taste zu simulieren) zur Zeit läuft es nur über eine F-Taste die ich dann immer im Quellcode umstelle ... aber das ist ja keine Lösung würde mich über Hilfe freuen und bedanke mich schon mal |
Re: F1-F9 Tasten simulieren mit Hilfe von RadioButton´s
Das es einfach wechselt, sollte kein Problem sein. Ich würde es so machen, dass ich einfach ein Timerobject erstelle und das OnTimer Ereigniss verwende -> Die Tasten Abfrage (z.B. Case) und dann den Code zum "Simulieren" alle X Sekunden ausführen.
So habe ich das zumindest verstanden, oder? Schau dir mal die folgenden Funktionen an :
Code:
bzw.
Keybd_event und SendInput
Code:
SendMessage und PostMessage
Ich denke, das sollte dir weiterhelfen. Gruß, Real-TTX |
Re: F1-F9 Tasten simulieren mit Hilfe von RadioButton´s
also ich komme nicht wirklich klar :cry:
ich habe mal einen Teil heraus geschitten "simuliere Taste" Button ‾‾‾‾‾‾‾‾‾▼
Delphi-Quellcode:
für eine Schleife gedacht ‾‾‾‾‾‾‾‾‾▼
procedure TForm1.Button1Click(Sender: TObject);
begin Timer5.Enabled := True; end;
Delphi-Quellcode:
für die Erkennung der Taste ----> hier soll erkannt werden welcher RadioButton aktiv ist und somit eine F-Taste aktiviert, zurzeit ist immer nur eine Taste möglich ohne RadioButton Auswahl ‾‾‾‾‾‾‾‾‾▼
procedure TForm1.Timer5Timer(Sender: TObject);
begin Timer3.Enabled := true; end;
Delphi-Quellcode:
procedure TForm1.Timer3Timer(Sender: TObject);
var Hwnd : THandle; begin Hwnd := FindWindow(nil, '...'); myPostMessageA(Hwnd, WM_KEYDOWN, VK_F1, MapVirtualKey(VK_F1, 0)); Timer1.Enabled := true; Timer3.Enabled := false; end; |
Re: F1-F9 Tasten simulieren mit Hilfe von RadioButton´s
Könntest Du nicht einfach mit case den ItemIndex der Radiogroup ermitteln und dementsprechend die Taste belegen?
Delphi-Quellcode:
var dwKey: DWord;
begin case Radiogroup.ItemIndex of 0: dwKey := VK_F1; 1: dwKey := VK_F2; ... end; ... myPostMessageA(Hwnd, WM_KEYDOWN, dwKey, MapVirtualKey(dwKey, 0)); |
Re: F1-F9 Tasten simulieren mit Hilfe von RadioButton´s
Moin Lostriga,
erst einmal herzlich willkommen hier in der Delphi-PRAXiS. Ohne RadioGroup würde ich es so lösen: Ein RadioButton hat die Eigenschaft Tag, die man beliebig verwenden kann. Der RadioButton für F1 bekommt darin dann eine 1, der für F2 eine 2 usw. Dann bekommt das Formular noch ein private-Feld (z.B. FiActiveButton). Alle neun RadioButton bekommen die gleiche OnClick Routine zugewiesen, in der dann der Wert in FiActiveButton geändert wird.
Delphi-Quellcode:
Anschliessend kannst Du dann den Vorschlag von DeddyH nutzen, nur dass Du eben statt des ItemIndex FiActiveButton benutzt.
FiActiveButton := (Sender as TRadioButton).Tag;
Initialisieren kannst Du FiActiveButton am Besten im OnCreate des Formulares. |
Re: F1-F9 Tasten simulieren mit Hilfe von RadioButton´s
Zitat:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var dwKey: DWord; begin if (RadioGroup1.ItemIndex <> -1) then begin dwKey := VK_F1 + RadioGroup1.itemIndex; // VK_F1 = 112 myPostMessageA(Hwnd, WM_KEYDOWN, dwKey , MapVirtualKey(dwKey, 0)); end; end; |
Re: F1-F9 Tasten simulieren mit Hilfe von RadioButton´s
danke für´s Willkommen heißen Christian
das mit den einzelnen RadioButton´s habe ich nicht hingekriegt, was ich schade finde, weil mit der RadioGroup ein Problem auftritt was ich noch erkläre ich habe mich also für die Methode von Sharky entschieden und ..... mein Gott es funktioniert ja richtig prächtig blos folgendes Problem hab ich jetzt :lol: da ich ja in einer RadioGroup die Schrift nicht einzeln definieren kann (also z.B. F1, F2, F3, F4, ... ), ich allerdings den Titel der Group fett geschrieben hätte und den Rest nicht fett, würd ich nun noch gern wissen wie es geht das ich ein Label über die RadioGroup setze, weil bei mir ist ein Label immer unter dieser und ich bekomme das Teil auch einfach nich davor :? |
Re: F1-F9 Tasten simulieren mit Hilfe von RadioButton´s
wieso kannst du die schrift nicht einzeln definieren, jedes radiofeld/-group eben so ausfüllen...
Rechtsklick->Element->Nach vorne setzen mfg |
Re: F1-F9 Tasten simulieren mit Hilfe von RadioButton´s
das hab ich ja schon gemacht aber die Group bleibt trotzdem vor demLabel bzw. das Label hinter der Group
|
Re: F1-F9 Tasten simulieren mit Hilfe von RadioButton´s
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
im Anhang ist ein Demo. Das sollte Licht ins dunkle bringen ;-) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz