VC2008学习笔记

1.Unicode文件的开头两个字节固定为0xffef或者0xefff;

2.memcpy函数的第三个参数为字节数,而非字符数,Unicode环境下尤其要注意;

3.GetBufferSetLength的参数为字符数,而非字节数,同样Unicode环境下要注意;

4.vc2008查看内存的方法:vc2008 IDE->调试->窗口->内存,可选4个内存窗口进行查看内存值;

5._countof函数的参数不能为指针类型,否则会出错;

6.用VC2008进行调试时断点处不停,而且红色实心圆圈断点变为一个空心黄色圆圈断点时,可进行如下设置:VC2008 IDE->工具->选项->调试->常规->将“要求源文件与原始版本完全匹配”的复选框中的对勾去掉即可;

7.为MDI窗口添加水平与垂直滚动条

在CMainFrame中的OnCreate方法下加一句代码,如下:

lpCreateStruct->style |= WS_VSCROLL | WS_HSCROLL; // 增加垂直和水平滚动条

8.为MDI子窗口(选项卡式和无选项卡式) 添加水平与垂直滚动条

方法一:在CChildFrame中的PreCreateWindow方法下加一句代码,如下:

cs.style |= WS_VSCROLL | WS_HSCROLL;

方法二:在CXXXView::PreCreateWindow方法下加一句代码,如下:

   cs.style |= WS_HSCROLL | WS_VSCROLL;

9. 添加树的双击事件

为CViewTree类添加”=NM_DBLCLK”消息, 然后在OnNMDblclk方法中实现业务即可;

10. 添加系统热键的方法

先注册热键: RegisterHotKey(this->m_hWnd,1001,MOD_CONTROL,'F');

添加消息:WM_HOTKEY, 然后会自动生成OnHotKey(UINT nHotKeyId, UINT nKey1, UINT nKey2)方法, 实现该方法;

当不需要该热键时:UnregisterHotKey(m_hWnd, 1001);

11.添加菜单快捷键(加速键)的方法及添加事件处理程序的位置

先在menu下的某一个菜单里添加一个菜单项,例如:测试(&T)/tCtrl+T,ID为"ID_TEST"

然后在Accelerator中添加一个快捷组合键"Ctrl+T",ID要和上面一样,都为"ID_TEST"

最后为该ID_TEST添加事件处理程序即可, 对于多文档工程来说,要注意添加事件处理程序的位置对程序也有影响,下面分别来介绍:

  ①将菜单ID的事件处理程序添加到CMainFrame中,那么只有在关掉所有子窗口后,即只有父窗口打开时,操作该菜单时该事件处理程序有效;

  ②将菜单ID的事件处理程序添加到CChildFrame中,那么只要存在子窗口被打开了,操作该菜单时该事件处理程序就有效;

  ③ 将菜单ID的事件处理程序添加到CXXXXApp中,那么该事件处理程序对CMainFrame和CChildFrame都有效;

  ④菜单ID添加在CXXXXDoc和CXXXXView中时该事件处理程序无效.

12.在VC2008 IDE中建立的有默认系统菜单的工程里,按下Ctrl+S会出现保存对话框或者直接保存(不进行提示),如果希望改变这种处理方式,有两种方法:

方法一:可以在CXXXXDoc中重载CDocument中的DoFileSave()函数;

方法二:在Frame(CChildFrame/CMainFrame)中重载OnCommand()方法,通过wPara参数值来判断选择的是否为保存ID,然后实现即可.

13. 当CXXXXView继承CView时添加的滚动条无效,这时我们可以继承CScrollView,然后在CXXXXView中重载OnInitialUpdate()方法,代码如下:

void CXXXXView::OnInitialUpdate()

{

CScrollView::OnInitialUpdate();

CSize sizeTotal;

// TODO: 计算此视图的合计大小

//sizeTotal.cx = sizeTotal.cy = 1024;

    OnDraw(this->GetDC());    // 之所以在这里调用OnDraw(),是因为这个函数里计算了CXXXXDoc的大小CSize;虽然OnDraw()方法会自动调用,但却在本函数OnInitialUpdate()之后执行

sizeTotal=GetDocument()->GetDocSize(); // 这里获得CXXXXDoc的大小

    SetScrollSizes(MM_TEXT, sizeTotal);    // 根据CXXXXDoc的大小来设置合适的滚动条长度,当然也可以自己给定值,但是如果太小,那么就可能不会出现滚动条;如果太大,那么在视图外的部分将会显示

}

VC2008学习笔记相关推荐

  1. VC2008学习笔记(二)——插入WMP控件并创建类

    一.在资源视图加入窗体 二.新加入的窗体 三.插入Widows Media Player控件 右键点击"插入ActiveX 控件"--选择Windows Media Player, ...

  2. OpenCV学习笔记(三十一)——让demo在他人电脑跑起来 OpenCV学习笔记(三十二)——制作静态库的demo,没有dll也能hold住 OpenCV学习笔记(三十三)——用haar特征训练自己

    OpenCV学习笔记(三十一)--让demo在他人电脑跑起来 这一节的内容感觉比较土鳖.这从来就是一个老生常谈的问题.学MFC的时候就知道这个事情了,那时候记得老师强调多次,如果写的demo想在人家那 ...

  3. windows下32位汇编语言学习笔记

    windows下32位汇编语言学习笔记 第一章  第一章 背景知识 80x86处理器的存储器 4个数据寄存器 EAX,EBX,ECX,EDX EAX寄存器 所有API函数的返回值都保存在EAX里,注意 ...

  4. 【C/C++】 学习笔记

    [C/C++] 学习笔记 C 知识点回顾 数据类型 补码.反码 数组 函数 字符与字符串 作用域 存储类型 控制语句 指针 指针作用 内存分配 指针类型 内存分配实践 字符指针.字符数组常量.字符数组 ...

  5. PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 call

    您的位置 首页 PyTorch 学习笔记系列 PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 发布: 2017年8月4日 7,195阅读 ...

  6. 容器云原生DevOps学习笔记——第三期:从零搭建CI/CD系统标准化交付流程

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  7. 容器云原生DevOps学习笔记——第二期:如何快速高质量的应用容器化迁移

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  8. 2020年Yann Lecun深度学习笔记(下)

    2020年Yann Lecun深度学习笔记(下)

  9. 2020年Yann Lecun深度学习笔记(上)

    2020年Yann Lecun深度学习笔记(上)

  10. 知识图谱学习笔记(1)

    知识图谱学习笔记第一部分,包含RDF介绍,以及Jena RDF API使用 知识图谱的基石:RDF RDF(Resource Description Framework),即资源描述框架,其本质是一个 ...

最新文章

  1. 手撕设计模式之「简单工厂模式」(Java描述)
  2. 华为nova6计算机在哪,华为nova6开发者选项在哪
  3. arcgis栅格邻域统计_ArcGIS 从基础到实战书正式出版,易智瑞技术总裁沙志友沙总推荐并亲自写序...
  4. java程序模拟atm机_Java项目实现模拟ATM机
  5. 互联网公司面试必备综合篇
  6. 【转】js如何准确获取当前页面url网址信息
  7. 直接插入排序-java
  8. 前后端分离的跨域请求问题解决
  9. win7仿win8主题
  10. 信息系统项目管理师(2022年)—— 重点内容:知识产权与标准规范(22)
  11. 一个3D城市地图应用开发工具,等你获取 ThingJS 3D 全景 可视化
  12. 网页短链接实现原理探究
  13. sql求和出现null时赋值为0
  14. 苹果审核2.1解决方案
  15. 分布式锁的实现【转载】
  16. 机器视觉光源选择方案
  17. 安装sql server 2000:以前的某个程序安装已在安装计算机上创建挂起的文件
  18. 不想被时代淘汰?网络工程师未来的出路在这里!
  19. 关于wince4.2 2k 页面 nand flash 驱动的问题
  20. Oracle_10g卸载

热门文章

  1. 考研高等数学张宇30讲笔记——第十一讲 多元函数微分学
  2. NOIP2017提高组Day2T1(奶酪)题解
  3. 惠普HP LaserJet 1160 驱动
  4. ADB命令和Monkey命令
  5. python 编译成exe vmp加密_[分享]某vmp壳原理分析笔记
  6. Vmprotect 驱动加壳踩坑
  7. 2018 华为软件精英挑战赛
  8. IT 常用词汇(一)
  9. 在Outlook 2013中发送给多个收件人时如何隐藏电子邮件地址
  10. 2003系统虚拟dns服务器向导,安装和管理dns服务器.doc