Q&A

  • [질문] SendMessage, ActiveMDIChild.Handle 도저히 모르겠습니다.
<!--CodeS-->

    if Msg.message = WM_KEYUP then begin
        Case Msg.wParam of
            VK_F2  : if self.New_But.Enabled then
                       SendMessage(ActiveMDIChild.Handle, WM_USER + 100, 11, 0); //신규
           VK_F3  : if self.Open_But.Enabled then
                        SendMessage(ActiveMDIChild.Handle, WM_USER + 100, 12, 0); //열기
           VK_F4  : if self.Save_But.Enabled then
                        SendMessage(ActiveMDIChild.Handle, WM_USER + 100, 13, 0); //저장
           VK_F5  : if self.Delete_But.Enabled then
                        SendMessage(ActiveMDIChild.Handle, WM_USER + 100, 14, 0); //삭제
           VK_F12 : if self.Print_But.Enabled then
                        SendMessage(ActiveMDIChild.Handle, WM_USER + 100, 20, 0); //종료
           VK_F1  : if MDIChildCount > 0 then
                        SendMessage(ActiveMDIChild.Handle, WM_USER + 100, 21, 0); //종료
        end;
    end;

<!--CodeE-->

현황조회를 하는 화면에서 품목선택후 열기버튼을 클릭시에 선택품목에 해당하는 자료가 조회됩니다.

열기버튼 이외에 펑션 F3키( VK_F3 ) 를 누를때에도 열기에 해당하는 이벤트가 동일하게 발생합니다.

그런데 어느순간부터 F3키가 열기이벤트는 발생하는데  발생전 품목검색을 위한 품목코드가 클리어 되버려

전체 품목을 조회해 버립니다. 있는거만 가져다 쓰는 초보이다 보니 어찌해야 할지를 모르겠네요.

업체서 사용가능하도록 조치를 취해줘야하는데 좀 도와주세요~

if self.Open_But.Enabled then
SendMessage(ActiveMDIChild.Handle, WM_USER + 100, 12, 0); //열기

SendMessage며 파라메타에 들어가는 값이 무엇을 뜻하는지도 잘모르겠어요
인터넷을 검색해봐도 잘 모르겠습니다.


2  COMMENTS
  • Profile
    최용일 2009.08.04 20:12
    WM_USER + 100로 검색해서 메세지핸들러를 찾으시고 디버깅을 해보세요.
    쩝~ 질문하신것을 보니 책한권은 꼭 보셔야 겠네요...
  • Profile
    초보자 2009.08.04 22:09
    책을 보라면 API관련책을 말씀하시는건지요? 가르쳐주는 사람없이 혼자 해나가려니
    힘이드네요~
    • 하늘사랑
      2009.08.11 01:57
      문제 해결했습니다 모두 감사드립니다 ^^
    • 김동원
    • 2009.08.10 18:42
    • 2 COMMENTS
    • /
    • 0 LIKES
    • KDDG_Apine
      2009.08.12 04:04
      정확히 이해가 가지 않습니다. 프로시져는 반복문으로 처리 하기 위해 만드는 것이고 같은 것이라면 ...
    • 김동원
      2009.08.14 18:13
      답변 감사드립니다. 추후에 자세히 올리도록 하겠습니다.꾸벅
    • 백록화
      2009.08.11 01:13
      보기 를 할경우엔 줄바꿈이 그대로 보여지고... 검색해서 보여줄땐 줄바꿈이 없이 보여준다는 말씀이신...
    • 구창민
      2009.08.11 02:25
      안녕하세요.. 엄밀히 말하면 이미지를 넣는것이 아니고.. 포인터를 기억하는 것이겠지요.. 추가시는 ...
    • 이은주
      2009.08.11 19:38
      ^ 사용하지 않은 이런 형태로도 포인터를 기억하게 하는 것인가 보군요. 감사합니다.
    • 장용석
    • 2009.08.07 20:23
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      2009.08.07 21:03
      2007 입니다~ www.devtools.co.kr 로 문의 해보세요 ㅋ
    • 이정욱
      2009.08.07 21:03
      혹시나 새로 프로젝트를 하는거라면 당연히 2009 를 추천하구요... 2010도 좋다는 소문이 있습니다.
    • 바람
      2009.08.07 23:43
      Serial Component를 잘 사용해 보지 않아서 에러 이유는 모르겠지만 제가 기억하고 있는 MS-Dos S...
    • 타마마
      2009.08.12 00:36
      간단한 문제가 아니라 설명드리기 난해하긴 한데.. 해당 컴포넌트가 CreateFile을 사용했는가, DeviceIo...
    • 이경원
    • 2009.08.07 19:04
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2009.08.07 23:14
      except 구문속을 아래처럼 수정하시고, 에러 내용을 로그로 남겨 확인해보세요.. except on E : Ex...
    • 하늘사랑
      2009.08.07 03:31
      글올리고 하나보니.. 다시질문드릴께요 ㅠㅠ;; <p0 AVG="0.28"> 이부분에서 0.28 이란 값이없...
    • 하늘사랑
      2009.08.07 19:20
      에구.. 답글이 없내요 ㅠㅠ;; 그냥 except처리해버렸는뎅.. ㅠㅠ;; 또한가지 <p0 AVG="0.28"> ...
    • 구창민
      2009.08.07 23:21
      안녕하세요.. XMLDocument 를 사용하셨다 가정하구 말씀드릴께요~ p0 노드까지 구해내셨다면, 아래...
    • 하늘사랑
      2009.08.10 20:11
      답변 감사드립니다 ^^ 가져오는거 하고 수정하는것도 다 처리했습니다 ^^;;; 글을 늦게 봤내요 ㅠㅠ;;;...
    • 구창민
      2009.08.11 00:25
      안녕하세요.. 노드까지 찾으셨다면.. for 문은 사용하실 필요없고요.. 단순히 아래 문장을 호출 하시...
    • 하늘사랑
      2009.08.11 01:56
      답변감사합니다 ^^ 문제해결했습니다 정말 감사드립니다 ^^
    • 초보자
    • 2009.08.04 19:29
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2009.08.04 20:12
      WM_USER + 100로 검색해서 메세지핸들러를 찾으시고 디버깅을 해보세요. 쩝~ 질문하신것을 보니 책한권...
    • 초보자
      2009.08.04 22:09
      책을 보라면 API관련책을 말씀하시는건지요? 가르쳐주는 사람없이 혼자 해나가려니 힘이드네요~
    • 최용일
      2009.08.03 22:12
      기존 연결을 끊고 해보세요.
    • 델델
      2009.08.12 02:43
      myDB.Database1.KeepConnection :=false; 이 부분이 기존 연결을 끊는거 아닌가요? ㅠㅠ
    • 최용일
      2009.08.12 17:51
      전혀 아닌데요... Database1.Connected := False;
    • 오경용
      2009.07.30 10:26
      LongDateFormat := 'yyyy-MM-dd'; LongTimeFormat := 'hh:mm:ss'; ... ... if Fields[i].F...
    • 윤영훈
      2009.08.09 22:15
      오오- 감사합니다. TStringList로 자르고 오후가 나오면 +12하는 등으로 해서 복잡하게 만들었던 부분이...
    • 유경민
    • 2009.07.30 03:54
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 소울해커
      2009.08.05 18:40
      확인눌렀을때 위의 if문을 전부 확인할수 있게 하고 싶습니다. <-- 의미파악 불명 뭘 확인을 누...
    • 유경민
      2009.08.26 06:25
      ㅎㅎ 죄송해요 답변이 늦었죠 어떻게 쪼물딱 거리니 되더라고요 답변 감사합니다^^
    • 여운병
      2009.07.31 00:24
      어떤 오류인지 알아야 답변 가능할 것 같은데요? 소스코드라도...
    • 박찬석
      2009.07.31 00:55
      uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Men...
    • 여운병
      2009.07.31 01:42
      uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, M...
    • 소울해커
      2009.08.05 18:47
      델파이에서 필드를 불러올때 인덱스 값으로 불러오시면서 Suju 테이블의 필드 수를 초과해서 지정하신...
    • 유경민
    • 2009.07.29 11:43
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 소울해커
      2009.08.05 18:42
      전역 키보드 후킹에 대하여 공부하셔야 될 겁니다. 그런데 뭘 만드시기 위해 고런 형태가 필요하신지....
    • 유경민
      2009.08.07 01:26
      출결 프로그램 만들고 있습니다. 컴퓨터가 2대면 상관없는대 출결프로그램 구동시 다른작업을 할수 없기...
    • 임대순
      2009.07.27 23:37
      흠...레코드카운더면 될꺼 같은데요...이상 초보의 답변있었습니다.
    • 백록화
      2009.07.28 20:45
      A로 시작하는거 Select 회원코드필드 from tbl_name where 회원코드필드 like 'A%'; max 함수로 ...
    • 정락문
      2009.07.28 22:22
      백록화님이 하신 것 처럼... 모방을 하면 조건절에 이렇게 들어가도 될 듯 해요. Select 회원코드필드 ...
    • phono
      2009.07.29 07:30
      일단 파이어버드는 인터베이스랑 거의 같은 sql을 쓸텐데.. , 일단 지금 제가 사용하고 있는 db가 ms-...
    • 윤영훈
      2009.07.29 19:02
      사실은 방법을 못찾다가 A, B, C를 구분하는 새로운 필드를 하나 더 만들어서 검색하고 있었는데, 좋은 ...
    • 얼씨구
    • 2009.07.25 19:47
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 정락문
      2009.07.28 22:29
      델파이 코딩으로 하려면, 제일 단순한 방법은 2개의 DB에 접근해서 처리하는 거죵. 1. 10분 주기로 프...