AGB  ·  Datenschutz  ·  Impressum  







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

Shortcuts und FormStyle

Ein Thema von markus5766h · begonnen am 15. Mai 2009 · letzter Beitrag vom 22. Mai 2009
Antwort Antwort
Benutzerbild von markus5766h
markus5766h

Registriert seit: 5. Mär 2009
Ort: Hamburg
569 Beiträge
 
Delphi XE8 Professional
 
#1

Shortcuts und FormStyle

  Alt 15. Mai 2009, 13:42
Hallo,
hab' hier ein kleines Verständnisproblem mit der Registrierung von Shortcuts
und der Zuweisung des FormStyle

Code-Ausschnitt:
Delphi-Quellcode:
type
  TWMHotkey = record
  Msg: Cardinal;
  idHotKey: Word;
  Modifiers: Integer;
  VirtKey: Integer;
 end;

Const ID = $FF;

.
.
.

  private
    { Private declarations }
     scHandle : THandle;
     scState : LongBool;
     scTbar : Boolean;
     procedure SetValues;
     procedure WMHotKey(var Msg: TWMHotKey); message WM_HOTKEY;

.
.
.

implementation

{$R *.dfm}

Const
  cmdShow: array[Boolean] of Integer = (SW_HIDE, SW_SHOW);


procedure TDockFormMain.WMHotKey(var Msg: TWMHotkey);
var
  Handle: THandle;
begin
  case Msg.IdHotKey of
    ID: begin
         if scTbar then
          begin
           Handle := FindWindow('Shell_TrayWnd', nil);
           if Handle <> 0 then
           ShowWindow(Handle, cmdShow[True]);
          end;
        end;
.
. // Behandlung weiterer Shortcuts
.
  end;
  inherited;
end;

procedure TDockFormMain.FormCreate(Sender: TObject);
begin
.
.
.
SetValues;
end;

procedure TDockFormMain.SetValues;
var
aResult : Integer;
begin

if fStyle then // FormStyle
 begin
  DockFormMain.FormStyle := fsStayOnTop;
 end
  else
   begin
    DockFormMain.FormStyle := fsNormal;
   end;

.
.
.


  // ShortCuts registrieren
  scHandle := DockFormMain.Handle;
  {1. ALT+CTRL+T, Taskleiste einblenden}
  scState:=RegisterHotKey(scHandle, ID, MOD_Alt+MOD_CONTROL, Ord('T'));
  if not scState then begin end; // Fehlerbehandlung
  scState:=RegisterHotKey(scHandle, ID+1, MOD_control, vk_f1);
.
. // Registrierung weiterer Shortcuts
.
end;
nun zum eigentlichen Problem: wenn ich die Registrierung der Shortcuts im
On-Create-Ereignis vornehme, läuft gar nichts:
nach etwas Suchen hab' ich dann herausgefunden, dass es an der Zuweisung des
Form-Style lag. Diese Zuweisung erfolgte nach der Registrierung der Shortcuts.
Also die Registrierung kurz hinter die Zuweisung des Form-Style geschoben und
schon ging's.
Die Frage ist nun, was hat die Zuweisung des Form-Style mit der (bereits erfolgten)
Registrierung der Short-Cuts zu tun ?

Hab's noch mal komplett neu geschrieben (... man gibt ja nicht auf) - wieder mit der
Registrierung im On-Create-Ereignis : und siehe da - wie gehabt.

Falls also jemand eine Erklärung für dieses Verhalten hat, wäre ich sehr dankbar.
Ich kann um's Verrecken keine Erklärung hierfür finden.
Markus H.
  Mit Zitat antworten Zitat
Benutzerbild von markus5766h
markus5766h

Registriert seit: 5. Mär 2009
Ort: Hamburg
569 Beiträge
 
Delphi XE8 Professional
 
#2

Re: Shortcuts und FormStyle

  Alt 22. Mai 2009, 18:59
Hallo:

... keiner 'ne Idee ???????
Markus H.
  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 19:31 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