Q&A

  • [또질문]MDI폼에서...KeyDown,KeyPress, Keyup 이벤트..??
안녕하세요...

다시질문을 드립니다.

많은 지도 부탁드립니다...



MDI폼에서 KeyDown,KeyPress, Keyup 이벤트가 먹질안는데...왜안되죠....???

이것저것 해보다가 답답해서 질문을 드립니다...

그런데...

SDI폼에서는 잘되거든요....근데...MDI에는 위의 이벤트가 통 먹질않는군요...



정확히 설명을 드리면...

MDI폼에서 Child폼을 띠우지않고...MDI메인폼 그자체에서

KeyDown,KeyPress, Keyup 이벤트를 타지않습니다....

그런데...MDI메인폼안에 버튼을 올려두고 그버튼에 포커스를 위치시키면

KeyDown,KeyPress,Keyup 이벤트가발생합니다...(이상하다)

당연히 KeyPreview는 True인데말이죠...(혹시버그가아닐지..)



제가 아직 부족한것이 많아 잘모르고 떠들어대고 있는지도 모르겠군요..

해결방법을 아시는 고수님에게 감히 부탁드립니다....

정말 왜안되죠..???...제가 아직 부족한것이 많아서 그러니 너그러이 이해하시고...

답해주시면 정말 감사하겠습니다....



델파이를 사랑하는 모든분들이 항상 행복하시고 늘 건강하시길 이땅의 모든

신들에게 기도드립니다....



감사합니다...



1  COMMENTS
  • Profile
    구창민 2000.07.18 21:01
    안녕하세요? 구창민입니다.



    고수는 아니구요..^^;;;



    말씀을 듣고 해보니, 사실이더군요.



    아래코드는 아침에 메세지를 가로채는 편법을 이용해 작성 해본 내용인데,

    번거롭겠지만 아래 방법을 이용해 보시는건 어떨런지요.





    unit Unit1;



    interface



    uses

    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

    StdCtrls;



    type

    TForm1 = class(TForm)

    procedure FormCreate(Sender: TObject);

    private

    { Private declarations }

    public

    { Public declarations }

    procedure ChangminKeyInterceptor(var Msg: TMsg; var Handled: Boolean);

    end;



    var

    Form1: TForm1;



    implementation



    {$R *.DFM}



    procedure TForm1.ChangminKeyInterceptor(var Msg: TMsg; var Handled: Boolean);

    begin

    if (Form1 <> nil) and

    (Msg.Message = WM_KEYDOWN) then

    begin

    if (Msg.wParam = VK_DELETE) then ShowMessage('Delete 키를 눌렸다.');

    if (Msg.wParam = VK_RETURN) then ShowMessage('Enter 키를 눌렸다.');

    if (Msg.wParam = VK_F9) then showMessage('F9 키를 눌렀다.');

    end;



    if (Form1 <> nil) and

    (Msg.Message = WM_KEYUP) then

    begin

    if (Msg.wParam = VK_DELETE) then ShowMessage('Delete 키를 뗏다.');

    if (Msg.wParam = VK_RETURN) then ShowMessage('Enter 키를 뗏다.');

    if (Msg.wParam = VK_F9) then ShowMessage('F9 Key 키를 뗏다.');

    end;

    end;







    procedure TForm1.FormCreate(Sender: TObject);

    begin

    Application.OnMessage := ChangminKeyInterceptor;

    end;



    end.



    그럼~ 즐거운 프로그래밍 하시길~







    허일학 wrote:

    > 안녕하세요...

    > 다시질문을 드립니다.

    > 많은 지도 부탁드립니다...

    >

    > MDI폼에서 KeyDown,KeyPress, Keyup 이벤트가 먹질안는데...왜안되죠....???

    > 이것저것 해보다가 답답해서 질문을 드립니다...

    > 그런데...

    > SDI폼에서는 잘되거든요....근데...MDI에는 위의 이벤트가 통 먹질않는군요...

    >

    > 정확히 설명을 드리면...

    > MDI폼에서 Child폼을 띠우지않고...MDI메인폼 그자체에서

    > KeyDown,KeyPress, Keyup 이벤트를 타지않습니다....

    > 그런데...MDI메인폼안에 버튼을 올려두고 그버튼에 포커스를 위치시키면

    > KeyDown,KeyPress,Keyup 이벤트가발생합니다...(이상하다)

    > 당연히 KeyPreview는 True인데말이죠...(혹시버그가아닐지..)

    >

    > 제가 아직 부족한것이 많아 잘모르고 떠들어대고 있는지도 모르겠군요..

    > 해결방법을 아시는 고수님에게 감히 부탁드립니다....

    > 정말 왜안되죠..???...제가 아직 부족한것이 많아서 그러니 너그러이 이해하시고...

    > 답해주시면 정말 감사하겠습니다....

    >

    > 델파이를 사랑하는 모든분들이 항상 행복하시고 늘 건강하시길 이땅의 모든

    > 신들에게 기도드립니다....

    >

    > 감사합니다...

    >

    • tommy
    • 2000.07.18 22:29
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 이발사
      2000.07.22 19:55
      tommy wrote: > > select hbuseoname from cc_buseo //부서코드테이블 > > hbuseoname //...
    • 타락천사
      2000.07.19 07:37
      안녕하세여.. 타락임다..^^ 시간이 널널하니까 이런 답변두 하는군여..^^;;; 퀵리포트로 되져..^^ ...
    • 하얀까마귀
      2000.07.18 22:33
      안녕하세요 하얀까마귀 입니다.. 음.. 전에 답변을 올렸던 내용하고 비슷한것 같은데... 19227번인데...
    • 델초...
    • 2000.07.18 22:22
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 어린왕자
      2000.07.19 00:47
      델초... wrote: > 안녕하십니까?....델 고수님들....허구한날 질문만 해대는 델초입니다... > 요번껀요.....
    • 타락천사
      2000.07.19 07:13
      안녕하세여.. 타락임다..^^ 저두 초본데여..ㅠㅠ ADO 는 ODBC를 사용할수 있게 합니다... ADO가 O...
    • 최연수
    • 2000.07.18 21:57
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 하얀까마귀
      2000.07.18 22:26
      안녕하세요 하얀까마귀 입니다.. 소스를 보야 정확히 파악을 하겠지만.. 지금 말씀하신건 아마 상호참조...
    • 최연수
      2000.07.18 23:19
      네.. 상호 참조 때문이었나 봅니다. 그런데 상호 참조 할수 밖에 없었다고 생각했습니다. FormC는 인쇄...
    • 하얀까마귀
      2000.07.19 01:13
      안녕하세요 하얀까마귀 입니다.. 음... 폼도 클래스거든요?? 아니.. 이건 그냥 넘어가구요.. 출력이 ...
    • 김윤아
    • 2000.07.18 21:45
    • 1 COMMENTS
    • /
    • 0 LIKES
    • Black}{ole
      2000.07.18 21:56
      김윤아 wrote: > TListView에서 Item갯수가 많은데도 > 수직 스크롤바가 안보이는데..어떻게 하면 되는거...
    • 발걸음...
      2000.08.08 03:10
      김유중 wrote: > 안녕하세요. 김유중이라고 합니다. > 제가 문의 드리는 내용은 단순한 날짜형, 시간형 ...
    • 발걸음...
      2000.08.08 03:10
      김유중 wrote: > 안녕하세요. 김유중이라고 합니다. > 제가 문의 드리는 내용은 단순한 날짜형, 시간형 ...
    • 타락천사
      2000.07.19 07:01
      안녕하세여. 타락임다..^^ 저두 다른분덜은 어케 처리하는지 궁금하군여..^^ 저 가튼 경우는 시간 가...
    • parkisu
      2000.07.19 09:36
      타락천사 wrote: > 안녕하세여. 타락임다..^^ > > 저두 다른분덜은 어케 처리하는지 궁금하군여..^^ >...
    • 궁금궁금
      2000.07.18 21:53
      서버의 시간과 날짜에는 이상이 없습니다. 그런데도 정확히 '08:59:59' 만큼 서버의 날짜에서 빼줍니다......
    • 정지호
      2000.07.18 23:18
      궁금궁금 wrote: > 서버의 시간과 날짜에는 이상이 없습니다. > 그런데도 정확히 '08:59:59' 만큼 서버의...
    • Black}{ole
      2000.07.18 21:47
      호야 wrote: > 여섯개의 서브폼에 각각 스트링그리드가 있습니다. > 메인폼에서 삽입이라는 버튼을 눌렀...
    • 호야
    • 2000.07.18 20:38
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 정지호
      2000.07.18 20:26
      호야 wrote: > 스트링그리드에서 오른쪽클릭시 스트링그리드의 Row를 > 알고 싶은데 어떻게 해야하나요?...
    • 김만업
    • 2000.07.18 19:18
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 타락천사
      2000.07.18 19:55
      ^^;;
    • heimdal
      2000.07.18 20:27
      타락천사 wrote: > ^^;; 날짜로 검색을 할려구 디비룩업콤보를 사용했습니다.. 디비에 오늘날짜로 되...
    • 박상길
    • 2000.07.18 19:16
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 송종영
      2000.07.22 01:45
      이렇게 해도 안돼냐요? If (MediaPlayer1.NotifyValue = nvSuccessful) and (MediaPlayer1.Mode = mpSt...
    • 델초김
    • 2000.07.18 11:25
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 타락천사
      2000.07.18 19:53
      안녕하세여.. 타락임다..^^ 흠..애니메이션은 글케 하면 안되여... 우선 화면도 느리구 그림이 깜빡...
    • 델초김
      2000.07.30 03:57
      타락천사 wrote: > 안녕하세여.. 타락임다..^^ > > 흠..애니메이션은 글케 하면 안되여... > > 우선...
    • 박계원
    • 2000.07.18 11:14
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 모질이
      2000.08.26 18:56
      저도 잘은 모르지만 몇자 적어 봅니다.. usb에 대한 자료는 usb.org에 있고요... 근데 거기에는 table...
    • 정지호
      2000.07.18 18:51
      강민우 wrote: > 실행파일을 만들어서.. 다른 컴퓨터에서 테스트를 해보는데.. > 델파이 4가 깔린 컴퓨터...
    • 타락천사
      2000.07.18 20:03
      안녕하세여..타락임다..^^ 전 고수가 아니지만....ㅠㅠ 런타임에러니까 실행파일이 담긴 또는 필요한...
    • 허일학
    • 2000.07.18 10:10
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2000.07.18 21:01
      안녕하세요? 구창민입니다. 고수는 아니구요..^^;;; 말씀을 듣고 해보니, 사실이더군요. 아래코드...
    • 화니
    • 2000.07.18 05:53
    • 1 COMMENTS
    • /
    • 0 LIKES
    • WebKing
      2000.07.18 06:59
      화니 wrote: > 안녕하십니까...여기서 좋은 정보 많이 얻고 있습니다 > > 제가 남의 짜논것을 받아서 ...