DoNcEr Opublikowano 30 Listopada 2009 Udostępnij Opublikowano 30 Listopada 2009 Witam Na formię mam w MainMenu1 opcję Ukryj z ShortCut(F4) i gdy wciskam F4 forma ukrywa się ale po ponownym wciśnięciu F4 nie pokazuje się...? Co jest nie tak? :blink: To kodzik wyboru menu procedure TForm1.Ukryj1Click(Sender: TObject); begin if Form1.visible=true then Form1.visible:=false else Form1.visible:=true; end; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Roki Opublikowano 30 Listopada 2009 Udostępnij Opublikowano 30 Listopada 2009 EEE... nie znam się, czemu w pierwszym nie ma ':' if Form1.visible(tutaj)=true then Form1.visible:=false else Form1.visible:=true; Może dlatego? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
DoNcEr Opublikowano 30 Listopada 2009 Autor Udostępnij Opublikowano 30 Listopada 2009 Nie to nie to jak by tego nie było wyskoczyłby error [Error] Unit3.pas(85): Type of expression must be BOOLEAN dodam ,że na formie mam komponent "CoolTrayIcon1" może ma jakiś związek... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pieter Opublikowano 30 Listopada 2009 Udostępnij Opublikowano 30 Listopada 2009 bo to nie globalny hook (hotkey czy jak to zwiesz skrót). Musiał byś użyć do skrótu RegisterHotkey http://www.swissdelphicenter.ch/torry/showcode.php?id=147 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
DoNcEr Opublikowano 30 Listopada 2009 Autor Udostępnij Opublikowano 30 Listopada 2009 Ok o to chodziło dzięki to kodzik może się komuś przyda W evencie Formy OnCreate dajemy: procedure TForm1.FormCreate(Sender: TObject); const MOD_CONTROL = 2; VK_F4 = $73; begin id1 := GlobalAddAtom('Hotkey1'); RegisterHotKey(Handle, id1, MOD_CONTROL, VK_F4);// Skrót Ctrl+F4 tylko jeden bo tylko tego potrzebowałem;) end; W kodzie pod private dodajemy: private id1: Integer; procedure WMHotKey(var Msg: TWMHotKey); message WM_HOTKEY; { Private declarations } i wklejamy procedure procedure TForm1.WMHotKey(var Msg: TWMHotKey); begin if Msg.HotKey = id1 then Form1.visible:=true;//Czyli Ctrl+F4 pokaże ukrytą formę end; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pieter Opublikowano 30 Listopada 2009 Udostępnij Opublikowano 30 Listopada 2009 zapomniałeś o usuwaniu hotkeya podczas wyłączania aplikacji. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
DoNcEr Opublikowano 1 Grudnia 2009 Autor Udostępnij Opublikowano 1 Grudnia 2009 U siebie w kodzie wstawiłem wcześniej nie wiem czemu to takie ważne więc nie dopisywałem. ale jak już to tu daje brakujący kod: procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin UnRegisterHotKey(Handle, id1); GlobalDeleteAtom(id1); end; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się