AGB  ·  Datenschutz  ·  Impressum  







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

How2 LoadAccelerators?

Ein Thema von dmw256 · begonnen am 20. Mär 2004 · letzter Beitrag vom 21. Mär 2004
Antwort Antwort
dmw256

Registriert seit: 26. Dez 2002
36 Beiträge
 
Delphi 5 Professional
 
#1

How2 LoadAccelerators?

  Alt 20. Mär 2004, 21:26
Moin!

Ich will mit LoadAccelerators und eigenem Resource-File Menu und Shortcuts erstellen und hab dafür sowas in 'n Resource-File gesteckt und mit BRC32 umgewandelt.

Code:
#define id_save  1000

Menu     MENU
BEGIN
  POPUP "&File"
  BEGIN
    MENUITEM "&Save\tF3", id_save
  END
END

Acce    ACCELERATORS
BEGIN
  VK_F3,    id_save, VIRTKEY
END
Im Programm kommt dann sowas wie:

Code:
  accel:=LoadAccelerators(hInstance,'Acce');

  while GetMessage(msg,0,0,0) do
  begin
    if TranslateAccelerator(wnd,accel,msg)=0 then
    begin
      TranslateMessage(msg);
      DispatchMessage(msg);
    end;
   end;
Das Menü klappt super, aber die Shortcuts nisch... Die WinProc wird zwar mit 'nem WM_COMMAND aufgerufen, aber wParam erhält immer 65536, nie id_save (eigentlich sollte doch TranslateAccelerator die WinProc mit den richtigen Werten füttern, oder?)
Hab ich irgendwas vergessen???

Danke schon jetzt für jede Hilfe
dmw256
Woher soll ich wissen, was ich denkte,
bevor ich höre, was ich sage...
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#2

Re: How2 LoadAccelerators?

  Alt 20. Mär 2004, 21:33
Zitat von dmw256:
Code:
accel:=LoadAccelerators(hInstance,'Acce');
Ist accel nach dem Aufruf <> 0?
Zitat von dmw256:
aber wParam erhält immer 65536
65536 = $00010000. Das HiWord gitb an ob die Aktion vom Menü stammt (0) oder von einem Accelerator (1). Im LoWord steht die ID.
  Mit Zitat antworten Zitat
dmw256

Registriert seit: 26. Dez 2002
36 Beiträge
 
Delphi 5 Professional
 
#3

Re: How2 LoadAccelerators?

  Alt 20. Mär 2004, 21:41
Hmmm...

dann klappt das aber mit der ID nicht...
Die sollte ja eigentlich 1000 sein
Woher soll ich wissen, was ich denkte,
bevor ich höre, was ich sage...
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#4

Re: How2 LoadAccelerators?

  Alt 20. Mär 2004, 21:47
Zitat von dmw256:
dann klappt das aber mit der ID nicht...
Und die Auswahl des per Menü funktioniert?
  Mit Zitat antworten Zitat
dmw256

Registriert seit: 26. Dez 2002
36 Beiträge
 
Delphi 5 Professional
 
#5

Re: How2 LoadAccelerators?

  Alt 20. Mär 2004, 21:49
Ja, die Auswahl per Menü klappt super!

Accel ist auch <>0.
Woher soll ich wissen, was ich denkte,
bevor ich höre, was ich sage...
  Mit Zitat antworten Zitat
dmw256

Registriert seit: 26. Dez 2002
36 Beiträge
 
Delphi 5 Professional
 
#6

Re: How2 LoadAccelerators?

  Alt 20. Mär 2004, 22:56
Hey - ich hab den Fehler entdeckt!

Und es traue es mich ja kaum zu sagen: hab nur mit 'nem halben Auge hingeschaut: die 65536 war in Wirklichkeit 'ne 66536...
Asche auf mein Haupt...

Vielen Dank - ohne die Hilfe hätte ich ewig gesucht!
Woher soll ich wissen, was ich denkte,
bevor ich höre, was ich sage...
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: How2 LoadAccelerators?

  Alt 21. Mär 2004, 10:24
Mehr zum Thema findest du hier: http://www.luckie-online.de/Tutorials/ -> "Win32API Tutorials für Delphi".
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort


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 06:36 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