|
1) グローバル変数の定義
2) ブラシの作成
|
h2000 = CreateSolidBrush( RGB( 58,109,165 ) );
| |
|
3) ブラシの削除
4) WM_ERASEBKGND メッセージでブラシを適用
|
case WM_ERASEBKGND: /* メッセージ: 背景をクリア */
HGDIOBJ hOld;
RECT rt;
hOld = SelectObject( (HDC)wParam, h2000 );
GetClientRect(hWnd, &rt);
PatBlt( (HDC)wParam, rt.left, rt.top, rt.right-rt.left, rt.bottom-rt.top, PATCOPY );
SelectObject( (HDC)wParam, hOld );
return TRUE;
| |
|
|
|
1) グローバル変数
2) コントロール作成
|
DWORD style;
style = WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL |
ES_MULTILINE | ES_WANTRETURN;
RECT Rect;
GetClientRect( hWnd, (LPRECT)&Rect);
hMedit = CreateWindow( "edit",
NULL, style, 0, 0, Rect.right-Rect.left, Rect.bottom-Rect.top-20, hWnd, NULL, hInst, NULL);
if ( !hMedit ) {
DestroyWindow( hWnd );
return FALSE;
}
| |
|
3) WM_SIZE メッセージの適用
|
MoveWindow( hMedit, 0, 0, LOWORD(lParam), HIWORD(lParam)-20, TRUE);
| |
|
|
マルチラインエディットコントロールの背景色とテキスト色 |
|
1) グローバル変数
2) ブラシの作成
|
hMeditBackColor = CreateSolidBrush( RGB( 0,0,0 ) );
| |
|
3) ブラシを削除
|
DeleteObject( hMeditBackColor );
| |
|
4) WM_CTLCOLOREDIT メッセージの適用
|
case WM_CTLCOLOREDIT:
SetTextColor((HDC)wParam, RGB( 255,255,255 ));
SetBkColor((HDC)wParam, RGB( 0,0,0 ));
return (LRESULT)hMeditBackColor;
| |
|
|
起動直後にフォーカスをマルチラインエディトコントロールにフォーカスを移す |
|
WM_CTLCOLOREDIT メッセージに追加
|
case WM_CTLCOLOREDIT:
SetTextColor((HDC)wParam, RGB( 255,255,255 ));
SetBkColor((HDC)wParam, RGB( 0,0,0 ));
SetFocus( hMedit );
return (LRESULT)hMeditBackColor;
| |
|
|
|
1) ヘッダーファイル
2) IDM_OPENFILE でメニューを用意
3) グローバル変数
4) GetOpenFileName をメニューに適用
|
case IDM_OPENFILE:
ofn.lStructSize = sizeof( OPENFILENAME );
ofn.hwndOwner = hWnd;
ofn.hInstance = hInst;
ofn.lpstrFilter = "全て\0*.*\0\0";
ofn.lpstrCustomFilter = NULL;
ofn.nMaxCustFilter = NULL;
ofn.nFilterIndex = 1;
char buffer[_MAX_PATH];
buffer[0] = 0x00;
ofn.lpstrFile = buffer;
ofn.nMaxFile = 4096;
ofn.lpstrFileTitle = NULL;
ofn.lpstrInitialDir = NULL;
ofn.lpstrTitle = "ファイルのオープン";
ofn.Flags = OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
ret = GetOpenFileName( &ofn );
if ( ret == 0 ) {
break;
}
| |
|
|
|