• Tistory
    • 태그
    • 위치로그
    • 방명록
    • 관리자
    • 글쓰기
Carousel 01
Carousel 02
Previous Next

WM_USER 에 대하여.

Programming/C, C++, MFC 2013. 8. 6. 19:29





1. WM_USER 란?


뭐 일단 이름에서 보이듯이 Window Message 이다.

근데 이 메세지가 뭐냐 하니 

사용자가 메세지를 전달하고 싶을경우가 분명히 있을거란 말이지.

근데 사용자가 아무렇게나 뭐 예를들어 #define message 1004

이렇게 정의하고 쓸수 있지.. 암 근데 이게 시스템에서 이미 쓰는 주소라면 문제가 되는거지

그래서 미리 시스템에서 사용자가 Window Message로 사용할수 있게 예약하둔 공간을 가리키는 포인터다.


2. WM_USER의 범위는?


이건 뭐 일단 질문이 조금 이상한데 

시스템에서 사용자의 메세지 사용을 위해 0x0400 부터 0x7FFF 까지의 주소를 예약 해 뒀다고 한다.

WM_USER는 저 구역의 시작점을 나타내는 0x0400 이 메모리 번지를 가리키는 포인터 고.


그래서 

WM_USER + 100 이런식으로 사용이 가능하다.


3. WM_USER 의 전송은?


자신의 윈도우에서 처리할때는 

PostMessage(WM_USER);

SendMessage(WM_USER);


모든 윈도우로 전송할때는

::PostMessage(HWND, WM_USER, WPARAM, LPARAM);

::SendMessage(HWND, WM_USER, WPARAM, LPARAM);


을 이용하여 전송 해주면 된다.


4. WM_USER 의 수신 및 처리는?


메세지를 받아서 처리하고자 할때는 세가지 작업을 해 주어야 한다.


첫째는 MESSAGEMAP 에 추가를 해주는것.

BEGIN_~ 와 END_~ 사이에 ON_MESSAGE(WM_USER, OnFunction); 를 추가해준다


둘째는 헤더파일에 메세지 수신시 처리할 루틴을 선언 해준다

Afx_msg LRESULT OnFunction( WPARAM wParam, LPARAM lParam );


세번째로 선언된 처리 루틴의 내용을 작성 해준다.

LRESULT 클래스명::OnFunction( WPARAM wParam, LPARAM lParam )

{

처리할 내용 작성;

}


이렇게 세가지를 추가해주면 원하는 메세지를 받았을때 처리하고자 하는 대로 처리가 가능하다.


저작자표시 비영리 (새창열림)

'Programming > C, C++, MFC' 카테고리의 다른 글

유효숫자 만큼 나타내기  (0) 2013.11.07
char* <--> CString 변환 함수  (0) 2013.11.07
Dialog based program 에서 Menu 만들기.  (0) 2013.08.06
Device Context ( DC )  (1) 2013.08.06
GetDlgItem() 함수를 이용하기  (0) 2013.07.03
블로그 이미지

매직블럭

작은 지식들 그리고 기억 한조각

,

카테고리

  • 살다보니.. (448)
    • 주절거림 (3)
    • 취미생활 (36)
      • 지식과 지혜 (3)
      • 풍경이 되어 (4)
      • Memories (17)
      • 엥겔지수를 높여라 (2)
    • mathematics (6)
      • Matrix Computation (2)
      • RandomProcesses (3)
    • English.. (8)
    • Programming (147)
      • C, C++, MFC (51)
      • C# (1)
      • OpenCV (17)
      • Python (58)
      • Git, Docker (3)
      • Matlab (4)
      • Windows (3)
      • Kinect V2 (2)
      • 기타 etc. (8)
    • 전공관련 (80)
      • Algorithm (6)
      • Deep Learning (54)
      • 실습 프로그램 (4)
      • 주워들은 용어정리 (8)
      • 기타 etc. (8)
    • Computer (118)
      • Utility (21)
      • Windows (31)
      • Mac (4)
      • Ubuntu, Linux (58)
      • NAS (2)
      • Embedded, Mobile (2)
    • IT, Device (41)
      • 제품 사용기, 개봉기 (14)
      • 스마트 체험단 신청 (27)
    • Wish List (3)
    • TISTORY TIP (5)
    • 미분류. 수정중 (1)

태그목록

  • matlab function
  • 스마트체험단
  • 매트랩
  • utility
  • ColorMeRad
  • random variable
  • 갤럭시노트3
  • 딥러닝
  • SVM
  • portugal
  • 에누리닷컴
  • CStdioFile
  • 일본
  • 크롬
  • 칼로리 대폭발
  • matlab
  • function
  • Deep Learning
  • DSLR
  • Convolutional Neural Networks
  • 오봉자싸롱
  • LIBSVM
  • 포르투갈
  • DeepLearning
  • 매트랩 함수
  • 큐슈
  • Computer Tip
  • review
  • ReadString
  • 후쿠오카

달력

«   2025/05   »
일 월 화 수 목 금 토
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
05-25 21:02

LATEST FROM OUR BLOG

RSS 구독하기

BLOG VISITORS

  • Total :
  • Today :
  • Yesterday :

Copyright © 2015 Socialdev. All Rights Reserved.

티스토리툴바