今天看了孙鑫windows程序设计第一集 为什么弄不对啊
不是程序错了 请告诉原因是什么了 弄了一天了#include<windows.h>
#include<stdio.h>
LRESULT CALLBACK WinSunProc(HWND hwnd, UINT uMsg,WPARAM wParam,LPARAM lParam);
int WINAPI WinMain(
HINSTANCE hInstance, //运行中的实例句柄
HINSTANCE hPrevInstance,//先前的实例句柄
LPSTR lpCmdLine, //长指针
int nCmdShow
)
{
WNDCLASSwndclass;
wndclass.hbrBackground=(HBRUSH)GetStockObject(DKGRAY_BRUSH); //画刷背景颜色
wndclass.hCursor=LoadCursor(NULL,IDC_ARROW); //鼠标
wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION); //图标 第一个空 第二个系统
wndclass.hInstance=hInstance;//实例句柄
wndclass.lpfnWndProc=WinSunProc; //窗口处理函数
wndclass.lpszClassName="weixin"; //窗口类的名字与下对应
wndclass.lpszMenuName=NULL; //菜单名
wndclass.style=CS_HREDRAW | CS_VREDRAW; //窗口类型
wndclass.cbClsExtra=0; //额外的字节通常不用
wndclass.cbWndExtra=0; //额外的字节
wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION); //图标 第一个空 第二个系统
//注册
RegisterClass(&wndclass); // 传入地址
HWNDhwnd;
hwnd=CreateWindow("weixin", "北京维新培训", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT,CW_USEDEFAULT,NULL, NULL, hInstance, NULL);
ShowWindow(hwnd,SW_SHOWNORMAL) ; //第一个是窗口句柄,第二个是 显示状态
UpdateWindow(hwnd); //更新窗口
MSG msg;
while(GetMessage(&msg,NULL,0,0)) // 第一个消息结构体的指针 第二个NULL 为所有消息 // 第三 消息最小量 第四 消息最大量
{
TranslateMessage(&msg); //转换 ???转换为Wchar消息
DispatchMessage(&msg); // 让系统调用 处理函数自己编的那个
}
return 0;
}
LRESULT CALLBACK WinSunProc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
HDC hdc;
OAINTSTRUCT ps;
switch(uMsg)
{
case WM_pAINT:
hdc=BeginPaint(hwnd,%ps);
TextOut(hdc,0,0,"北京北京北京北京",strlen("北京维新科学技术培训中心"));
EndPaint(hwnd,&ps);
break;
case WH_CHAR:
char szChar;
sprintf(szChar,"char is %d",wParam);
MessageBox(hwnd,szChar,"winxin",MB_OK);
break;
case WM_LBUTTONDOWN:
MessageBox(hwnd,"mouse click","weixin",MB_OK);
HDC hDC;
hDC=GetDC(hwnd);
TextOut(hDC,0,50,"计算机编程语言培训",strlen("计算机编程语言培训"));
ReleaseDC(hwnd,hDC);
break;
case WM_CLOSE:
if(IDYES==MessageBox(hwnd,"你是否要退出程序?","weixin",MB_YESNO))
{
DestroyWindow(hwnd);
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd,uMsg,wParam,lParam);
}
return 0;
}
说头文件不对还是怎么的 我没编译过只是看了一下代码,你 case WH_CHAR:这儿写错了吧,应该是WM_CHAR :sad没看 换编译器
页:
[1]