![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Windows程序设计
OneBaBa
这个作者很懒,什么都没留下…
展开
-
回调函数中调用类中的非静态成员变量或非静态成员函数
有关这方面的问题,首先说一点: 回调函数必须是静态成员函数或者全局函数来实现回调函数,大概原因是普通的C++成员函数都隐含了一个函数参数,即this指针,C++通过传递this指针给成员函数从而实现函数可以访问类的特定对象的数据成员。由于this指针的原因,使得一个普通成员函数作为回调函数时就会因为隐含的this指针问题使得函数参数个数不匹配,从而导致回调函数编译失败。 基于上面的理论,如何在类中封装回调函数呢? 回调函数只能是全局函数或者静态成员函数,但是由于全局函数会破坏封装性,所以只能用静态成员转载 2020-05-18 14:30:50 · 829 阅读 · 2 评论 -
Windows程序设计第三章 (建立一个窗口)
#include LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPreInstance, PSTR szCmdLine, int iCmdShow) { static TCHAR szAppName[] = TEXT("HelloWin")原创 2015-03-31 15:57:44 · 738 阅读 · 0 评论 -
MFC中的集合类
STL中的集合类数组、列表、关联,MFC中也有相似的类,下面列出MFC中的一些使用方法。 实际上集合类就是数据结构中的顺序存储结构和链表存储结构。它的优点就是建立这样的存储结构简单,并且把相关的操作集中成函数,方便用户的调用。比如顺序存储用到数组,如果要在数组中的固定位置添加一项,普通的方法就是要用一个for循环,有点烦琐。而在集合类中只要用一个add函数就完成了,相对简单一点。转载 2015-05-04 20:40:23 · 1941 阅读 · 0 评论 -
MFC中在View类获取读取照片的路径,并分割出文件名
CDIPDemoDoc* pDoc = GetDocument(); CString strPathName = pDoc->m_strPathName; int ilen = strPathName.GetLength(); char szpathname[256], szfilename[256]; sprintf(szpathname, "%s", strPathName);原创 2015-08-13 11:26:47 · 1371 阅读 · 0 评论 -
windows程序设计——绘制和更新
绘制和更新 WM_PAINT 大多数Windows 程式在WinMain 中进入讯息回圈之前的初始化期间都要呼叫函式UpdateWindow。Windows 利用这个机会给视窗讯息处理程式发送第一个WM_PAINT 讯息。这个讯息通知视窗讯息处理程式:必须绘制显示区域。此後,视窗讯息处理程式应在任何时刻都准备好处理其他WM_PAINT 讯息,必要的话,甚至重新绘制视窗的整个显示区域. 在原创 2015-04-01 08:20:27 · 614 阅读 · 1 评论