ウインドウの背景色を変更

  グローバル変数を追加



  
#include "stdafx.h"
#include "resource.h"

#define MAX_LOADSTRING 100

// グローバル変数:
HINSTANCE hInst;					// 現在のインスタンス
TCHAR szTitle[MAX_LOADSTRING];			// タイトル バー テキスト
TCHAR szWindowClass[MAX_LOADSTRING];		// タイトル バー テキスト
HBRUSH	h2000;
HGDIOBJ hOld;
RECT rt;
// このコード モジュールに含まれる関数の前宣言:
ATOM			MyRegisterClass( HINSTANCE hInstance );
BOOL			InitInstance( HINSTANCE, int );
LRESULT CALLBACK	WndProc( HWND, UINT, WPARAM, LPARAM );
LRESULT CALLBACK	About( HWND, UINT, WPARAM, LPARAM );
  



  初期処理と最終処理



InitInstance の先頭
  
h2000 = CreateSolidBrush( RGB( 58,109,165 ) );	// ウインドウの背景色
  

CreateSolidBrush

WinMain
  
while( GetMessage(&msg, NULL, 0, 0) ) {
	if ( !TranslateAccelerator (msg.hwnd, hAccelTable, &msg) ) {
		TranslateMessage( &msg );
		DispatchMessage( &msg );
	}
}

if ( h2000 != NULL ) {
	DeleteObject( h2000 );
}
  



  メッセージ処理の追加

  
case WM_ERASEBKGND:		// ウインドウの背景色
	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;
  

WM_ERASEBKGND
PatBlt



  ダイアログの場合

  
case WM_CTLCOLORDLG:
	return (LRESULT)h2000;
  



  コントロールの背景色

スタティックコントロール
  
case WM_CTLCOLORSTATIC:
	SetTextColor((HDC)wParam, RGB( 255,255,255 )); // テキスト色
	SetBkColor((HDC)wParam, RGB( 58,109,165 )); // テキスト部分背景色
	return (LRESULT)h2000;
  

エディットコントロール
  
case WM_CTLCOLOREDIT:
	SetTextColor((HDC)wParam, RGB( 255,255,255 )); // テキスト色
	SetBkColor((HDC)wParam, RGB( 58,109,165 )); // 入力部分背景色
	return (LRESULT)h2000; // コントロール背景色
  










  infoboard   管理者用   
このエントリーをはてなブックマークに追加





フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ