AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Hotkey bei Image Kompente

Ein Thema von Stony2k · begonnen am 18. Jun 2005 · letzter Beitrag vom 26. Jun 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Stony2k
Stony2k

Registriert seit: 21. Mai 2005
Ort: Moers
76 Beiträge
 
Delphi 7 Enterprise
 
#1

Hotkey bei Image Kompente

  Alt 18. Jun 2005, 15:23
Beim Durchstöbern des Forum habe ich zwar ein paarr Threads zum Thema Hotkeys gefunden, aber nichts, was mir weiter geholfen hat.
Und zwar benutze ich Images als Buttons und geklickt werden sie via Mouse Down.
Das Problem ist, ich weiss nicht wie ich es hinbekommen soll, nen Hotkey mit den Images zu verlinken (nennt man das so?) und auch per Hotkey Komponente, dem Benutzer zu ermöglichen, selber seinen Hotkey zu nennen.

PS: Ich bin noch nen ziemlicher Anfänger in diesem Bereich, darum nicht mich mit Super komplizierte Codes zuballern
  Mit Zitat antworten Zitat
Benutzerbild von hanselmansel
hanselmansel

Registriert seit: 23. Feb 2005
Ort: Kaiserslautern
279 Beiträge
 
Delphi 2009 Enterprise
 
#2

Re: Hotkey bei Image Kompente

  Alt 18. Jun 2005, 15:31
Okey, Newbie-Antwort, aber dennoch habe ich in einem anderen Thread folgendes gefunden:
Delphi-Quellcode:
if Key=13 then
begin
  Key := 0;
  SuchBtn.Click; // SuchBtn = Name des Buttons
end;
Müsste man damit nicht auch den hotkey abfragen können und anstatt der Button-Click Prozedur deine eigene Routine reinschreiben können?

MfG, hanselmansel
Es gibt nur sehr wenige Probleme auf dieser Welt, die sich nicht mit einigen hundert Gramm Sprengstoff lösen ließen.
  Mit Zitat antworten Zitat
Benutzerbild von Stony2k
Stony2k

Registriert seit: 21. Mai 2005
Ort: Moers
76 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Hotkey bei Image Kompente

  Alt 18. Jun 2005, 15:39
Das Problem ist ja, das der Hotkey nen Systemweiter Hotkey sein soll, ganz vergessen das zu sagen.
Aber bei deinem Code kann ich nicht sehen, welchen Hotkey man drücken muss.
Und wenn ich mich nicht irre, müssen die ja erst Registriert werden und beim Beenden des Programmes wieder De-Registriert.
  Mit Zitat antworten Zitat
Benutzerbild von hanselmansel
hanselmansel

Registriert seit: 23. Feb 2005
Ort: Kaiserslautern
279 Beiträge
 
Delphi 2009 Enterprise
 
#4

Re: Hotkey bei Image Kompente

  Alt 18. Jun 2005, 15:43
Okey... da DAS nun eindeutig meine Kompetenzen übersteigt, überlasse ich die Frage nun Anderen, die mehr Ahnung von der Materie haben.
Es gibt nur sehr wenige Probleme auf dieser Welt, die sich nicht mit einigen hundert Gramm Sprengstoff lösen ließen.
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#5

Re: Hotkey bei Image Kompente

  Alt 18. Jun 2005, 15:49
Das hier sieht recht vielversprechend aus
Julian J. Pracht
  Mit Zitat antworten Zitat
Schwitzus

Registriert seit: 16. Jun 2005
Ort: Stockerau
4 Beiträge
 
Delphi 6 Enterprise
 
#6

Re: Hotkey bei Image Kompente

  Alt 18. Jun 2005, 16:18
statt den konstanten kannst auch direkt WORD('A') für die taste A übergeben als letzten parameter bei RegisterHotKey, liefert 65 was $41 entspricht, für Enter kannst vk_return genauso wie 13 bzw halt $0D verwenden, eben die entsprechende nummer von der guten alten acsii tabelle

und inwiefern man die mod-konstanten neu definieren muss is auch fraglich, bei Delphi 6 zumindest sind die genau gleich wie die in der windows-unit, also warum nicht von dort nehmen?

Delphi-Quellcode:
 const
  {$EXTERNALSYM MOD_ALT}
  MOD_ALT = 1;
  {$EXTERNALSYM MOD_CONTROL}
  MOD_CONTROL = 2;
  {$EXTERNALSYM MOD_SHIFT}
  MOD_SHIFT = 4;
  {$EXTERNALSYM MOD_WIN}
  MOD_WIN = 8;
nicht verzagen, delphi fragen - doch verzagen, delphi schlagen!!
  Mit Zitat antworten Zitat
Benutzerbild von Stony2k
Stony2k

Registriert seit: 21. Mai 2005
Ort: Moers
76 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Hotkey bei Image Kompente

  Alt 18. Jun 2005, 16:19
Jau sieht schon sehr gut aus. Nur da sind nicht alle VK's für die einzelnen Buchstaben wie z.B. b,c,d etc. dabei, gibt es da vllt eine Liste?
ich werde nun versuchen das ganze ins das Programm einzubauen, wenn es Probleme gibt melde ich mich. Aber ich könnte ja weitere Vorschläge machen

//Edit: Das war aber wer schneller *g*. Das heisst also ich kann auch vk_b, vk_c etc. nehmen ?
//Edit 2:@neolithos: Ja ich habe ein TImage als Button verwendet. Hast du eine Idee wie ich dass denn sonst umsetzen kann ?
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#8

Re: Hotkey bei Image Kompente

  Alt 18. Jun 2005, 16:20
Wenn du TImage verwendet hast, kannst du den Hotkey nicht direkt an das Control binden, da es kein Windows-Fenster-Handle besitzt.
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
Schwitzus

Registriert seit: 16. Jun 2005
Ort: Stockerau
4 Beiträge
 
Delphi 6 Enterprise
 
#9

Re: Hotkey bei Image Kompente

  Alt 19. Jun 2005, 01:55
Zitat von Stony2k:
Das heisst also ich kann auch vk_b, vk_c etc. nehmen ?
wennst dir vorher eine liste mit konstanten von vk_a bis vk_z machst kannst die verwenden, also Buchstaben und Zahlen sind glaub ich nicht vordefiniert
Delphi-Quellcode:
const
 vk_A=65;
 vk_B=66;
 vk_C=67;
 {..usw..}
 vk_Z=90;
 vk_0=48;
 vk_1=49
 {..usw..}
F1 bis F12 sind vordefiniert (vk_f1, ...), genauso wie Enter (vk_return) und andere Tasten, schau in die unit Windows und such nach "VK_", da wirst einiges finden

das TImage selbst hat kein handle, deswegen wird der hotkey ja auch für das handle des Fensters registriert, das Fenster erhält dann auch den Hotkey:
Delphi-Quellcode:
procedure TForm1.WMHotKey(var Msg: TWMHotKey);
begin
  if Msg.HotKey = in_registerhotkey_angegebener_id then Image1.OnMouseDown(nil,mbleft,[],0,0);
end;
nicht verzagen, delphi fragen - doch verzagen, delphi schlagen!!
  Mit Zitat antworten Zitat
Benutzerbild von Stony2k
Stony2k

Registriert seit: 21. Mai 2005
Ort: Moers
76 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Hotkey bei Image Kompente

  Alt 19. Jun 2005, 13:23
Das heisst ich registriere den Hotkey und wenn ich ihn dann drücke, gemäß dem Code
Code:
procedure TForm1.WMHotKey(var Msg: TWMHotKey);
begin
  if Msg.HotKey = in_registerhotkey_angegebener_id then Image1.OnMouseDown(nil,mbleft,[],0,0);
end;
müsste es eigentlich funktionieren. Ich werde es später mal ausprobieren.
Fragt sich nun nurnoch wie ich die Hotkey-Komponente so verwende, damit der Benutzer selbst den Hotkey wählen kann, bzw. ich den Hotkey un- bzw. deregistriere.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz