if (!RegisterClass (&wndclass wndclassex))这句是什么意思?

if(!RegisterClassEx(&wc))这是什么意思?_百度知道
if(!RegisterClassEx(&wc))这是什么意思?
提问者采纳
注册一个窗口类参数是指向一个WNDCLASSEX结构的指针。在传递给这个函数之前,必须在结构内填充适当的类的属性返回值:如果函数成功,返回这个窗口类型的标识号;如果函数失败,返回值为0。因为参数要求是地址,所以你传wc的时候得用取址符获取地址。
其他类似问题
为您推荐:
其他1条回答
RegisterClassEx是注册窗口类。如果失败,返回0if(!RegisterClassEx(&wc))表示对窗口wc注册失败判断
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁求个C++ 的SDK窗口代码的运行原理, 就是创建一个空白窗口 要运行原理,谢谢 坐等_百度知道
求个C++ 的SDK窗口代码的运行原理, 就是创建一个空白窗口 要运行原理,谢谢 坐等
我有更好的答案
网上找的,非原创,合适的就拿走。#include &windows.h&
#include &mmsystem.h&
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM); //声名消息处理函数(处理windows和接收windows消息)
//hInstance:系统为窗口分配的实例号,2和3忘了.4是显示方式
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,PSTR szCmdLine, int iCmdShow)
static TCHAR szAppName[] = TEXT (&HelloWin&) ; //窗体名
HWND//句柄
MSG//消息体
WNDCLASS//这义一个窗体类实例
//设置窗体参数
wndclass.style = CS_HREDRAW | CS_VREDRAW ; //样式
wndclass.cbClsExtra
wndclass.cbWndExtra
wndclass.hInstance = hInstan...
#include &windows.h&
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
int WINAPI WinMain(HINSTANCE hInstance,//当前程序的实例句柄
HINSTANCE hPrevInstance,//操作系统提供的前一个程序句柄
PSTR szCmdLine,//命令行参数,字符串类型的指针
int iCmdShow)//当前系统默认显示方式
static TCHAR szAppName[]=TEXT(&hello,windows&);//应用程序名称
HWND hW//窗体句柄
MSG//消息结构
WNDCLASS//窗体类对象
wndclass.style=CS_HREDRAW|CS_VREDRAW;//窗体样式
wndclass.lpfnWndProc=WndP//垂直重画和水平重画
wndclass.cbClsExtra=0;//扩展函数
wndclass.cbWndExtra=0;//扩展窗体
wndclass.hInstance=hI//指定应用程序实...
你可参考看一下孙鑫的视频,好像第二讲就是讲楼主所要问的问...60分钟的视频而且讲得挺清楚的...SDK只是利用操作系统提供的API调用来实现创建一个窗口的,真正创建是由操作系统完成的
在应用程序中要完成某个功能,都是以函数调用的形式实现的,同样,应用程序也是以函数调用的方式来通知操作系统执行相应的功能的。操作系统所能够完成的每一个特殊功能通常都有一个函数与其对应,也就是说,操作系统把它所能够完成的功能以函数的形式提供给应用程序使用,应用程序对这些函数的调用就叫做系统调用,这些函数的集合就是Windows操作系统提供给应用程序编程的接口,简称Windows API
创建窗口类,注册窗口,操作系统会为该窗口创建一个消息队列,然后我们就要给这个消息对列创建消息循环 (在没接受到关闭消息之前,消息循环处于闭塞状态,操作系统每次从队列中取走一条消息,以保证在没收到关闭消息之前窗口不关闭)
其他类似问题
为您推荐:
sdk的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁《Windows 程序设计 》问题_百度知道
《Windows 程序设计 》问题
最近在看《Windows 程序设计》,我发现我发现自己用VC++编译链接书中的例子时,都会弹出“最近在看《Windows 程序设计》,我发现我发现自己用VC++编译链接书中的例子时,都会弹出“This program require Windows NT”,请问是不是我的电脑系统不对,请问我该怎么办啊?难道要换系统么。下面是其中的一个例子#include&windows.h&LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);int WINAPI WinMain (HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR lpCmdLine,int nCmdShow){ static TCHAR szAppName[] = TEXT(&HelloWin&); HWND MSG WNDCLASS wndclass.style = CS_HREDRAW | CS_VREDRAW; wndclass.lpfnWndProc = WndP wndclass.cbClsExtra = 0; wndclass.hInstance = hI wndclass.hIcon = LoadIcon(NULL,IDI_APPLICATION); wndclass.hCursor = LoadCursor(NULL,IDC_ARROW); wndclass.hbrBackground
= (HBRUSH)GetStockObject(WHITE_BRUSH); wndclass.lpszMenuName = NULL; wndclass.lpszClassName = szAppN if(!RegisterClass(&wndclass)) {
MessageBox(NULL,TEXT(&This program requires Windows NT!&),szAppName,MB_ICONERROR);
return 0; } hwnd = CreateWindow(szAppName,TEXT(&The Hello Program&),WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,
CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL); ShowWindow(hwnd,nCmdShow); UpdateWindow(hwnd); while(GetMessage(&msg,NULL,0,0)) {
TranslateMessage(&msg);
DispatchMessage(&msg); } return msg.wP}LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){ HDC PAINTSTRUCT RECT switch(message) {
case WM_CREATE:
PlaySound(TEXT(&hellowin.wav&),NULL,SND_FILENAME|SND_ASYNC);
case WM_PAINT:
hdc = BeginPaint(hwnd,&ps);
GetClientRect(hwnd,&rect);
DrawText(hdc,TEXT(&Hello Windows 98!&),-1,&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);
EndPaint(hwnd,&ps);
case WM_DESTROY:
PostQuitMessage(0);
return 0; } return DefWindowProc(hwnd,message,wParam,lParam);}
不好意思,前面一段话重复了
if(!RegisterClass(&wndclass)) {
MessageBox(NULL,TEXT(&This program requires Windows NT!&),szAppName,MB_ICONERROR);
return 0; }就是这句了。我最近也在学windows程序设计,我用32位win7,用vc++6.0没有问题,能编译通过。
其他类似问题
为您推荐:
程序设计的相关知识
其他2条回答
不知道你安装的是什么系统。感觉是缺少类库或者头文件。
候,凭空看C++是意义不大的。我在以前也看了很多C++书,但是因为缺乏实际经验,看了也白看,template有什么意义?protected\public\private该怎么使用?virtual function什么时候使用?这些东西书上会提到,但是你没有真正做过,提到了你也没有概念。
首先建议你尽量找机会能动手做点东西,在此基础上,看以下书籍(既然你提到了国外的,所以我就直接给英文书名了。你没错,国产C++书,一律不要看,其误导多过学些意义,不如不看):
The C Programming Language (如果你只看了那本C++ Primer Plus,我可以假设你对C了解不够,而不了解C的人,是不可能熟悉C++的)
C++ Primer (名字相似,但是内容和难度大大不同于你看得primer plus,该作者Stanley Lippman(大概这么拼写)是C++发明者BS的同事,后来...
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 registerclass 的文章

 

随机推荐