GUI
-
달력(month calendar) 컨트롤 - Win32GUI/컨트롤 2009. 8. 19. 22:46
MCM_GETCURSEL WM_NOTIFY MCN_SELECT void GetSelectedDate(HWND hwndMonthCal, HWND hwndLabel) { SYSTEMTIME time; TCHAR date[50]; ZeroMemory(&time, sizeof(SYSTEMTIME)); SendMessage(hwndMonthCal, MCM_GETCURSEL, 0, (LPARAM) &time); _stprintf(date, _T("%d/%d/%d"), time.wMonth, time.wDay, time.wYear); SetWindowText(hwndLabel, date); } LRESULT CALLBACK WndProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM ..
-
날짜/시간 선택(date and time picker; DTP) 컨트롤 - Win32GUI/컨트롤 2009. 8. 19. 22:23
IE 3.0과 함께 제공 공통 컨트롤 버전 4.70 이후부터 제공 DateTime_GetSystemtime() DateTime_SetSystemtime() #include LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam) { static HWND hDtp; switch (iMessage) { case WM_CREATE: { INITCOMMONCONTROLSEX icex; icex.dwSize=sizeof(icex); icex.dwICC=ICC_DATE_CLASSES; InitCommonControlsEx(&icex); hDtp=CreateWindow(DATETIMEPICK_CLASS, "DTP",WS_BORDER |..
-
콤보 박스 - Win32GUI/컨트롤 2009. 8. 19. 18:05
"COMBOBOX"CBS_DROPDOWN|CBS_DROPDOWNLIST CB_RESETCONTENTCB_ADDSTRINGCB_SETCURSELCB_GETCURSELCB_GETLBTEXT CBN_SELCHANGECBN_EDITCHANGE LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam){ static HWND hCombo; static TCHAR *Items[]={TEXT("Apple"),TEXT("Orange"),TEXT("Melon"),TEXT("Grape"), TEXT("Strawberry")}; switch (iMessage) { case WM_CREATE: { int i; hCombo=CreateWindow(..
-
-
-
캐럿GUI/컨트롤 2009. 7. 30. 22:28
CreateCaret() DestroyCaret() ShowCaret() SetCaretPos() #include #pragma comment(lib, "imm32") int GetCharWidth(HDC hdc, TCHAR *ch, int len) { SIZE sz; GetTextExtentPoint32(hdc, ch, len, &sz); return sz.cx; } static BOOL bComp; static TCHAR *buf; static int off; static int FontHeight; void SetCaret(HWND hWnd) { SIZE sz; HDC hdc; int toff; int caretwidth; hdc=GetDC(hWnd); if (bComp) { toff=off-2; ..
-
IME - Win32GUI/컨트롤 2009. 7. 30. 02:09
시스템은 IME 윈도우의 변화나 조립 문자열의 변화 등 IME의 모든 상태 변화에 대해 WM_IME_로 시작되는 IME 메시지를 포커스를 가진 윈도우에게 보낸다. WM_IME_SETCONTEXT 응용 프로그램이 활성/비활성화 WM_IME_NOTIFY IMN_OPENSTATUSWINDOW 상태 윈도우를 열었다 // ?? 한영 변환 WM_IME_NOTIFY IMN_SETOPENSTATUS IMN_SETCONVERSIONMODE 조립 윈도우 WM_IME_STARTCOMPOSITION 디폴트 IME 윈도우는 이 메시지를 받았을 때 조립 윈도우를 보여준다. 이 메시지를 DefWindowProc으로 보내지 않으면 조립 윈도우는 나타나지 않는다. WM_IME_ENDCOMPOSITION WM_IME_COMPOSITIO..
-
오너 드로우GUI/컨트롤 2009. 7. 6. 16:38
리스트 박스 LBS_OWNERDRAWFIXED|LBS_OWNERDRAWVARIABLE c.f. on WM_CTLCOLORLISTBOX 메뉴 버튼 c.f. on WM_CTLCOLORBTN 콤보 박스 리스트 뷰 WM_PAINT를 오버라이딩? 부모 윈도우가 대신 그릴 수 있게 해준다. // 문자열이 아닌 {고정 크기 스타일|가변 크기 스타일} on WM_MEASUREITEM .itemHeight on WM_DRAWITEM .CtlType .CtlID .itemState ODS_SELECTED .hDC .rcItem .itemData