-
createwindow中缺少一个参数,没有提示您吗?
text ("the hello program"), // window caption
cw_usedefault, // initial x position
cw_usedefault, // initial y position
cw_usedefault, // initial x size
cw_usedefault, // initial y size
null, // parent window handle
null, // window menu handle
hinstance, // program instance handle
null) ;// creation parameters
-
1. 全局函数是未在类中声明的函数。
在类外部声明的函数是全局函数,系统可以在任何地方调用它们。
Win32 SDK 函数本质上是全局的。 MFC 类是 Win32 SDK 函数的封装,许多成员函数的名称与 SDK 全局函数和系统函数的名称相同。 如果您不使用 ::
会想到 this->funcion(),它是类的成员函数。
2. DataType* 是指针类型,DataType& 是引用类型。
没有太大的区别,只是用法上的区别。
如果您手头有 datatype 的实例,则使用 datatype& 如果您有指向 datatype 的指针,则使用 datatype*datatype& 不需要 null 检查。
3. 是&(a->b):- 的优先级高于 &
-
常见的连接错误!
可能原因:1类别 1:
例如,如果使用 VC 构建控制台程序,则其入口函数应为 main,并且使用 winmain。 或者,你用 vc 打开了一个。 c/.
cpp 文件,然后直接编译文件,使用 winmian 而不是 main 作为入口函数。 VC 的默认设置是控制台程序。
2.第 2 类:程序未添加必要的库。
复制网络上的源程序在本地编译时,由于新项目没有将用于连接的库添加到连接中,因此某些函数和变量找不到定义的库文件,从而导致错误。
-
如果未找到符号,则不应将其链接到相应的 dll
-
清理和再生! 鬼混。
-
1. MFC 中类似 cmaindialog 的构造函数和 oninitdialog 函数之间有区别吗:前者负责显示对话框,而后者负责更新对话框的数据(例如,对话框中设备的数据)?
如果只是成员函数的初始化,一般在构造函数中初始化,如果程序在启动时需要调用一个函数或者一段**,一般会放在oninitdialog函数中。
2.显然,我可以将控件的对象(例如文本器)直接添加到cmaindialog的类定义中,这和在可视化界面中直接在对话框中拖动控件有什么区别?
如果你熟悉MFC,你可以创建自己的控件,但会很麻烦,需要写很多**来实现; 直接在可视化界面中,向上拖一个控件,MFC会帮我们自动生成很多,让编程变得更简单。 这取决于您的编程习惯!
-
一个需要您创建,另一个由 IDE 为您创建。
-
这里的设计存在很多问题。
1.MFC的Documen视图结构是将数据与显示分开,很多时候,一个doc可以关联多个视图,并且从doc访问视图,这一般需要视图更新显示,但很少直接访问视图中的数据。
2.很难理解您正在序列化中想要访问视图。 因为这个函数是用来存储 doc 中的数据的,所以根据 doc 视图的结构要求,任何需要保存的数据都应该存储在 doc 的类中,而不是 view 的类中。
3.即使要访问,也应采用 GetFirstViewPosition GetNextView,然后将其强制转换为访问它所需的视图类型。 我不知道你为什么把它注释掉了。
-
您可以将子对话框中的值定义为全局变量,然后主对话框可以调用它。
Microsoft 基础类 (MFC) 是一个 Microsoft 类库,它以 C++ 类的形式封装 Windows API,并包含一个应用程序框架,以减少应用程序开发人员的工作量。 它包含大量的 Windows 句柄封装类和许多 Windows 内置控件和组件封装类。 >>>More
virtual bool textout(int x,int y,lpctstr lpszstring,int ncount >>>More