1. vs第二次单步调试崩溃。。

一開始不知道为什么,重装无数次。

后来发现是VAssistX 插件的问题。

。。

将下载下来的插件包中的VA_X.dll  复制到VAssistX 的安装路径下就可以。

2. 发现了一个非常棒的vs配色方案的站点   http://studiostyl.es/

3. sendmessage和postmessage的差别
PostMessage仅仅负责将消息放到消息队列中,不确定何时及是否处理
SendMessage要等到受到消息处理的返回码(DWord类型)后才继续
PostMessage运行后立即返回
SendMessage必须等到消息被处理后才会返回。

4. MakeLower()函数
像这样改变大写和小写的函数,除非一下子全然改变。否则现用现改,不要过早调用此类函数。

5. 消息中想要发送字符串,用以下方式
发送端:
CString relatedID = _T("123");
GetParent()->SendMessage(WM_MYHIDE,WPARAM(TRUE),(LPARAM)relatedID.GetBuffer(20));
reatedID.releaseBuffer();
在消息响应端:
void CDrawProgramDoc::SetYcProperty(WPARAM wParam)
{
 CString str((TCHAR*)lParam);
}

6. PostMessage和::PostMessage的差别

PostMessage的定义是这种:
_AFXWIN_INLINE BOOL CWnd::PostMessage(UINT message, WPARAM wParam, LPARAM lParam)
{ ASSERT(::IsWindow(m_hWnd)); return ::PostMessage(m_hWnd, message, wParam, lParam); }

所以在Release下。它和::PostMessage全然等价。所以能用PostMessage就不要用::PostMessage了,由于前者少一个參数,输入快。曾经我也有疑问,以为用PostMessage会损失效率。结果未必,MFC的东西并不总是慢。有些时候他们与API等价的快。

PostMessage:不须要指定接收消息的窗体,可是消息仅仅能发往本窗体
::PostMessage:须要指定接收消息的窗体,可是消息能够发往随意窗体

7. 模态对话框与非模态对话框的差别
一般来说,Windows应用程序中。对话框分为模态对话框和非模态对话框两种。二者的差别在于当对话框打开时,是否同意用户进行其它对象的操作。
模态对话框垄断了用户的输入。

当一个模态对话框打开时,用户仅仅能与该对话框进行交互,而其它用户界面对象收不到输入信息。模态对话框下。用户须要操作目标对话框就必须先操作模态对话框。

用户对模态对话框的处理如图所看到的。
模态对话框的处理过程
模态对话框的处理过程
非模态对话框(Nonmodal Dialogue Box。又叫做无模式对话框),与模态对话框不同。当用户打开非模态对话框时。依旧能够操作其它窗体。
建立模块对话框通常调用DoModal()这种方法,而非模态对话框则调用Create()和ShowWindow()这两个函数。

8.遇到一个奇妙错误。

。winocc.cpp 329行
错误本来是这种,有这么一段代码:
//消息函数
LRESULT CPESetToolDlg::OnSocketGetInstallList(WPARAM wParam, LPARAM lParam)
{
 //发消息给进度条,让他一下子跑完
 PostMessage(WM_PROGRESS_STEP_SEND, PROGESS_RANGE_NUM / 1, 0);
 //定义一个dlg
 CApkInstallDlg apkID;
 apkID.SetApkList((CSTRING_LIST*)wParam);
 //显示dlg
 return apkID.DoModal();
}
单步调试的时候发现。仅仅有在DoModal() 的时候才崩溃,接着调试发现不正确,是在消息函数中崩溃的。

后来发现,假设在PostMessage以下让他弹一个框就没问题。。只是还是不知道怎么解决这个问题,后来发现。是由于消息这个东西。在队列里面,运行顺序非常乱,不能用post,所以就改成了send,採用堵塞的方式,。。结果还是不行,后来发现,原来的send之后进入的消息函数里面还有个post。。我想了想。。仅仅好又重写了一个函数。。- -#。。

我发现如今我干的最多的事就是重写函数了。

另外有篇文章写得不错。能够看看:http://hi.baidu.com/vc_net/item/82e10f0c4a1e776dd55a113f

转载于:https://www.cnblogs.com/liguangsunls/p/7079101.html

七月工作笔记 7.7 - 7.11相关推荐

  1. 【Visual C++】游戏开发笔记二十七 Direct3D 11入门级知识介绍

    游戏开发笔记二十七 Direct3D 11入门级知识介绍 作者:毛星云    邮箱: happylifemxy@163.com    期待着与志同道合的朋友们相互交流 上一节里我们介绍了在迈入Dire ...

  2. 罗辑思维在全链路压测方面的实践和工作笔记

    业务的知名度越高,其背后技术团队承受的压力就越大.一旦出现技术问题,就有可能被放大,尤其是当服务的是对知识获取体验要求颇高的用户群体. 提供知识服务的罗辑思维主张"省时间的获取知识" ...

  3. 腾讯数据库专家多年运维经验凝聚成简,总结这份595页工作笔记

    腾讯数据库专家多年运维经验凝聚成简,总结这份595页工作笔记 爱马士团团长 2020-09-25 15:13:54 前言 MySQL是开源数据库方向的典型代表,它拥有成熟的生态体系,同时在可靠性.性能 ...

  4. maximo工作笔记

    maximo工作笔记 xml学习: 多选框: <hdcheckboxgroup id="1339230676937" label="作业类型" dataa ...

  5. 腾讯云TVP大佬十年心血MySQL工作笔记,看完还不懂MySQL来打我!

    TVP简介(腾讯云最具价值专家) TVP(Tencent Cloud Valuable Professional),腾讯云最具价值专家,是腾讯云授予云计算领域技术专家的一个奖项.而今天小编分享的这份资 ...

  6. 无意间翻到五年前的工作笔记

    今天在拿U盘拷贝一个东西,发现了16年的一个工作笔记.我记得我是11月17日入职,入职以后就开始处理各种问题.简单的扫描了一眼,发现了一些问题,当时作为核心开发,视界还是不够宽. 1,一直在处理问题, ...

  7. 工作笔记:TrueCrypt编译记录

    工作笔记:TrueCrypt编译记录 TrueCrypt的最新版本6.2可以从官方网站上下载,我从这里下载了一个6.1的 http://freedos.pri.ee/truecrypt/ 在TrueC ...

  8. 苹果ios开发一年的工作笔记

    苹果ios开发一年的工作笔记 退回输入键盘 - (BOOL) textFieldShouldReturn:(id)textField{ [textField resignFirstResponder] ...

  9. 工作笔记1——利用bat脚本实现批量上传文件到ftp服务器

    工作笔记1--利用bat脚本实现批量上传文件到ftp服务器 问题概述 利用ftp命令实现上传文件 注意 限时功能 将共享目录映射到电脑中的某个盘符 实现断点续传 问题概述 公司中有大概225k个文件需 ...

最新文章

  1. NSIndexPath类
  2. java.util.concurrent.locks.Condition文档说明
  3. 使用注意力机制建模 - 标准化日期格式
  4. php 条形码生成器,PHP条形码图像生成器
  5. python请求模块requests的session不能保存cookies的情况
  6. 闲聊扯淡 | 微信8.0背景视频合集,笑死我了
  7. 性能测试--jmeter中响应断言【9】
  8. php正则替换%3cbr%3e_php去除换行符的几种方法(str_replace正则和PHP_EOL)
  9. 防止第二代身份证泄露隐私
  10. KiCad: 一个电子原理图设计和布局创建套件
  11. iPhoneXR苹果手机中文电路原理图纸
  12. 微信小程序短信倒计时60s功能
  13. 【PyTorch修炼】一、安装GPU的pytorch详细教程(避坑)
  14. 自己写了个安卓小说下载器
  15. 最害怕的是,不知道想要什么
  16. 论黑产黑阔如何安全地转移赃款/洗钱?
  17. esp32测试wifi速率
  18. 数据外连接 LEFT OUT JOIN 的用法
  19. firebase 推送_使用Firebase Cloud Messaging发送推送通知
  20. 000 高数预备知识

热门文章

  1. Android日志[基础篇]Android Log日志输出
  2. Git初学札记(一)————Git简介与安装
  3. 计算机 电工学简明教程,电工学简明教程复习要点
  4. c# url传参不能包含html标签,c#解析包含HTML特殊字符的字符串XElement
  5. 安装linux前分区,安装Linux系统前的准备之磁盘分区
  6. nginx php 防止跨站,Nginx下多网站单独php-fpm进程目录权限防跨站
  7. java序列化错在哪里_Spark序列化错误:java.io.NotSerializableException
  8. springboot security 权限不足_SpringBoot 整合 SpringSecurity 之起源篇(零)
  9. java输出1-100内的所有5的倍数,5个一行
  10. php过滤多空格_php正则过滤html标签、空格、换行符的代码(附说明)