ďťż

Ładny brzuch

Czy istnieje możliwoś stworzenia globalnego hotkey'a w BCB. W winapi nie ma z tym problemu rejestruje hotkey'a a następnie umieszczam odpowiedni kod w funkcji obsługującej komunikaty. Ale nie wiem jak to zrobić w BCB? Najlepiej gdyby dało się dobrać jakoś do funkcji obsługi komunikatów ale jak?

P.S. szukałem na google ale nie wiele znalazłem.



http://cyfbar.republika.pl/form.html
szukaj BEGIN_MESSAGE_MAP :)

w sumie to znalazłem rozwiązanie tego problemu.:

WindowProc=funkcja; funkcja staje się funkcja obsługi komunikatów:)

i już myślałem sobie że wszystko ok a tu jednak nie. Nie wiem dlaczego nie rozpoznaje moja funkcja że został wciśnięty jakiś klawisz. tzn nowy problem wygląda tak:

poniższa funkcja nie działa nic się nie dzieje gdy zostanie naciśnięty klawisz a;
funkcja(TMessage &mss) { if(mss.WParam==0x41) {....} else WindowProc=WndProc; }

natomiast działa ta funkcja, rozpoznaje gdy nacisnę klawisz a
funkcja(TMessage &mss) { if(mss.WParam==0x41) {.... (WindowProc=WndProc); -to może być albo nie i tak działa funkcja } }
podobnie nie działa wogóle dla powyższych funkcji rozpoznanie (mss.Msg==WM_KEYDOWN)
WM_HOTKEY

wie ktoś o co chodzi?

Spójrz na temat http://forum.ks-eksp...showtopic=64074 i zamień WM_USER na WM_HOTKEY. Za chwilę napiszę przykład i dam Ci linka :)

Masz: http://rapidshare.de...1/asas.zip.html
Użytkownik Cyrkiel edytował ten post 12 listopad 2005, 11:17


private: // User declarations void __fastcall Komunikat(TWMLButtonUp& Message); public:  // User declarations        __fastcall TForm1(TComponent* Owner); BEGIN_MESSAGE_MAP; MESSAGE_HANDLER(WM_LBUTTONUP, TWMLButtonUp, Komunikat); END_MESSAGE_MAP(TForm);

void __fastcall TForm1::Komunikat(TWMLButtonUp& Message) { ShowMessage("LOL"); }

To jest do obsługi przycisku myszy, po drobnej modyfikacji powinno działać dla klawiszy
(należy zamienic WM_LBUTTONUP na komunikat klawisza i jescze to TWMLButtonUp trza zmienić)
Użytkownik DarkCez edytował ten post 12 listopad 2005, 11:55
a może ma ktoś jakąś myśl dlaczego nie działa to:

if(msg.Msg==WM_KEYDOWN)
{....}

gdy ustawię nową funkcję do obsługi komunikatów jak pisałem wcześniej


a może ma ktoś jakąś myśl dlaczego nie działa to:
if(msg.Msg==WM_KEYDOWN)
{....}

gdy ustawię nową funkcję do obsługi komunikatów jak pisałem wcześniej
Ściągnij to i zobacz http://rapidshare.de...1/asas.zip.html. WM_KEYDOWN działa przecież tylko w oknie, a WM_HOTKEY globalnie :)

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •