Entwickler-Ecke
Sonstiges (Delphi) - Hotkey Funktion, kann mir das einer erklären !
Premaider - Di 21.02.12 21:20
Titel: Hotkey Funktion, kann mir das einer erklären !
Hey Leute habe eben aus langeweile mal so bei den einzelnen Reitern durchgeklickt und
Hotkey gefunden. Kann mir einer erklären wie das funktionert ? Will das man sich einen Hotkey setzen kann und
wenn diese Tasten dann gedrückt werden Form1.WindowState:=wsNormal wird ;D
LG
Also ich meine das so
If TASTATURINPUT=Hotkey1.Hotkey Then Form1.WindowState:=wsNormal;
Tastaro - Mi 22.02.12 08:29
Hallo,
du kannst da so realisieren:
a) Lege eine TActionList (In der Tool-Palette unter "Standard") auf dein Formular
b) Klicke diese doppelt an
c) Füge eine neue Aktion hinzu
d) Wähle für die Aktion den gewünschten Hotkey aus
e) Schreibe in die OnExecute-Methode der Aktion den gewünschten Code
Beste Grüße
Premaider - Mi 22.02.12 14:22
Könntest du mir Punkt c-e nochmal genauer beschreiben ? ;D
€: Jetzt bin ich soweit, dass das was ich will bei jeder taste funktioniert aber nicht mehr wenn ich button1 schon benutzt habe.
Tastaro - Do 23.02.12 08:15
An dieser Stelle wäre es gut, wenn man dein Programm mal sehen könnte. Meine Kristallkugel ist beim Polieren. :)
Delete - Do 23.02.12 09:43
Premaider hat folgendes geschrieben : |
Könntest du mir Punkt c-e nochmal genauer beschreiben? |
Ist doch ganz einfach:
1. In der Toolbar deiner ActionList befindt sich ganz links ein Icon, mit dem du eine neue Aktion anlegst.
2. Im Objektinspektor stellst du alle notwendigen Parameter ein: Name, Kategorie, Shortcut (=Hotkey).
3. Durch Doppelklick auf deine neu angelegte Aktion in der ActionList erzeugst du eine Ereignisbehandlungsprocedure, wo du einfach reinschreibst:
Delphi-Quelltext
1:
| Form1.Windowstate := wsNormal; |
Premaider - Do 23.02.12 20:34
Hier der Download mit allen Datein:
Moderiert von
Narses: Ext. gelinktes Archiv als Anhang hochgeladen.
Und das Problem besteht immernoch :(
Ausserdem will ich ja, dass der Hotkey der ist den ich bei Hotkey einsetze.
P.S. Vorsicht mein Programm ist sinnlos. Nicht herunterladen wenn du zu epileptischen Anfällen neigst xD
Delete - Fr 24.02.12 11:24
Premaider hat folgendes geschrieben : |
Hier der Download mit allen Datein: [mod="Narses"]Ext. gelinktes Archiv als Anhang hochgeladen. |
Ojehhh. Was für ein Durcheinander! Also eins nach dem anderen:
1. Wenn du RadioButtons in der Art verwenden möchtest, daß immer nur einer der Buttons aktiv ist, nimmst du eine TRadioGroup.
2. Einen THotkey benötigst du nicht, wenn du mit der ActionList arbeitest.
3. Die vier Timer auf deiner Form benötigst du ebenfalls nicht, um via ShortCut (Tastenkombination) deine Form zu maximieren.
4. Wenn du via Button1 auf die erzeugte Action zugreifen möchtest, trägst du im Property Action deines Buttons die jeweilige Action ein.
Am besten du fängst noch mal von vorne an, schmeißt alle Komponenten außer dem Button und der ActionList raus, löscht alle übriggebliebenen Deklarationen in der Unit1 und weist deinem Button die Action zu, in deren Ereignisbehandlung du die Größenänderung und anderes bewerkstelligen möchtest.
Premaider - Fr 24.02.12 13:06
Mir ist eigendlich egal wie unordentlich das ist, ich bin ja auch noch ein Anfänger.
Ich will, dass man sich bei HotKey1 einen HotKey setzt und sobald man diesen (nach Benutzung von Button1) drückt dann z.b. Form1.Windowstate:=wsnormal ausgeführt wird ;D
bummi - Fr 24.02.12 13:17
anhand eines Beispiels:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39:
| unit Unit2;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ActnList, StdCtrls;
type TMainform = class(TForm) ActionList1: TActionList; Button1: TButton; act_Close: TAction; procedure act_CloseExecute(Sender: TObject); procedure Button1Click(Sender: TObject); private public end;
var Mainform: TMainform;
implementation uses Menus; {$R *.dfm}
procedure TMainform.act_CloseExecute(Sender: TObject); begin Close; end;
procedure TMainform.Button1Click(Sender: TObject); begin Act_Close.ShortCut := ShortCut(Word('C'), [ssCtrl]); end;
end. |
Tastaro - Fr 24.02.12 13:18
Hättest du einfach das gemacht, was ich und Perlsau dir oben beschrieben haben, würde schon alles funktionieren.
@Bummi: Du bist nett, aber damit lernt man nur Copy&Paste.
Premaider - Sa 25.02.12 01:14
Egal was ich versuche ich bekomme es nicht gebacken. Ich werde meinen Informatiklehrer dann am Montag nochmal bitten mir zu helfen. Euch allen aber trotzdem ein dickes DANKE !
Delete - Sa 25.02.12 10:33
Was hast du denn versucht? Hast du gemacht, was wir dir empfohlen haben? Denn dann würde dein Programm bereits funktionieren.
Das heißt eigentlich, du schlägst den Rat von gestandenen Programmierern in den Wind, jammerst einfach nur rum "es geht nicht" und hoffst wohl, daß man dir dein Programm fertig schreibt. Wenn du nicht auf unsere Ratschläge hören willst, dann verschwende nicht unsere Zeit, sondern besser die deines Lehrers ...
Premaider - Sa 25.02.12 20:13
So war das garnicht gemeint. Es ist nur so, es funktioniert, nur nicht so wie ich will. So schwer zu erklären. Es einem Lehrer zu zeigen wenn man direkt am PC sitzt ist da einfach vorteilhafer.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!