更新时间:2016-01-12 17:35:12浏览次数:1+次
下面是我们程序的效果图:
#include "windows.h"
#include <tchar.h>
#include <vector>
using namespace std;
TCHAR tip[]=_T("C++技术网www.cjjjs.com");
// - 项目是Unicode字符集
LRESULT CALLBACK WinProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
{
HDC hdc;
RECT rect;
HBRUSH hBrush;
static int iR=0,iG=0,iB=0;
static int c=0;
switch (message)
{
case WM_CREATE:
SetTimer(hwnd,1,50,NULL);//创建计时器
return 0;
case WM_TIMER:
{
hdc= GetDC(hwnd);
GetClientRect(hwnd,&rect);//获得客户区的矩形
//循环的修改颜色
switch(c%3)
{
case 0:
iR++;
if (iR==255)
{
iR=0;
c++;
}
break;
case 1:
if (iG==255)
{
iG==0;
c++;
}
iG++;
break;;
case 2:
if (iB==255)
{
iB==0;
c++;
}
iB++;
break;
}
//创建画刷
hBrush = CreateSolidBrush(RGB(iR,iG,iB));
FillRect(hdc,&rect,hBrush);//填充矩形
DeleteObject(SelectObject(hdc,GetStockObject(WHITE_BRUSH)));//删除画刷
ReleaseDC(hwnd,hdc);
}
return 0;
case WM_DESTROY:
KillTimer(hwnd,1);
PostQuitMessage(0);
return 0;
default:
break;//跳出到默认处理
}
return DefWindowProc(hwnd, message, wParam, lParam);
}
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrev,LPSTR lpCmd,int iShow)
{
TCHAR ClassName[] = _T("MyClass");
TCHAR title1[] = _T("C++技术网http://www.cjjjs.com");
WNDCLASS wndClass;
wndClass.cbClsExtra=0;
wndClass.cbWndExtra=0;
wndClass.hbrBackground= (HBRUSH)GetStockObject(WHITE_BRUSH);
wndClass.hCursor=LoadCursor(NULL,IDC_ARROW);
wndClass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wndClass.hInstance = hInstance;
wndClass.lpfnWndProc = WinProc;
wndClass.lpszClassName = ClassName;
wndClass.lpszMenuName=NULL;
wndClass.style=CS_HREDRAW|CS_VREDRAW|CS_DBLCLKS;
if(!RegisterClass(&wndClass))return 0;
HWND hwnd = CreateWindow(ClassName,title1,WS_OVERLAPPEDWINDOW,0,0,350,400,NULL,NULL,hInstance,NULL);
ShowWindow(hwnd,SW_SHOWNORMAL);
MSG msg;
while (GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
相关资讯