1.关于动态链接库dll编写:VS2015中用C++创建MFC DLL动态库
3.也是一个靓仔实现的window的txt,使用CEditView :MFC单文档框架建立
5.关于MFC中宏的解读: 【C/C++笔记】之关键词typedef:
6.启动画面,添加组件Splash screen:感觉都过时了。。。还得手动添加。。CSplashWnd
7.MFC中,通过preCreateWindow函数无法设置视图样式(包括窗口的大小)
8.关闭对话框:这个介绍了对话框的关闭WM_CLOSE
9.深度分析WM_PAINT和WM_ERASEBKGND消息:
10.VERIFY与ASSERT: ASSERT和VERIFY的区别
11.GetWindowRect/SetWindowPos:MFC显示窗口时关于GetWindowRect()、GetClientRect()、ClientToScreen()和SetWindowPos()等方法的一些Tips
12.SystemParametersInfo(SPI_GETWORKAREA, ...):检索主显示器上工作区的大小。工作区是屏幕中未被系统任务栏或应用程序桌面工具栏遮挡的部分。
13.MessageBeep:播放声音
14.【C++】Debug模式和Release模式的区别:Debug通常称为调试版本,开发使用;Release通常称为发布版本,是为用户使用的;Debug程序通常要比Releas程序要慢,尤其是处理视频方面Release要比Debug快很多;15.EnableMenuItem function (winuser.h)启用、禁用指定的菜单项或使其灰显。
16.AppendMenuA function (winuser.h) 将新项追加到指定菜单栏、下拉菜单、子菜单或快捷菜单的末尾。可以使用此函数指定菜单项的内容、外观和行为
17.CheckMenuRadioItem function (winuser.h)检查指定的菜单项并使其成为单选项。同时,该函数将清除关联组中的所有其他菜单项,并清除这些项目的单选项类型标志。
18.TrackPopupMenu function (winuser.h)在指定位置显示快捷菜单,并跟踪菜单上项的选择。快捷菜单可以出现在屏幕上的任何位置。
19.UpdateData:UpdateData() 是MFC的窗口函数,用来刷新数据的,该函数调用DoDataExchange实现数据交换。总的来说:操作系统会调用这个函数来初始化对话框中的数据,或者检索或者验证对话框中的数据。简单说就是:如果UpdateData(TRUE) 将控件的值赋值给成员变量;UpdateData(FALSE)将成员变量的值赋值给控件。
20.::IsWindow : 判断窗体是否有效--判断句柄窗口是否表示一个已经存在的窗口
21.EnableWindow 启用或禁用鼠标和键盘输入。指定是启用或禁用给定窗口。 如果此参数为 TRUE,则会启用窗口。 如果此参数为 FALSE,则会禁用窗口。
22.该按钮的ID为IDOK,而IDOK与IDCANCEL最大的不同就在于IDOK在调用EndDialog()之前会调用UpDateData(true)。所以在对话框类就不用再UpDateData
23.在C语言里这个符号“ ^ ”表示“按位异或”运算符。例:^ 按位异或, AND (位与&) ,OR ( 位或| ) ,XOR ( 位异或^ )
24.CWaitCursor,当你进行冗长的操作时,它通常显示出一个沙漏。好的Windows编程方式要求你在执行耗用大量时间的操作时显示等待光标。
25.BOOL IsBadWritePtr( LPVOID lp, UINT ucb ); 验证调用进程具有写访问权限的指定范围的内存。 lp 第一个字节的内存块的指针。ucb 指定的大小,单位为字节的内存块。
26.//#define BOOL_IS_DIFFERENT(b1,b2) ((b1) && !(b2) || !(b1) && (b2))
//#define BOOL_IS_DIFFERENT(b1,b2) (!!(b1) != !!(b2))
这里由于BOOL实际上是int,为了判断两个BOOL型参数是否相等,这里首先进行转换,把BOOL类型中非0的数值都转化为1,0当然还是0,然后再进行判断,这样就可以避免出现两个BOOL非0但是数值不等的情况。
此外需要注意的是,!不是按位取反,而是逻辑运算非,0和非0转换,按位取反只有^,才是
27.C++中的头文件和源文件 -- https://www.cnblogs.com/lidabo/archive/2012/04/17/2454568.html
28.可以用CString.Format(”%s”,char *)这个方法来将char *转成CString。要把CString转成char*,用操作符(LPCSTR)CString就可以了。至于ANSI/Unicode这些字符问题那自然是没有处理了,只是直接把CString指向的内存转成了char指针指向区域
29.GetUpperBound()--就是最大数组下标呗--获取数组最大维度上限
30.关于CString的相关知识,首先,CString 里面的数据占用的字节数 = 实际是字符串字符占的内存数加上固定的信息字节数。然后,作为类本身,它的大小( sizeof ) 是4字节,它实际就是一个指针。
31.获取电脑的processorid和machineguid信息(设备唯一标识):::https://blog.csdn.net/weixin_43586563/article/details/109765086Windows安装时会唯一生成一个GUID,可以在注册表中搜索“MachineGuid”字段获取其值。这个ID作为Windows系统设备的唯一标识不错,不过值得注意的一点是,与硬件ID不一样,这个ID在重装Windows系统后应该不一样了。这样授权软件在重装系统后,可能就需要用户重新购买授权。32.do...while 循环是 while 循环的变体。在检查while()条件是否为真之前,该循环首先会执行一次do{}之内的语句,然后在while()内检查条件是否为真,如果条件为真的话,就会重复do...while这个循环,直至while()为假。
33.内存管理:::https://www.cnblogs.com/01black-white/p/16591344.html
34.关于CWinThread::m_pMainWnd变量问题---https://blog.csdn.net/liubing8609/article/details/82077948
35.属性表单放在Picture Control中 --- https://www.cnblogs.com/zhanglibo0626/archive/2011/09/01/2161553.html
36.复制资源:https://blog.csdn.net/yumorende/article/details/44239771
38.https://blog.csdn.net/VisualEleven/article/details/6322466VN_ITEMCHANGED通知会响应多次的问题
https://blog.csdn.net/china_hxx/article/details/41743395
MFC中如何实现CListCtrl单元格可编辑
https://blog.csdn.net/qq_43248127/article/details/122846072
CListCtrl高亮显示某一行:https://blog.csdn.net/u011202336/article/details/9172235
CListCtrl控件主要事件及LVN_ITEMCHANGED消息和鼠标双击列表项事件的处理https://blog.csdn.net/xinpo66/article/details/53486169
39.基于MFC的Windows开发:记录登陆窗口的登陆信息以便下次自动输入(踩坑记录)http://t.zoukankan.com/smileglaze-p-13866602.html
40.如何截获对话框的右上角的关闭窗口按扭的消息呢? -- nID == SC_CLOSE https://bbs.csdn.net/topics/182362
41.如何把一个高字节和一个低字节合成一个short型数据https://blog.csdn.net/CAO527121128/article/details/40393943
42.CArray使用qsort排序:https://blog.csdn.net/vistas_fh/article/details/17710647
43.(Check-box Control)使用方法简直魔鬼--(我既然用其他形式都没成功)https://blog.csdn.net/cnicfhnui/article/details/109735427
2022-09-14