Thread View: alt.pl.comp.lang.csharp
3 messages
3 total messages
Started by WebSpider
Mon, 14 Jun 2010 21:57
Jak zablokować zamykanie DialogBoxa przez ESC?
Author: WebSpider
Date: Mon, 14 Jun 2010 21:57
Date: Mon, 14 Jun 2010 21:57
10 lines
1196 bytes
1196 bytes
Witam! Pracuję nad aplikacją której działanie można przerwać naciskając Escape, jednak, gdy użytkownik się pośpieszy i kilka razy go naciśnie to efekt jest taki, że aplikacja się wyłącza. Forma jest typu FixedDialog i chciałbym przy tym zostać. Można to jakoś ominąć? -- Pozdrawiam, Konrad
Re: Jak zablokować zamykanie DialogBoxa przez ESC?
Author: GrzybSon
Date: Tue, 15 Jun 2010 07:35
Date: Tue, 15 Jun 2010 07:35
46 lines
2788 bytes
2788 bytes
Użytkownik "WebSpider" <webs1821@spaaamowe.gmail.com> napisał w wiadomości news:hv68jq$j26$1@news2.ipartners.pl... > Witam! > Pracuję nad aplikacją której działanie można przerwać > naciskając Escape, jednak, gdy użytkownik się pośpieszy > i kilka razy go naciśnie to efekt jest taki, że aplikacja się wyłącza. > Forma jest typu FixedDialog i chciałbym przy tym zostać. > Można to jakoś ominąć? > > -- > Pozdrawiam, > Konrad Użytkownik "WebSpider" <webs1821@spaaamowe.gmail.com> napisał w wiadomości news:hv68jq$j26$1@news2.ipartners.pl... > Witam! > Pracuję nad aplikacją której działanie można przerwać > naciskając Escape, jednak, gdy użytkownik się pośpieszy > i kilka razy go naciśnie to efekt jest taki, że aplikacja się wyłącza. > Forma jest typu FixedDialog i chciałbym przy tym zostać. > Można to jakoś ominąć? > > -- > Pozdrawiam, > Konrad Myślę, że można by to zrobić na 3 sposoby: 1. poprzez założenie haka klawiaturowego na aplikację lub globalnego systemowego: wtedy przechwytujesz naciśnięcia klawiszy i odpowiednio reagujesz na klawisz ESC. Tutaj musisz wykazać się dobrą znajomością wywołań WinApi. 2. dołączenie do aplikacji filtru na wiadomości systemowego poprzez implementację interfejsu IMessageFilter. Działa to podobnie do haka z tym, że nie musisz dotykać się wogóle do WinApi no i działa w obrębie aplikacji. 3. ustawić flagę KeyPreview na true w formie wtedy także przechwytujesz naciśnięcia klawiszy w ramach formy - niestety tego nie testowałem i nie wiem czy naciśnięcie ESC w dialogu zostanie przechwycone w zdarzeniu KeyDown dla formy. Ja bym zalecał punkt 2. -- Pozdrawiam Maćko
Re: Jak zablokować zamykanie DialogBoxa przez ESC?
Author: WebSpider
Date: Tue, 15 Jun 2010 12:48
Date: Tue, 15 Jun 2010 12:48
30 lines
2124 bytes
2124 bytes
Użytkownik "GrzybSon" <grzybson@poczta.fm> napisał > > Myślę, że można by to zrobić na 3 sposoby: > 1. poprzez założenie haka klawiaturowego na aplikację lub globalnego > systemowego: wtedy przechwytujesz naciśnięcia klawiszy i odpowiednio > reagujesz na klawisz ESC. Tutaj musisz wykazać się dobrą znajomością > wywołań WinApi. > 2. dołączenie do aplikacji filtru na wiadomości systemowego poprzez > implementację interfejsu IMessageFilter. Działa to podobnie do haka z tym, > że nie musisz dotykać się wogóle do WinApi no i działa w obrębie > aplikacji. > 3. ustawić flagę KeyPreview na true w formie wtedy także przechwytujesz > naciśnięcia klawiszy w ramach formy - niestety tego nie testowałem i nie > wiem czy naciśnięcie ESC w dialogu zostanie przechwycone w zdarzeniu > KeyDown dla formy. > > Ja bym zalecał punkt 2. > 3. pkt raczej nie zadziała, przynajmniej w moim wykonaniu ;) bo tego próbowałem zanim tu napisałem. 2. coś właśnie poczytałem i chyba będzie ok :) dzięki wielkie! PS> OT: PCz? :) -- Pozdrawiam, Konrad
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads