#include<windows.h>
#include<stdlib.h>
#include<string.h>
BOOL InitWindowsClass(HINSTANCE hInstance);
BOOL InitWindows(HINSTANCE hInstance,int nCmdShow);
HFONT CreateFont(HDC hDC,int nCharHeight,BOOL bItalic);
int i=0;
int x[11],y[11];
int color[11];
POINT pt;
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPreInstance,LPSTR lpCmdLine,int nCmdShow)
{
MSG Message;
if(!InitWindowsClass(hInstance))
return FALSE;
if(!InitWindows(hInstance,nCmdShow))
return FALSE;
while(GetMessage(&Message,0,0,0))
{
TranslateMessage(&Message);
DispatchMessage(&Message);
}
return Message.wParam;
}
//消息处理函数
LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,UINT wParam,LONG lParam)
{ HDC hDC;
HFONT hF;
PAINTSTRUCT ps;
TEXTMETRIC tm;
char str[]=" Hello VC ";
switch(iMessage)
{
case WM_CREATE:
SetTimer(hWnd,10,100,NULL);
GetCursorPos(&pt);
for(i=0;i<11;i++)
{
x[i]=pt.x;
y[i]=pt.y;
color[i]=25*(i-1);
}
break;
case WM_PAINT:
hDC=BeginPaint(hWnd,&ps);
hF=CreateFont(hDC,40,0);
SelectObject(hDC,hF);
GetTextMetrics(hDC,&tm);
for(i=10;i>1;i--)
{
x[i]=x[i-1]+50;
y[i]=y[i-1];
}
GetCursorPos(&pt);
x[1]=pt.x;
y[1]=pt.y;
for(i=1;i<11;i++)
{
SetTextColor(hDC,RGB(255-color[i],color[i],255));
TextOut(hDC,x[i],y[i],&str[i],1);
}
color[1]=color[10];
for(i=10;i>1;i--)
color[i]=color[i-1];
DeleteObject(hF);
EndPaint(hWnd,&ps);
return 0;
case WM_TIMER:
InvalidateRect(hWnd,NULL,1);
break;
case WM_DESTROY:
PostQuitMessage(0);
KillTimer(hWnd,1);
return 0;
default:
return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}
return 0;}BOOL InitWindowsClass(HINSTANCE hInstance)
{
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=WndProc;
WndClass.lpszClassName="鼠标-键盘综合应用设置示例";
WndClass.lpszMenuName=NULL;
WndClass.style=CS_HREDRAW|CS_VREDRAW;
return RegisterClass(&WndClass);
}BOOL InitWindows(HINSTANCE hInstance,int nCmdShow)
{
HWND hWnd;
hWnd=CreateWindow("鼠标-键盘综合应用设置示例",
"Mouse Text Application",
WS_OVERLAPPEDWINDOW,
0,
0,
800,
600,
NULL,
NULL,
hInstance,
NULL
);
if(!hWnd)
return FALSE;
ShowWindow(hWnd,nCmdShow);
UpdateWindow(hWnd);
return TRUE;
}
HFONT CreateFont(HDC hDC,int nCharHeight,BOOL bItalic)
{
HFONT hFont;
hFont=CreateFont(
nCharHeight,
0,
0,
0,
400,
bItalic,
0,
0,
ANSI_CHARSET,
OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,
DEFAULT_QUALITY,
DEFAULT_PITCH|FF_DONTCARE,
"Arial");
if(hFont==NULL) return NULL;
else
return hFont;
}
#include<stdlib.h>
#include<string.h>
BOOL InitWindowsClass(HINSTANCE hInstance);
BOOL InitWindows(HINSTANCE hInstance,int nCmdShow);
HFONT CreateFont(HDC hDC,int nCharHeight,BOOL bItalic);
int i=0;
int x[11],y[11];
int color[11];
POINT pt;
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPreInstance,LPSTR lpCmdLine,int nCmdShow)
{
MSG Message;
if(!InitWindowsClass(hInstance))
return FALSE;
if(!InitWindows(hInstance,nCmdShow))
return FALSE;
while(GetMessage(&Message,0,0,0))
{
TranslateMessage(&Message);
DispatchMessage(&Message);
}
return Message.wParam;
}
//消息处理函数
LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,UINT wParam,LONG lParam)
{ HDC hDC;
HFONT hF;
PAINTSTRUCT ps;
TEXTMETRIC tm;
char str[]=" Hello VC ";
switch(iMessage)
{
case WM_CREATE:
SetTimer(hWnd,10,100,NULL);
GetCursorPos(&pt);
for(i=0;i<11;i++)
{
x[i]=pt.x;
y[i]=pt.y;
color[i]=25*(i-1);
}
break;
case WM_PAINT:
hDC=BeginPaint(hWnd,&ps);
hF=CreateFont(hDC,40,0);
SelectObject(hDC,hF);
GetTextMetrics(hDC,&tm);
for(i=10;i>1;i--)
{
x[i]=x[i-1]+50;
y[i]=y[i-1];
}
GetCursorPos(&pt);
x[1]=pt.x;
y[1]=pt.y;
for(i=1;i<11;i++)
{
SetTextColor(hDC,RGB(255-color[i],color[i],255));
TextOut(hDC,x[i],y[i],&str[i],1);
}
color[1]=color[10];
for(i=10;i>1;i--)
color[i]=color[i-1];
DeleteObject(hF);
EndPaint(hWnd,&ps);
return 0;
case WM_TIMER:
InvalidateRect(hWnd,NULL,1);
break;
case WM_DESTROY:
PostQuitMessage(0);
KillTimer(hWnd,1);
return 0;
default:
return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}
return 0;}BOOL InitWindowsClass(HINSTANCE hInstance)
{
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=WndProc;
WndClass.lpszClassName="鼠标-键盘综合应用设置示例";
WndClass.lpszMenuName=NULL;
WndClass.style=CS_HREDRAW|CS_VREDRAW;
return RegisterClass(&WndClass);
}BOOL InitWindows(HINSTANCE hInstance,int nCmdShow)
{
HWND hWnd;
hWnd=CreateWindow("鼠标-键盘综合应用设置示例",
"Mouse Text Application",
WS_OVERLAPPEDWINDOW,
0,
0,
800,
600,
NULL,
NULL,
hInstance,
NULL
);
if(!hWnd)
return FALSE;
ShowWindow(hWnd,nCmdShow);
UpdateWindow(hWnd);
return TRUE;
}
HFONT CreateFont(HDC hDC,int nCharHeight,BOOL bItalic)
{
HFONT hFont;
hFont=CreateFont(
nCharHeight,
0,
0,
0,
400,
bItalic,
0,
0,
ANSI_CHARSET,
OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,
DEFAULT_QUALITY,
DEFAULT_PITCH|FF_DONTCARE,
"Arial");
if(hFont==NULL) return NULL;
else
return hFont;
}
解决方案 »
- 请求各位老师指点QQ显IP思路
- MFC怎么读写EXCEL文件?
- 一个奇怪的问题:同样的系统、同样的VC++安装、同样的程序,怎么在有的机器上不能调试呢?
- 关于并发访问串口的问题
- 关于图片显示的问题????请各位大哥指点指点!!!!
- 请教高手多线程网络传输文件的问题
- 大家来帮我想想办法呀!(UDP的C/S结构)
- 跪求希尔伯特变换(Hilbert Transform)源代码,谢谢!急.....诸位帮忙了
- 如何获得计算机的ip地址?对该计算机一无所知。
- 疑惑:C++名字空间
- 如何解决添加lib文件后VC不提示lib文件中的函数
- 关于IsWindowVisible GetTopWindow与GetDeskTopWindow
还有,GetCursorPos(&pt);
会使画面的效果也不一样。
{
x[i]=pt.x;
y[i]=pt.y;
color[i]=25*(i-1);
}
==================
这一块的作用是对数组初始化,只要一次就行了,放到WM_PAINT中的话会被初始化多次的