一个windows API 问题 下面是一个窗口程序

#include<windows.h>//回调函数LRESULTWINAPIWinProc(HWNDhWnd,UINTMsg,WPARAMwParam,LPARAMlPa... #include <windows.h>

//回调函数
LRESULT WINAPI WinProc(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam)
{
switch(Msg)//处理消息过程,什么是消息,下节再讲
{
case WM_DESTROY://响应鼠标单击关闭按钮事件
PostQuitMessage(0);//退出消息队列,至于什么是消息队列,下节说
return 0;//退出函数
}
return DefWindowProc(hWnd,Msg,wParam,lParam);
}

//主函数
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd)
{
char *cName = "myWindow"; //这个声明是指针呢?还是字符串呢?
WNDCLASSEX wc; //?????????????不懂
HWND hWnd; //??????这个是什么声明?
MSG Msg; //?????这个是什么声明???

wc.cbClsExtra = 0; //???????wc.xxx是什么意思?
wc.cbWndExtra = 0; //?????????wc.xxx是什么意思呢?
wc.cbSize = sizeof(WNDCLASSEX);
wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);//通过函数来设置一个白色的背景,这里大家设置为NULL看看,会很有趣的
wc.hCursor = NULL;//不设置
wc.hIcon = NULL;//不设置
wc.hIconSm = NULL;//不设置
wc.hInstance = hInstance;//当前程序的句柄,hInstance是有系统给传递的
wc.lpfnWndProc = WinProc;//窗口处理过程的回调函数。
wc.lpszClassName =(LPSTR)cName;//窗口类的名字。
wc.lpszMenuName = NULL;//目录名,不设置
wc.style = CS_HREDRAW | CS_VREDRAW;

RegisterClassEx(&wc);//在系统中注册

hWnd = CreateWindowEx(WS_EX_CLIENTEDGE,cName,"我的窗口我喜欢",WS_OVERLAPPEDWINDOW,
200,100,600,400,NULL,NULL,hInstance,NULL);//创建窗口,窗口标题为"我的窗口我喜欢"
if(hWnd == NULL)
{//容错处理
MessageBox(NULL,"There's an Error","Error Title",MB_ICONEXCLAMATION|MB_OK);
return 0;
}
ShowWindow(hWnd,nShowCmd);//显示窗口
UpdateWindow(hWnd);

//下面是对消息的循环处理,大家先不必管这些,下节课我会细说的
while(GetMessage(&Msg,NULL,0,0))
{
TranslateMessage(&Msg);//翻译消息
DispatchMessage(&Msg);//分派消息
}
return Msg.message;
}
这个程序是没问题,就是有问号的地方不太懂。
我看过C语言经典入门
但是对C++懂得不多。
谢谢了
展开
 我来答
Bk0X
2012-07-05 · TA获得超过9413个赞
知道小有建树答主
回答量:1217
采纳率:60%
帮助的人:679万
展开全部
上面的代码都是C的, 没与涉及C++.
从LZ的问题看, 还需要打好基础..

char *cName = "myWindow"; //字符串
WNDCLASSEX wc; //WNDCLASSEX是窗口属性的结构体
HWND hWnd; //窗口句柄
MSG Msg; // 消息结构体

wc.cbClsExtra = 0; // 同窗口类相关的额外空间
wc.cbWndExtra = 0; // 同窗口相关的额外空间

wc.cbSize = sizeof(WNDCLASSEX);
wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);// 背景画刷
wc.hCursor = NULL;// 鼠标样式
wc.hIcon = NULL;//窗口的图标
wc.hIconSm = NULL;//窗口的小图标
wc.hInstance = hInstance;//当前程序的句柄
wc.lpfnWndProc = WinProc;//窗口处理过程的回调函数。
wc.lpszClassName =(LPSTR)cName;//窗口类的名字。
wc.lpszMenuName = NULL; //不是"目录名",是菜单名
wc.style = CS_HREDRAW | CS_VREDRAW; // 窗口类的风格

你问的点号是成员访问操作符.
struct S{
int v;
int X;
};

S s;
s.v = 1; // 设置S::v的值
s.X = 2; // 设置 S::X的值
zzzcccchhh
2012-07-05 · 超过35用户采纳过TA的回答
知道小有建树答主
回答量:196
采纳率:66%
帮助的人:76.6万
展开全部
char *cName = "myWindow"; //这个声明是指针呢?还是字符串呢?
WNDCLASSEX wc; //?????????????不懂
HWND hWnd; //??????这个是什么声明?
MSG Msg; //?????这个是什么声明???

wc.cbClsExtra = 0; //???????wc.xxx是什么意思?
wc.cbWndExtra = 0; //?????????wc.xxx是什么意思呢?
从头从基础从hello word看吧,这些都是窗口的属性
更多追问追答
追问
你给解释解释嘛
追答
char *cName = "myWindow";   //这个声明是指针呢?还是字符串呢?
WNDCLASSEX wc; //?????????????不懂
HWND hWnd; //??????这个是什么声明?
MSG Msg;//?????这个是什么声明???

都是定义比如, MSG Msg;定义个MSG类的变量Msg
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式