1. 프레임윈도우컨트롤툴 툴바, 툴팁, 상태바 2. 복합대화상자속 소속성페이지, 복수 속성페이지 3. 윈도우 탐색기 컨트롤 TreeView, ListView 4. 기타컨트롤 에니메이션, 드래그 리스트, 헤더, 핫키, 이미지리스트, 속성바, 리치에디트, 탭, 트랙커블, 업다운 구현 1. #include 2. #pragrma comment(lib, "comctl32.lib") 3. InitCommonControl(); 라이브러리 초기화 - 공유컨트롤 클래스를 RegisterClass 로 등록함 =================== WM_NOTIFY 메시지로 처리 wParam : 윈도우ID lParam : 결과값 정보 포인터 (NMHDR) NMHDR nm =(NMHDR)lParam; typedef struct ..
프로그램이 종료가 되지않지 않는 한 IsDialogMessage() 는 항상 TRUE 값을 가지므로 무한 메시지루프 가능해짐.모달과 모덜리스 차이점 1. WS_VISIBLE 기본값 2. 메시지 큐 사용 3. 모덜리스다이얼로그 종료시키기 위해 DestroyWindow(hDlg) 사용 123456789101112131415161718192021222324252627282930313233343536373839HWND hDlgModeless; // 외부변수BOOL CALLBACK ColorScrDlg(HWND, UINT, WPARAM, LPARAM); // 모달리스다이얼로그 메시지 처리함수 int APIENTRY wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE h..
DialogBox 다이얼로그 상자 폭은 글자 폭의 1/4, 높이는 글자 높이의 1/8 단위로 취급한다. 윈도우 프로시저에서 DialogBox(hInstance, ""다이얼로그박스 이름", hWnd, 다이얼로그박스 메시지처리콜백함수); 로 다이얼로그박스를 만들면 모든 메시지는 윈도우프로시저에서 받아 다이얼로그박스 메시지처리함수로 전달하게된다. BOOL CALLBACK 다이얼로그메시지처리함수(HWND hDlg, UINT iMsg, WPARA wParam, LPARAM lParam) { .... return FALSE; } 다이얼로그 프로시저가 윈도우프로시저와 다른점 - LRESULT 가 아닌 BOOL 타입을 리턴한다. - 윈도우 프로시저는 특정메시지를 처리하지 못하면 DefWindowProc()를 호출하지만..
ListView #include #pragma comment(lib, "comctl32.lib") // Lib 추가 InitCommonControls(); // 공용컨트롤 초기화, WinMain() 클래스 등록 아래에 추가 를 추가한다. - 이벤트처리 공용컨트롤은 WM_COMMAND 가 아닌 WM_NOTIFY 로 처리 wParam = 윈도우ID lParam = NMHDR 구조체 typedef struct tagNMHDR { HWND 컨트롤윈도우핸들; UINT 컨트롤윈도우ID; UINT 이벤트값; } NMHDR; NM_CLICK NM_DBCLICK NM_SETFOCUS NM_KILLFOCUS NM_RETURN NM_OUTOFMEMORY - 컬럼(타이틀) 만들기 int ListView_InsertColumn..