컴퓨터 공부/Win32 API 프로그래밍

[5월 7일 2교시] 공통 컨트롤 3

려리군 2009. 5. 7. 15:59

날짜 선택 컨트롤

클래스명 : DATETIMEPICK_CLASS


툴바

툴바 생성 함수

참고주소 : http://msdn.microsoft.com/en-us/library/bb787469(VS.85).aspx


메세지 처리 

((LPNMHDR)lParam)->code가 TTN_NEEDTEXT : 툴팁에 뿌려질 문자열이 필요할 때 부모 윈도우에게 메세지를 보냄.

((LPTOOLTIPTEXT)lParam)->lpszText는 툴팁에 지정할 문자열의 포인터를 지정.


※ WM_NOTIFY

참고주소 : http://msdn.microsoft.com/en-us/library/bb775583(VS.85).aspx

공통 컨트롤이 부모 윈도우로 보내는 통지 메세지

lParam으로 공통 컨트롤 정보에 필요한 구조체 포인터가 전달됨.

 - LPNMHDR (Long Pointer Notify Message HeaDeR) : 더 큰 구조체에서 항상 첫 요소로 와야 한다.

 - 공통 컨트롤에 따라 더 큰 구조체 필요.

typedef struct tagNMTTDISPINFO {

    NMHDR      hdr;

    LPTSTR     lpszText;

    TCHAR       szText[80];

    HINSTANCE  hinst;

    UINT       uFlags;

#if (_WIN32_IE >= 0x0300)

    LPARAM     lParam;

#endif

#if (_WIN32_WINNT >= 0x0600)

    HBITMAP hbmp;

#endif

} NMTTDISPINFO, *LPNMTTDISPINFO;

wParam으로는 ID값이 전달됨.


Status Bar

CreateStatusWindow(스타일, 문자열, 부모윈도우, ID)

참고주소 : http://msdn.microsoft.com/en-us/library/bb760762(VS.85).aspx


Property Sheet

PROPSHEETPAGE구조체 : sheet 한 장(페이지)를 표현.

참고주소 : http://msdn.microsoft.com/en-us/library/aa815151(VS.85).aspx

dwFlags : 어떤 union요소를 쓸 것인지 표현하는 플래그 변수.

PSP_DLGINDIRECT가 set이면 pResource, clear면 pszTemplate

PSP_USEHICON이 clear면 hIcon무시

PSP_USEICONID이 clear면 pszIcon무시

pfnDlgProc : 대화상자 프로시저

pfnCallback : 페리지가 만들어지거나 파괴될 때 호출되는 콜백함수. PSP_USECALLBACK을 set해야 함.


PROPSHEETHEADER구조체 : sheet 여러 장을 관리하도록 하는 구조체.

참고주소 : http://msdn.microsoft.com/en-us/library/bb774546(VS.85).aspx

dwFlags : 어떤 union요소를 쓸 것인지 표현하는 플래그 변수.

PSH_MODELESS, PSH_NOAPPLYNOW, PSH_PROPSHEETPAGE, PSH_WIZARD

nPage : 페이지 개수.

ppsp : PROPSHEETPAGE 구조체의 배열 포인터
pfnCallback : 초기화될 때 호출될 콜백함수.