如何判断哪些参数是必需的,哪些不是?(Visual C ++)

莫罗尼奇

我正在跟踪有关创建窗口的Visual C ++的MSDN教程。它使用此代码注册窗口类。

// Register the window class.
const wchar_t CLASS_NAME[]  = L"Sample Window Class";

WNDCLASS wc = { };

wc.lpfnWndProc   = WindowProc;
wc.hInstance     = hInstance;
wc.lpszClassName = CLASS_NAME;

RegisterClass(&wc);

当我在MSDN:WNDCLASS Structure上查找WNDCLASS结构时,它提供了以下实现:

typedef struct tagWNDCLASS {
  UINT      style;
  WNDPROC   lpfnWndProc;
  int       cbClsExtra;
  int       cbWndExtra;
  HINSTANCE hInstance;
  HICON     hIcon;
  HCURSOR   hCursor;
  HBRUSH    hbrBackground;
  LPCTSTR   lpszMenuName;
  LPCTSTR   lpszClassName;
} WNDCLASS, *PWNDCLASS;

如何从文档中得知您只需要这三个参数?

  1. lpfnWndProc
  2. 实例
  3. lpszClassName
维亚切斯拉夫·纳帕多夫斯基

所有参数都是必需的,但是大多数参数都可以设置为默认值。

WNDCLASS wc;
wc.style = CS_BYTEALIGNWINDOW | CS_HREDRAW | CS_VREDRAW;
wc.lpfnWndProc = DefWindowProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = GetModuleHandle(NULL);
wc.hIcon = NULL;
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = NULL;
wc.lpszMenuName = 0;
wc.lpszClassName = "MYCLASS";

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何判断odata EntityType的哪些属性是必需的?

C#方法-哪些参数转到哪里?

哪些Visual C ++文件类型应提交给版本控制?

C ++链接器如何知道要使用哪些.cpp文件

C ++模块进入哪些文件,模板如何运行?

如何在C ++中检查向量中的哪些对象

我如何知道在 C++ 中使用哪些函数?

如何判断每个箱子有哪些“功能”?

如何轻松判断需要清除哪些PPA

标准C有哪些约束?

(C)以文本模式而不是二进制模式写入文件时会影响哪些字符?

C ++ / OpenCV:如何使用BOWImgDescriptorExtractor来确定哪些聚类与词汇表中的哪些图像相关?

post方法如何仅发送必需的参数objective-c

如何在 C# api 中使参数成为必需的

在C语言中,用于验证参数和处理错误的最常见的选项有哪些?

Android C++/Gradle/NDK:我应该将哪些标志传递给 cppFlags、cFlags 或参数?

作为MS Visual C ++ 2005 ATL合并模块的替代品,我需要分发哪些文件?

Linux上哪些C ++ IDE具有与Visual Studio相同或更好的“智能”?

哪些编译器选项用于在Visual Studio中编译C ++ STL类/函数?

目标C如何确定在堆与堆栈上分配哪些C数据结构?

C语言如何判断终端输入的参数值

C#程序首先执行哪些文件?

Cython不要求gil哪些C函数?

哪些C#类型名称很特殊?

哪些代码在 C 中执行得更快?

C ++ 11提供哪些Mersenne Twister?

.CSX C#文件有哪些用途?

哪些数字适合这种 C 模式?

Cheerp 实现了哪些 C++ [[属性]]?