툴바 HWND CreateToolbarEx( HWND 부모윈도우핸들, DWORD 툴바스타일, UINT 툴바컨트롤ID, int 툴바의이미지갯수, HINSTANCE 인스턴스핸들 = hInst, UINT 비트맴ID, LPCTBBUTTON 버튼정보구조체, int 버튼수, int 버튼가로크기, int 버튼세로크기, int 버튼에사용할이미지가로크기, int 버튼에사용할이미지세로크기, UINT 버튼정보구조체크기); WS_VISIBLE | WS_CHILD | WS_BORDER WS_CLIPSIBLINGS : 프레임에 붙어 있는 느낌을 주는 역활 CCS_TOP : 툴바를 상단에 붙임 CCS_BOTTOM : 툴바를 하단에 붙임 typedef struct _TBBUTTON { int 비트맵번호; int 메뉴ID; // WM..
트리컨트롤 1. 데이터 넣기 int TreeView_InsertItem(HWND 트리컨트롤핸들, TV_INSERTSTRUCT 트리구조체); typedef struct _TV_INSERTSTRUCT { HTREEITEM 부모트리아이템; // ROOT 지정, NULL인 경우 자신이 ROOT가 된다 HTREEITEM 자식트리아이템; // TVI_LAST 지정해서 트리 끝에 추가 TV_ITEM 아이템구조체; } TV_INSERTSTRUCT, FAR* LPTV_INSERTSTRUCT; typedef struct _TV_ITEM { UINT 구조체멤버선택마스크; HTREEITEM 아이템고유번호; UINT 상태; UINT 상태마스크; LPSTR 문자열; int 문자열최대길이; int 이미지번호; int 선택했을때아이..
모달리스 대화상자 대화상자 종료되기 전에 부모 윈도우로 포커스 이동 가능 CreateDialog(HINSTANCE hInst, LPCTSTR 대화상자ID, HWND 부모윈도우핸들, DLGPROC 대화상자메시지처리함수); 메모리 상에 대화상자 만들고 ShowWindow(대화상자핸들, SW_SHOW) 호출해야만 화면에 보여준다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { HWND hModaless; switch (message) { case WM_COMMAND: { int wmId = LOWORD(wParam); // 메뉴 선택을 구문 ..
- API에서 Dialog기반 프로그래밍은 아래와 코드와 같이 WinMain()에서 DIalogBox() 호출하고 WndProc() 대신 DIalogProc() 등록해서 메시지 처리해주면 된다. - 메시지 루프 구현 없이도 메시지 처리가 된다. IDD_DIALOG : 화면에 보여줄 Dialog ID HWND_DESKTOP : 부모윈도우핸들 DialogProc : Dialog 메시지 처리함수명 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 BOOL CALLBACK DialogProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam); int APIENTRY WinMain(HINSTANCE ..