問題如標題
程序如下:#include<windows.h>
#include<stdlib.h>
#include<string.h>LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam);
BOOL InitWindowsClass(HINSTANCE hInstance);
BOOL InitWindows(HINSTANCE hInstance,int nCmdShow);
HWND hWndMain; int WINAPI WinMain(HINSTANCE hInstance , HINSTANCE hPrevInstance ,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,WPARAM wParam,LPARAM lParam)
{
HDC hDC;
HBRUSH hBrush;
HPEN hPen;
PAINTSTRUCT ps;
POINT points[6]={{200,212},{170,227},{170,250},{230,250},{230,227},{200,212}}; switch(iMessage)
{
case WM_PAINT:
hDC=BeginPaint(hWnd,&ps);
hPen=(HPEN)GetStockObject(NULL_PEN);
SelectObject(hDC,hPen);
hBrush=(HBRUSH)GetStockObject(BLACK_BRUSH);
SelectObject(hDC,hBrush);
LineTo(hDC,50,50);
DeleteObject(hPen);
hPen=CreatePen(PS_SOLID,2,RGB(255,0,0));
SelectObject(hDC,hPen);
LineTo(hDC,150,50) ;
LineTo(hDC,100,137);
LineTo(hDC,50,50);
Polyline(hDC,points,6);
Arc(hDC,50,300,100,350,0,0,0,0);
Pie(hDC,100,300,150,350,112,123,150,180);
Rectangle(hDC,50,300,100,350);
RoundRect(hDC,100,300,200,350,20,20); DeleteObject(hBrush);
EndPaint(hWnd,&ps); case WM_DESTROY:
PostQuitMessage(0);
return 0; default:
return (DefWindowProc(hWnd,iMessage,wParam,lParam));
}
}
BOOL InitWindowsClass(HINSTANCE hInstance)
{
WNDCLASS wndclass;
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);
wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);
wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wndclass.lpfnWndProc=WndProc;
wndclass.lpszClassName="WinFill";
wndclass.lpszMenuName=NULL;
wndclass.style=CS_HREDRAW|CS_VREDRAW;
wndclass.hInstance=hInstance; return RegisterClass(&wndclass);
}
BOOL InitWindows(HINSTANCE hInstance,int nCmdShow)
{
HWND hWnd;
hWnd=CreateWindow("WinFill","yeah",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,0,CW_USEDEFAULT,0,NULL,NULL,hInstance,NULL);
if(!hWnd)
return FALSE;
hWndMain=hWnd;
ShowWindow(hWnd,nCmdShow);
UpdateWindow(hWnd);
return TRUE;
}是什么問題呢?
程序如下:#include<windows.h>
#include<stdlib.h>
#include<string.h>LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam);
BOOL InitWindowsClass(HINSTANCE hInstance);
BOOL InitWindows(HINSTANCE hInstance,int nCmdShow);
HWND hWndMain; int WINAPI WinMain(HINSTANCE hInstance , HINSTANCE hPrevInstance ,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,WPARAM wParam,LPARAM lParam)
{
HDC hDC;
HBRUSH hBrush;
HPEN hPen;
PAINTSTRUCT ps;
POINT points[6]={{200,212},{170,227},{170,250},{230,250},{230,227},{200,212}}; switch(iMessage)
{
case WM_PAINT:
hDC=BeginPaint(hWnd,&ps);
hPen=(HPEN)GetStockObject(NULL_PEN);
SelectObject(hDC,hPen);
hBrush=(HBRUSH)GetStockObject(BLACK_BRUSH);
SelectObject(hDC,hBrush);
LineTo(hDC,50,50);
DeleteObject(hPen);
hPen=CreatePen(PS_SOLID,2,RGB(255,0,0));
SelectObject(hDC,hPen);
LineTo(hDC,150,50) ;
LineTo(hDC,100,137);
LineTo(hDC,50,50);
Polyline(hDC,points,6);
Arc(hDC,50,300,100,350,0,0,0,0);
Pie(hDC,100,300,150,350,112,123,150,180);
Rectangle(hDC,50,300,100,350);
RoundRect(hDC,100,300,200,350,20,20); DeleteObject(hBrush);
EndPaint(hWnd,&ps); case WM_DESTROY:
PostQuitMessage(0);
return 0; default:
return (DefWindowProc(hWnd,iMessage,wParam,lParam));
}
}
BOOL InitWindowsClass(HINSTANCE hInstance)
{
WNDCLASS wndclass;
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);
wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);
wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wndclass.lpfnWndProc=WndProc;
wndclass.lpszClassName="WinFill";
wndclass.lpszMenuName=NULL;
wndclass.style=CS_HREDRAW|CS_VREDRAW;
wndclass.hInstance=hInstance; return RegisterClass(&wndclass);
}
BOOL InitWindows(HINSTANCE hInstance,int nCmdShow)
{
HWND hWnd;
hWnd=CreateWindow("WinFill","yeah",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,0,CW_USEDEFAULT,0,NULL,NULL,hInstance,NULL);
if(!hWnd)
return FALSE;
hWndMain=hWnd;
ShowWindow(hWnd,nCmdShow);
UpdateWindow(hWnd);
return TRUE;
}是什么問題呢?
解决方案 »
- 孙鑫VC++教程第十章,改变控件文本颜色的问题
- 请教程序退出的问题
- 请问用LoadLibrary加载一个exe文件的问题
- 网络通信数据接收问题?
- ???一个关于CString对象的转换问题!求助!
- 非阻塞socket在recv函数内部等待时,接收缓冲区变为不可用,怎么解决? (100分,高手来)
- 下面针对数据通讯的几种方式,大家看下哪种比较可行?
- 如何实现菜单点击后不消失
- 谁能告诉我ICQ的原理?
- pdb格式的文章用什么软件看?谢谢1
- 发帖再问:ListView(Report形式)的SubItem里的图标如何居中显示?
- ЖЖ问个问题哈,在一个对话框类的类体里面定义了几个指针变量,那么在这个对话框关闭的时候,需要不需要将这几个指针delete掉啊,奇怪的
PostQuitMessage(0);
return 0;
去掉就行了,在vc6可以运行,测试了.
iamltq(A.QIANG)
我试叻一下,还是和原来一样!一闪而过!PostQuitMessage(0)出叻什么问题?