这是算不算VC的bug呢,模式对话框下主窗口依然能够处理消息。。。。。。。。

zhaogaojian 2004-09-14 11:24:58
新建一对话框程序,在资源中插入2对话框
IDD_DLG1,IDD_DLG2
对应的类分别是
CDlg1,CDlg2,

(1)如果直接调用
CDlg1 dlg;
dlg.DoModal();//主窗口不能
//////////////////////////////////////////////////////////////////////////////
(2)在CDlg1的OnCreate(LPCREATESTRUCT lpCreateStruct)中加入一句
Cdlg2 dlg;
if(dlg.DoModal()==1){}
再调用
CDlg1 dlg;
dlg.DoModal();//主窗口能
///////////////////////////////////////////////////////////////////////////////
好像对话框1成了无模式的!!!!!!!!!!
...全文
104 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
DentistryDoctor 2004-09-14
  • 打赏
  • 举报
回复
消息仍然会处理的,只是不能获得焦点而已。
zhaogaojian 2004-09-14
  • 打赏
  • 举报
回复
靠,我有那傻,是在两个函数中的

(1)
Cdlg2 dlg;
if(dlg.DoModal()==1){}
///////////////////////////
(2)
CDlg1 dlg;
dlg.DoModal();//主窗口能
分别在两个不同函数中
QunKangLi 2004-09-14
  • 打赏
  • 举报
回复
//同名变量dlg可以共存在一个函数里?
Cdlg2 dlg;
if(dlg.DoModal()==1){}
CDlg1 dlg;
dlg.DoModal();//
zhaogaojian 2004-09-14
  • 打赏
  • 举报
回复
我说的消息是指键盘鼠标的消息
zhaogaojian 2004-09-14
  • 打赏
  • 举报
回复
但现在连焦点也能获得了
相关网站 7 设置窗口最大最小 7 设置窗口标题 7 去掉主菜单 7 修改应用程序图标 7 系统只能允许一个程序运行 7 在状态栏中添加时间 8 研究调用存储过程 8 得到本机的IP地址 9 vc调用chm文件 10 最高窗口的实现 10 防止Edit框中的Password不保密 11 在同一系统中显示GB字符和BIG5字符 12 改变颜色(整个窗体的控件) 13 改变工程表头栏 13 ◆如何找开一个DiaLog的窗口◆ 13 ◆得到系统中设置的窗口颜色◆ 14 ◆如何让点下去的菜单成为V状态◆ 14 ◆如何调用WINDOWS的颜色板◆ 14 ◆如何产生一个MDI的主窗口◆ 15 ◆如何让一个文本控件显示出值◆ 15 ◆如何让一个控件显示出相应的值◆ 16 ◆在调试中怎么样MESSAGEBOX一个数字◆ 16 ◆如何控制控件的焦点◆ 16 ◆如何对析构函数中对象进行释放◆ 16 ◆如何关闭一个模态窗口◆ 17 ◆如何将一个提示的声音发到声卡上◆ 17 ◆如何得到打开exe的带的参数◆ 17 ◆如何在框架上建立一个工具条◆ 17 ◆如何生成一个主窗口下方的状态条◆ 18 ◆如何让Cscrollview类中控制其可以流动区域大小◆ 19 ◆MFC中控件的一些基本控制方法◆ 19 ◆如何让一个数字型变量化为字符型变量◆ 19 ◆如何使用“拉动条”,“上下选择”◆ 19 ◆如何使用postmessage来异步触发某事件◆ 21 ◆如何使用Sendmessage来异步触发某事件◆ 22 ◆如何修改父类的相关控件属性◆ 22 ◆如何在程序中得到控件的名◆ 22 ◆如何控制菜单的事件程序◆ 22 ◆如何使用控件中的数据录入的控制属性◆ 23 ◆哪些函数是文档、视图相互处理用的◆ 23 ◆如何建立一个基于对话框一程序◆ 23 ◆如何建立一个线程◆ 24 ◆如何让窗口产生一个图标(从应用程序资源中取出)◆ 24 ◆如何得到一个edit的录入的值◆ 24 ◆如何启动TIMER事件◆ 25 ◆如何使用ctrllist控件实现表格◆ 25 ◆如何从INI文件中得到值◆ 25 ◆如何将图标文件写到窗口中◆ 26 ◆如何得到本机的IP地址◆ 26 ◆如何使用全局变量◆ 26 ◆如何让一个字符加上回车、换行◆ 26 ◆如何定义、使用结构◆ 26 ◆如何在任意程序中显示MessageBox◆ 27 ◆如何在程序判断出debug状态◆ 27 ◆当对话框中有一个滚动条是,当滚动滚动条时的消息控制函数◆ 27 ◆将一个CWnd指针转换成一个控件ID(整数)注意用GetDlgItem()函数是从一个控件ID转换成一个CWnd的指针◆ 28 ◆如果在对话框中自定义一个消息的方法,假设对话框名为CXX◆ 28 ◆消息传递◆ 29 ◆在一个函数引用另外的一个对话框◆ 29 ◆全局函数的申明问题◆ 29 ◆在应用程序中*APP.CPP中的InitInstance()的事件◆ 29 ◆给执行文件加一个图标◆ 30 ◆如何在全局函数中通过传入的窗口句柄操作窗口◆ 30 ◆如何使桌面文字背景透明?◆ 30 ◆怎样才能在VC里产生一个唯一的字符串◆ 31 ◆如何隐藏进程(在系统状态栏和进程列表里不可见)◆ 31 ◆如何得到一个确定大小的视?◆ 31 ◆如何实现点击窗口任意地方拖动窗口?◆ 32 ◆如何在启动时阻止MDI应用程序创建一个新文档?◆ 33 ◆如何在多文档MFC程序中制作独立的File|New菜单?◆ 33 ◆如何检测视是否处于分割状态?◆ 34 ◆如何使程序保持极小状态?◆ 34 ◆如何确定当前进程实例是否为唯一实例?◆ 35 ◆如何向一个文档附加多个视?◆ 35 ◆如何获得文件的图标、属性、大小、类型等参数?◆ 36 ◆如何得到鼠标下面的窗口?◆ 37 ◆设置鼠标的形状◆ 38 ◆在对话框中设置编辑EDIT的值◆ 38 1. 如何获取应用程序的实例句柄? 38 2. 如何通过代码获得应用程序主窗口的指针? 38 3. 如何在程序中获得其他程序的图标? 38 4. 如何编程结束应用程序?如何编程控制windows的重新引导? 39 5.怎样加载其他的应用程序? 39 6. 确定应用程序的路径 39 7. 获得各种目录信息 40 8. 如何自定义消息 40 9. 如何改变窗口的图标? 40 10. 如何改变窗口的 缺省风格? 40 11. 如何将窗口居中显示? 41 12. 如何让窗口和 MDI窗口一启动就最大化和最小化? 41 13. 如何使程序保持极小状态? 41 14. 如何限制窗口的 大小? 41 15. 如何使窗口不可见? 41 16. 如何使窗口始终在最前方? 41 17、如何创建一个字回绕的CEditView 42 18、通用控件的显示窗口 42 19、移动
相关网站 7 设置窗口最大最小 7 设置窗口标题 7 去掉主菜单 7 修改应用程序图标 7 系统只能允许一个程序运行 7 在状态栏中添加时间 8 研究调用存储过程 8 得到本机的IP地址 9 vc调用chm文件 10 最高窗口的实现 10 防止Edit框中的Password不保密 11 在同一系统中显示GB字符和BIG5字符 12 改变颜色(整个窗体的控件) 13 改变工程表头栏 13 ◆如何找开一个DiaLog的窗口◆ 13 ◆得到系统中设置的窗口颜色◆ 14 ◆如何让点下去的菜单成为V状态◆ 14 ◆如何调用WINDOWS的颜色板◆ 14 ◆如何产生一个MDI的主窗口◆ 15 ◆如何让一个文本控件显示出值◆ 15 ◆如何让一个控件显示出相应的值◆ 16 ◆在调试中怎么样MESSAGEBOX一个数字◆ 16 ◆如何控制控件的焦点◆ 16 ◆如何对析构函数中对象进行释放◆ 16 ◆如何关闭一个模态窗口◆ 17 ◆如何将一个提示的声音发到声卡上◆ 17 ◆如何得到打开exe的带的参数◆ 17 ◆如何在框架上建立一个工具条◆ 17 ◆如何生成一个主窗口下方的状态条◆ 18 ◆如何让Cscrollview类中控制其可以流动区域大小◆ 19 ◆MFC中控件的一些基本控制方法◆ 19 ◆如何让一个数字型变量化为字符型变量◆ 19 ◆如何使用“拉动条”,“上下选择”◆ 19 ◆如何使用postmessage来异步触发某事件◆ 21 ◆如何使用Sendmessage来异步触发某事件◆ 22 ◆如何修改父类的相关控件属性◆ 22 ◆如何在程序中得到控件的名◆ 22 ◆如何控制菜单的事件程序◆ 22 ◆如何使用控件中的数据录入的控制属性◆ 23 ◆哪些函数是文档、视图相互处理用的◆ 23 ◆如何建立一个基于对话框一程序◆ 23 ◆如何建立一个线程◆ 24 ◆如何让窗口产生一个图标(从应用程序资源中取出)◆ 24 ◆如何得到一个edit的录入的值◆ 24 ◆如何启动TIMER事件◆ 25 ◆如何使用ctrllist控件实现表格◆ 25 ◆如何从INI文件中得到值◆ 25 ◆如何将图标文件写到窗口中◆ 26 ◆如何得到本机的IP地址◆ 26 ◆如何使用全局变量◆ 26 ◆如何让一个字符加上回车、换行◆ 26 ◆如何定义、使用结构◆ 26 ◆如何在任意程序中显示MessageBox◆ 27 ◆如何在程序判断出debug状态◆ 27 ◆当对话框中有一个滚动条是,当滚动滚动条时的消息控制函数◆ 27 ◆将一个CWnd指针转换成一个控件ID(整数)注意用GetDlgItem()函数是从一个控件ID转换成一个CWnd的指针◆ 28 ◆如果在对话框中自定义一个消息的方法,假设对话框名为CXX◆ 28 ◆消息传递◆ 29 ◆在一个函数引用另外的一个对话框◆ 29 ◆全局函数的申明问题◆ 29 ◆在应用程序中*APP.CPP中的InitInstance()的事件◆ 29 ◆给执行文件加一个图标◆ 30 ◆如何在全局函数中通过传入的窗口句柄操作窗口◆ 30 ◆如何使桌面文字背景透明?◆ 30 ◆怎样才能在VC里产生一个唯一的字符串◆ 31 ◆如何隐藏进程(在系统状态栏和进程列表里不可见)◆ 31 ◆如何得到一个确定大小的视?◆ 31 ◆如何实现点击窗口任意地方拖动窗口?◆ 32 ◆如何在启动时阻止MDI应用程序创建一个新文档?◆ 33 ◆如何在多文档MFC程序中制作独立的File|New菜单?◆ 33 ◆如何检测视是否处于分割状态?◆ 34 ◆如何使程序保持极小状态?◆ 34 ◆如何确定当前进程实例是否为唯一实例?◆ 35 ◆如何向一个文档附加多个视?◆ 35 ◆如何获得文件的图标、属性、大小、类型等参数?◆ 36 ◆如何得到鼠标下面的窗口?◆ 37 ◆设置鼠标的形状◆ 38 ◆在对话框中设置编辑EDIT的值◆ 38 1. 如何获取应用程序的实例句柄? 38 2. 如何通过代码获得应用程序主窗口的指针? 38 3. 如何在程序中获得其他程序的图标? 38 4. 如何编程结束应用程序?如何编程控制windows的重新引导? 39 5.怎样加载其他的应用程序? 39 6. 确定应用程序的路径 39 7. 获得各种目录信息 40 8. 如何自定义消息 40 9. 如何改变窗口的图标? 40 10. 如何改变窗口的 缺省风格? 40 11. 如何将窗口居中显示? 41 12. 如何让窗口和 MDI窗口一启动就最大化和最小化? 41 13. 如何使程序保持极小状态? 41 14. 如何限制窗口的 大小? 41 15. 如何使窗口不可见? 41 16. 如何使窗口始终在最前方? 41 17、如何创建一个字回绕的CEditView 42 18、通用控件的显示窗口 42 19、移动窗口 42 20、重置窗口的大小 42 21、如何单击除了窗口标题栏以外的区域使窗口移动 43 22、如何改变视窗的背景颜色 43 23、如何改变窗口标题 44 24、如何防止主框窗口在其说明中显示活动的文档名 44 25、如何获取有关窗口正在处理的当前消息的信息 45 26、如何创建一个不规则形状的窗口 45 27、如何在代码中获取工具条和状态条的指针 47 28、如何使能和禁止工具条的工具提示 47 29、如何设置工具条标题 48 30、如何创建和使用无模式对话框 48 31、如何在对话框中显示一个位图 49 32、如何改变对话或窗体视窗的背景颜色 49 33、如何获取一个对话控件的指针 50 34、如何禁止和使能控件 50 35、如何改变控件的字体 50 36、如何在OLE控件中使用OLE_COLOR数据类型 51 37、在不使用通用文件打开对话的情况下如何显示一个文件列表 51 38、为什么旋转按钮控件看起来倒转 51 39为什么旋转按钮控件不能自动地更新它下面的编辑控件 52 40、如何用位图显示下压按钮 52 41、如何一个创建三态下压按钮 52 42、如何动态创建控件 52 43、如何限制编辑框中的准许字符 53 44、如何改变控件的颜色 54 45、当向列表框中添加多个项时如何防止闪烁 55 46、如何向编辑控件中添加文本 55 47、如何访问预定义的GDI对象 55 48、如何获取GDI对象的属性信息 56 49、如何实现一个橡皮区矩形 56 50、如何更新翻转背景颜色的文本 58 51、如何创建一个具有特定点大小的字体 58 52、如何计算一个串的大小 59 53、如何显示旋转文本 59 54、如何正确显示包含标签字符的串 60 55、串太长时如何在其末尾显示一个省略号 60 56、如何快速地格式化一个CString对象 61 57、为什么即使调用EnableMenuItem菜单项后,菜单项还处于禁止状态 61 58、如何给系统菜单添加一个菜单项 61 59、如何确定顶层菜单所占据的菜单行数 62 60、在用户环境中如何确定系统显示元素的颜色 62 问:如何控制窗口框架的最大最小尺寸? 63 问:如何改变窗口框架的颜色? 63 问:如何将应用程序窗口置于屏幕正中? 64 问:VC6.0对VC5.0的兼容性? 64 问:打印和打印机的问题? 64 问:CRichEditCtrl滚动条的问题? 65 问:从数据库中读大于32k的内容? 65 问:如何获得CRichEditCtrl中字符的位置? 66 问:如何限制mdi子框架最大化时的大小? 66 问:如何切换视口而不破坏它们? 66 问:改变列表控制时发生闪烁现象? 68 问:处理列表控件可见项的问题? 68 问:产生线程的问题? 68 问:CFile使用了缓冲区吗? 69 问:DAO的密码? 69 问:如何知道CListBox什么时候滚动了? 70 问:视口的不活动性如何处理? 70 问:如何使用COleClientItem的IDispatch接口? 70 问:关于用户自定义的消息使用? 71 问:在打开一个文档时退出? 71 问:在CListCtrl控件中多选择项的删除? 71 问:工作线程的登录状态? 72 问:如何控制菜单的大小? 72 问:改变LVIS_SELECTED的状态颜色? 73 问:如何只存储文档的某一部分? 73 问:保存工具条菜单有bug吗? 73 问:Tip of the day的bug 73 问:如何让我的mfc应用程序可以在最上面? 74 问:如何增加视图中ActiveX控件的事件处理函数? 75 问:如何创建一个动态的Tree控件? 75 问:SDI程序开始时不打开文档? 75 问:List控件中整栏选择? 75 问:如何重载MRU文件? 76 问:CImageList控件中图象橙色被显示为黄色? 76 问:无法正确改变应用程序的图标? 78 问:工具条状态的问题? 78 问:在SDI应用程序中使用Active控件? 79 问:有RichEdit控件的对话框无法正常显示? 79 问:DLL中的模板成员函数? 79 问:CFormView中的上下文帮助? 80 问:CArchive类的WriteObject函数问题? 80 问:RegisterWindowMessage中的BroadcastSystemMessage如何处理? 80 问:CListCtrl中选择变化时如何获得通知? 81 问:如何向ATL-COM对象传送一个数组? 81 问:如何选择CTreeCtrl中的节点文本进行编辑? 82 问:如何改变默认的光标形状? 82 问:如何用键盘滚动分割的视口? 83 问:如何在线程中处理状态条? 83 问:如何阻止WINDOWS关闭? 83 问:如何使一个按钮Disable? 83 问:怎样从MFC扩展动态链结库(DLL)中显示一个对话框? 84 问:想隐藏用户界面怎么办? 85 问:如何实现SDI与MDI的转换? 85 问:CDC中的竖排文本? 86 问:如何激活变灰的弹出菜单? 86 问:线程消息? 87 问:TreeCtrl控制的显示速度太慢? 87 怎样使窗口总是浮现在最上面? 88 改变拖放时的光标外形? 89 如何定位到最新的记录上? 90 MVC和Doc-View? 90 被禁止(Disable)的控件如何改变其文本或背景色? 90 有ODBC的查找函数吗? 91 多个MRU菜单的问题 91 校验框类问题 93 CFormView类的Fold按钮 94 视的背景色 94 隐藏控件台程序 94 修改SDI窗口标题 95 焦点问题 95 从一个OCX调用另一个OCX的方法。 95 得到视 96 字符转化时间 96 二进制还是文本方式? 99 发送消息 99 怎样知道菜单运行时的状态 99 DLL编译出错 100 通用控件的显示窗口 100 如何禁止和使能控件 100 如何在OLE控件中使用OLE_COLOR数据类型 100 在不使用通用文件打开对话的情况下如何显示一个文件列表 100 为什么旋转按钮控件看起来倒转 101 为什么旋转按钮控件不能自动地更新它下面的编辑控件 101 如何动态创建控件 101 如何显示旋转文本 101 在TreeList中使用Edit功能 102 TreeList control中使用check box 103 有关属性对话框(property sheet )的几个提示 108 在MFC加入"这是什么?"的帮助提示 111 精通工具条 112 如何改变视窗的背景颜色 112 为MFC应用程序添加全屏幕显示功能 112 VC常用数据类型使用转换详解 114 用Visual C++操作INI文件 117 单文档加入背景图 119 更新窗体方法 120 更改窗口控件的能动和不能动(以按钮控件为例) 120 窗口响应键盘事件 120 密码框输入受保护 121 最高窗口的实现 122 实现窗口动态写入汉字和改变汉字颜色形状 123
目录 (1) 如何通过代码获得应用程序主窗口的 指针? 5 (2) 确定应用程序的路径 6 (3) 如何在程序中获得其他程序的 图标? 6 (4) 获得各种目录信息 7 (5) 如何自定义消息 8 (6) 如何改变窗口的图标? 8 (7) 如何改变窗口的缺省风格? 8 (8) 如何将窗口居中显示? 9 (9) 如何让窗口和 MDI窗口一启动就最大化和最小化? 10 (10) 如何限制窗口的大小? 10 (11) 如何使窗口不可见? 10 (12) 如何创建一个字回绕的CEditView 10 (13) 如何使程序保持极小状态? 11 (14) 移动窗口 11 (15) 通用控件的显示窗口 12 (16) 重置窗口的大小 12 (17) 如何单击除了窗口标题栏以外的区域使窗口移动 12 (18) 如何改变视窗的背景颜色 14 (19) 如何改变窗口标题 15 (20) 如何防止主框窗口在其说明中显示活动的文档名 17 (21) 如何获取有关窗口正在处理的当前消息的信息 17 (22) 如何在代码中获取工具条和状态条的指针 18 (23) 如何使能和禁止工具条的工具提示 18 (24) 如何创建一个不规则形状的窗口 19 (25) 如何获取应用程序的 实例句柄? 23 (26) 如何编程结束应用程序? 23 (27) 如何创建和使用无模式对话框 24 (28) 如何防止主框窗口在其说明中显示活动的文档名 26 (29) 如何在代码中获取工具条和状态条的指针 27 (30) 怎样加载其他的应用程序? 27 (31) 如何在代码中获取工具条和状态条的指针 28 (33) 如何设置工具条标题 29 (34) 如何使窗口始终在最前方? 30 (35) 如何在对话框中显示一个位图 30 (36) 如何改变对话或窗体视窗的背景颜色 30 (37) 如何获取一个对话控件的指针 32 (38) 如何禁止和使能控件 33 (39) 如何改变控件的字体 33 (40) 如何在OLE控件中使用OLE_COLOR数据类型 35 (41) 在不使用通用文件打开对话的情况下如何显示一个文件列表 35 (42) 为什么旋转按钮控件看起来倒转 36 (43) 为什么旋转按钮控件不能自动地更新它下面的编辑控件 37 (44) 如何用位图显示下压按钮 37 (45) 如何一个创建三态下压按钮 38 (46) 如何动态创建控件 38 (47) 如何限制编辑框中的准许字符 38 (48) 如何改变控件的颜色 40 (49) 当向列表框中添加多个项时如何防止闪烁 43 (50) 如何向编辑控件中添加文本 43 (51) 如何访问预定义的GDI对象 44 (52) 如何获取GDI对象的属性信息 45 (53) 如何实现一个橡皮区矩形 46 (54) 如何更新翻转背景颜色的文本 49 (55) 如何创建一个具有特定点大小的字体 50 (56) 如何计算一个串的大小 51 (57) 如何显示旋转文本 52 (58) 如何正确显示包含标签字符的串 54 (59) 如何快速地格式化一个CString对象 55 (60) 串太长时如何在其末尾显示一个省略号 55 (61) 为什么即使调用EnableMenuItem菜单项后,菜单项还处于禁止状态 56 (62) 如何给系统菜单添加一个菜单项 56 (63) 如何确定顶层菜单所占据的菜单行数 58 (64) 在用户环境中如何确定系统显示元素的颜色 59 (65) 如何查询和设置系统参数 59 (66) 如何确定当前屏幕分辨率 60 (67) 如何使用一个预定义的Windows光标 60 (68) 如何检索原先的Task Manager应用程序使用的任务列表 61 (70) 在哪儿创建临文件 63 (71) 我怎样才能建立一个等待光标? 64 (73) 如何访问桌面窗口 65 (74) 什么是COLORREF? 我该怎样用它? 66 (75) AppWizard所产生的STDAFX文件是干什么用的? 66 (76) 我在我的程序中是了CDWordArray。我向它添加了约10,000个整数,这使得它变得非常非常慢。为什么会这么糟? 67 (77) 我该如何改变MDI框架窗口的子窗口的大小以使在窗口以一定的大小打开? 67 (78) 在我的程序的某些部分,我可以调用 MessageBox 函数来建立一个信息对话框,例如在视类中。 67 (79) 我需要在我的程序中设置全局变量,以使文档中的所有类都能访问。我应该吧它放到哪儿? 68 (80) 我听说MFC可以发现内存漏洞,我怎样使用该特性? 68 (81) 我怎样才能在我的应用程序中循环浏览已经打开的文档? 68 (82)才能在我的应用程序中循环浏览已经打开的视? 68 (83)数PreCreateWindow是干什么用的? 69 (84)该怎样防止MFC在窗口标题栏上把文档名预置成应用程序名? 69 (85) 我应该怎样防止MFC在窗口标题栏上添加文档名? 69 (86)我应该如何改变视窗口的大小? 69 (87)我有一无模式对话框。我怎样才能在窗口退出时删除CDialog对象? 69 (88)为什么把“delete this”放在PostNcDestroy中而不是OnNcDestroy? 69 (89) File菜单中的MRU列表是从哪儿来的?列表中的名字放在哪儿了?我怎样才能改变列表中项目的最大值? 70 (90) 我在菜单中添加了新的项。但是,当我选该项时,在状态栏上没有出现任何提示信息。为什么? 70 (91) 我怎样才能在应用程序的缺省系统菜单中加上一些东西? 70 (92) 我建立了一个对话框。但是当我显示该对话框时,第一个编辑框总是不能获得焦点,我必须单击它来使它获得焦点。我怎样才能使第一个编辑框在对话框打开时就获得焦点? 71 (93) 我怎样才能使一个窗口具有“always on top”特性? 71 (94) 我要为我的form view添加文档模板。我先建立了对话框模板,然后使用ClassWizard建立了基于CFormView的新类,它也是从CDocument继承来的。我还建立了相应的资源并在InitInstance中添加了新的文档模板。但是,当我试图运行该程序时,出现了Assertion信息。为什么? 71 (95) 我在一对话框中有一列表框,我需要tabbed列表框中的项目。但是,当我处理含有tab字符(用AddString添加的)的列表项时,tab被显示成小黑块而没有展开。哪儿出错了? 72 (96) 我建立了一个应用程序,并使用了CRecordset类。但是,当我运行该程序时,它试图要访问数据库,并给出“Internal Application Error”对话框。我应该怎样做? 72 (97) 我用ClassWizard建立了一个类。但是,我把名字取错了,我想把它从项目中删除,应该如何做? 73 (98) 当我打开应用程序中的窗口时,我要传递该窗口的矩形尺寸。该矩形指定了窗口的外围大小,但是当我调用GetClientRect时,所得到的尺寸要比所希望的值要小(因为工具栏和窗口边框的缘故)。有其它方法来计算窗口的尺寸吗? 73 (99) 我在文档类中设置了一个整型变量。但是,当我试图把该变量写入Serialize函数中的archive文件中时,出现了类型错误。而文档中的其它变量没有问题。为什么? 73 (100) 如何控制菜单的大小? 74 (101) 改变LVIS_SELECTED的状态颜色? 75 (102) 如何只存储文档的某一部分? 76 (103) 保存工具条菜单有bug吗? 76 (104) Tip of the day的bug 76 (105) 如何可以让我的程序可以显示在其它的窗口上面? 77 (106) 如何控制窗口框架的最大最小尺寸? 79 (107) 如何改变窗口框架的颜色? 81 (108) 如何将应用程序窗口置于屏幕正中? 82 (1)当文档被修改时,如何在标题上加上标志'*'? 82 (2)VC6.0对VC5.0的兼容性? 83 (3)打印和打印机的问题? 83 (4)CRichEditCtrl滚动条的问题? 84 (5)从数据库中读大于32k的内容? 84 (6)如何获得CRichEditCtrl中字符的位置? 86 (7)如何限制mdi子框架最大化时的大小? 86 (8)如何切换视口而不破坏它们? 87 (9)改变列表控制时发生闪烁现象? 91 (10)处理列表控件可见项的问题? 91 (11)产生线程的问题? 91 (12)CFile使用了缓冲区吗? 94 (13)DAO的密码? 94 (15)视口的不活动性如何处理? 96 (16)如何使用COleClientItem的IDispatch接口? 97 (17)关于用户自定义的消息使用? 98 (18)在打开一个文档时退出? 99 (19)在CListCtrl控件中多选择项的删除? 99 (20)工作线程的登录状态? 99 (21)如何增加视图中ActiveX控件的事件处理函数? 101 (22)如何创建一个动态的Tree控件? 102 (23)SDI程序开始时不打开文档? 102 (24)List控件中整栏选择? 103 (25)如何重载MRU文件? 104 (26)CImageList控件中图象橙色被显示为黄色? 106 (27)无法正确改变应用程序的图标? 110 (28)工具条状态的问题? 110 (29)在SDI应用程序中使用Active控件? 112 (30)有RichEdit控件的对话框无法正常显示? 112 (31)DLL中的模板成员函数? 112 (32)CFormView中的上下文帮助? 114 (33)CArchive类的WriteObject函数问题? 115 (34)RegisterWindowMessage中的BroadcastSystemMessage如何处理? 115 (35)CListCtrl中选择变化时如何获得通知? 117 (36)如何向ATL-COM对象传送一个数组? 118 (37)如何选择CTreeCtrl中的节点文本进行编辑? 119 (38)如何改变默认的光标形状? 120 (39)如何用键盘滚动分割的视口? 121 (40)如何在线程中处理状态条? 123 (41)如何阻止WINDOWS关闭? 124 (42)如何使一个按钮Disable? 124 (43)怎样从MFC扩展动态链结库(DLL)中显示一个对话框? 125 (44)想隐藏用户界面怎么办? 127 (45)如何实现SDI与MDI的转换? 128 (46) CDC中的竖排文本? 130 (47)如何激活变灰的弹出菜单? 131 (48)线程消息? 132 (49)TreeCtrl控制的显示速度太慢? 133 (50)关于工具条? 135 (51)关于线程消息? 136 (52)关于控件的焦点? 136 (53)如何捕获键盘按键? 138 (54)怎样实现3D效果? 138 (55)怎样建立客户CSocket? 138 (56)Disable一个非模态对话框的客户区? 140 (57)关于使用SetClassLong和SetCapture问题 140 (58)动画控件? 142 (59)错误声明的消息? 143 (59)怎样模拟鼠标动作? 144 (60)改变对话框标题字体? 145 (61)怎样知道CWinThread对象的状态? 146 (62)如何调整控件对话框条的大小? 146 (63)如何顶端显示CStatic类文字? 147 (64)消息句柄出了什么事? 147 (65)树形控件为何闪烁? 148 (66)怎样才能关闭树形控件中的滚动条? 149 (67)如何建立一个带滚动条的窗口? 149 (68)如何实现对话框的拖放? 150 (69)TrackMouseEvent()怎么了 151 (70)奇怪的组合框控件 152 (71)关于使用MS SANS SERIF字体 152 (72)为什么DLL在字符串表中找不到字符串 157 (73)关于复选框的文本颜色 158 (74)系列化与版本的问题 159 (75)在一个控件内检测并使用ON_COMMAND消息 162 (76)为何MDI程序中有子窗口打开时主应用程序不能关. 163 (77)滚动视中LPtoDP失败 165 (78)ODBC许可问题 166 (79)怪异的字体 167 (80)自画列表框样例 170 (81)CWnd::GetMenu()的问题 173 (82)用MFC制作弹出窗口 174 (83)怎样取消一个弹出式菜单 175
1.6.5.4更新 1、关闭在压缩包里运行时自动更新 2、加入二版的另一个升级服务器。 3、增加一个内置的代理,让以前用不了的朋友看看能不能用,以前能用的用户可以不用代理。 4、修正升级服务器选择的一个问题。 5、请大家修改ESET升级服务器“自动选择”时用本软件选择,请多用托盘菜单。 6、加入nodlogin的ID发布页 注意,如果ESET出现“无法连接服务器”的请用软件本身的“升级服务器”选项里的“自动选择”,不然每次启动电脑都可手动修改一次ESET的服务器。 1.6.5.5更新。 1、为了让二版的服务器负担不太重,把默认的升级设置为“自动选择”。 1.6.5.6更新 优化服务器“自动选择”操作。 1.6.5.7更新 1、修正了静默模式和服务器模式下无法正常自动升级软件的问题。 2、修改了代理模式--启用局域网代理(因为本人没有代理,只能上网查查,不知有没有效果)。 3、增加了“自定义ESET升级服务器”这个选项,让用户可以自定义升级服务器。 4、修正了ESET增加升级服务器有时会被软件内置的升级服务器覆盖的问题。 1.6.6更新: 1、修改了软件自动升级的线路,以前的升级线路连接不稳定。 1.6.6.1更新: 1、修正了1.6.6变量重复导致ID选取不正常(顺序选取时无法选取第一二个ID)。 2、增加了“自动选择”时的随机验证线路,防止验证线路单一被封。 1.6.6.2更新: 1、修正了自动升级用的服务器无法打开时会出现错误而使软件无法使用的问题。 2、修正了一些无用的ID发布页。 1.6.6.3更新: 1、优化了自动升级功能,增加一条内置检查线路,当第一条线路出错会在下次自动进入第二条检查线路。 2、取消了弹出对话框时的“咚咚”声,让静默模式更完美。 3、增加了自动升级时下载文件的检查,如果对比文件大小不一样就不会替换原来的文件。 1.6.6.4更新: 1、修正了备用验证线路3总是验证不了的问题。 2、修正了因删除无效ID发布页后随机选取ID时有时会出现内置线路验证完了的问题。 3、修正了自动升级时有时会使软件被删除的问题。 4、修正了每次运行后会在ESET自定服务器列表中留下升级服务器的问题。 1.6.6.5更新:2008-12-14/1:10 1、更新了内置ID发布页。 2、修正1.6.6.4版有时无法删除自动升级的临时文件。 3、优化二版科技的两个升级服务器。 4、修正自动升级默认线路出错时直接进入第二条检查线路,不用等下次启动。 1.6.6.6更新:2009-01-08 1、修正1.6.6.5版因为内置域名问题出现了无法自动升级的严重问题。 1.6.6.7更新:2009-01-19 1、优化了等待网络,解决了有时会使某些电脑的软件无法使用的问题。 2、此版本起加入了ESET对本软件设置为例外的功能。 3、增加了当软件到期前12天时更新ID的功能,可避免ID要过期的提示。 4、优化“还原默认值”功能选项,增加了保留开机启动的功能。 5、增加了运行本软件后自动更新ESET的病毒库的功能(会有ESET窗口弹出一下)。 1.6.6.8更新:2009-01-19 1、修正了增加的功能只支持3.X的问题,让2.X版也可以用。 1.6.6.9更新:2009-01-20 1、修正了1.6.6.8版使用路由器时开启“自动更新ESET”无法退出的问题。 2、修改了“自动更新ESET”的启动顺序,在自动升级之前,免去和自动升级的冲突。 2、优化了本软件自动升级更新文件的方法,不会出现自动升级后程序不见的问题。 1.6.7更新:2009-01-20 1、鉴于新的网络等待大部分电脑无法使用,所以换回1.6.6.6版的模式。 1.6.7.1更新:2009-03-01(未发布) 1、优化快捷方式的创建。 2、改用新的ESET更新方式,开启“ESET自动更新”功能更新ESET时不会弹出ESET窗口。(V4无法支持新的方式) 1.6.7.2更新:2009-03-05(未发布) 1、增加对ESET v4.x 版本写入ID和密码、排除和ID获取后让ESET更新病毒库的支持。 2、修正了某些ID无法读取到有效期时和软件的“提前12天更新ID”的功能冲突导致软件每启动都会重新获取ID的BUG。 1.6.7.3更新:2009-03-05 1、出于对ESET的敬重,去除了对 ESET v4.x 版本自动添加排除和ID获取后让ESET更新病毒库的功能。 1.6.7.4更新:2009-03-05 1、恢复对ESET v4.x 版本写入ID和密码、排除和ID获取后让ESET更新病毒库的支持。(唉,本人的坚持是这么的脆弱) 2、试用2.0版的新网络等待。 1.6.7.5更新:2009-03-06 1、解决了无法获取像“TRIAL-12345678”这样ID的问题。 2、修正因软件和ESET启动不同步后有时会导致软件停留在等待ESET启动更新的问题。 1.6.7.6更新:2009-03-06 1、解决配置较老的电脑在启动时会因ESET启动慢过ID获取器而出现无法写入ID和密码的问题。 1.6.7.7更新:2009-03-09 1、修正自动排除会出现无法退出、ESET界面锁定的问题。 1.6.8.0更新:2009-03-10 1、优化了自动排除会出现无法退出、ESET界面锁定的问题。 2、增加了“自动排除”的选项,如果自动排除还是锁定的话,可以关闭自动排除功能。 3、在关闭“自动排除”的功能时,会把软件的位置复制到剪帖板,可以手动粘贴到ESET的排除列表中。 4、修改自动升级功能的启动位置,自动升级功能在检测到网络时就运行,这样做比较合理,就算软件出错也能自动升级。 1.6.8.1更新:2009-03-10 1、修正对“自动排除”功能自动识别ESET的版本。 2、增加vista为默认管理员运行。 1.6.8.2更新:2009-03-13 1、去除“局域网代理”,改为“代理验证方式”,解决部分局域网代理用户无法使用的问题。 2、修正ESET界面为“标准显示”时“自动更新ESET”功能无法运行的问题。 3、修正自动升级时因为ESET的自我保护而无法覆盖ESET安装目录里旧版本软件的问题。 4、修正在打开“自动排除”功能后软件因大小写不同,使软件每次启动都会进行自动排除的问题。 1.6.8.3更新:2009-03-15 1、解决自动排除功能在vista/win7里无法排除的问题(自己亲自在win7测试)。 2、修正“手动更新”软件时有时会出现找不到文件的问题。 3、在软件找不到“winhttp.dll”这个文件时发出提示,让用户知道系统能不能运行本软件。 1.6.8.4更新:2009-03-17 1、优化软件的代理方式(找到软件代理失败的原因,希望这次修改对代理上网的用户有效。) 2、解决“手动更新”时软件因大小写判断不同无法退出的问题。 1.6.8.5更新:2009-03-22 1、优化“手动更新”,让ID获取器以获取替换ID为主,更新为辅,修改支持所有版本,解压后直接运行可替换ESET安装目录的旧版本。 2、优化“开机启动”,解决打开软件自身开机启动时和安装麦大集成版的开机启动冲突出现两个ID获取一起运行的问题。 1.6.8.6更新:2009-03-29 1、增加一条内置的软件更新检验线路。 2、优化更新线路,解决有时因网站问题而出现无法连接到更新服务器的问题。 1.6.8.7更新:2009-04-06 1、修正因目录带有空格会导致“还原默认值”无法运行的问题。 2、把提前更换ID的时间提前到16天。 3、加入对64位系统的支持测试,如果有问题请反馈。 1.6.8.8更新:2009-04-07 1、修改对64位系统网络等待的问题。 1.6.9.0更新:2009-04-18 1、增加对ESET服务器检测功能,当校验的ESET服务器出错时会自动更换另外的ESET服务器,解决校验不停的问题。 1.6.9.1、1.6.9.2更新:2009-04-20 1、优化1.6.9.0部分用户检测不到网络的问题。 1.6.9.3更新:2009-04-22 1、此版为32位1.6.8.6的升级版,支持ESET服务器检测,提示16天更新ID。 1.6.9.4_lite_x64更新:2009-04-21 1、重新编写了精简版的,此版没有ID校验功能,单一的获取本软件的校验页上的ID(不过期不会失效)。 1.6.9.5_x64更新:2009-04-24 1、优化ESET服务器验证问题。 1.6.9.6_x64更新:2009-04-26 1、去除ESET服务验证,改为当第一次验证不到时就会改用别的线路验证。 1.7.0.0_x64更新:2009-05-05 1、重新编写“静默模式”和“服务器模式”,让这两个模式可以在V4使用(支持win7)。 2、优化ID验证问题,已经不会在ESET服务器出问题时可能会出现等待N久的问题。 3、加强了ID验证方式,现在v4已经可以使用。(如果认为默认验证方式1太慢可选其他两条。) 4、修正内置过期的线路。 5、试用性的增加防止两个文件同时运行的命令。 1.7.0.1_x64更新:2009-05-06 1、修正1.7版的“服务器模式”在压缩包运行时启用的开机启动无法在自动升级时更新的问题。 2、内置ID发布页已经可以实现搜索二级ID发布页的功能。 1.7.0.2_x64更新:2009-05-07 1、修正当ESET服务器有问题验证ID时可能会重复使用已经出问题的服务器的问题。 2、修正当使用“还原默认值”后获取ID有时会验证N久的问题。 3、修正1.8版以来ID选取方式无法正确显示的问题。 4、把自动升级功能再提前放置到校验网页检测之前。 1.7.0.3_x64更新:2009-05-08 1、彻底解决获取ID有时会验证N久的问题。 2、获取ID后自动运行ESET病毒库更新。 3、修正“自动更新ESET”在V4的一个问题和把它放到最后运行。 1.7.0.4_x64更新:2009-05-10 1、修改获取ID和密码的方法(十多行代码只用几行就搞定)。 2、修正自动升级功能,不会让手动更新的新版本被旧版本的自动升级覆盖。 3、修正在V4删除上次更新残留文件无法退出的问题。 1.7.0.5_x64更新:2009-05-17 1、修正非数组错误的问题。 2、解决当运行QQ医生时无法自动升级更新文件的问题。 3、更新服务器检测线路。 1.7.0.6_lite_x64更新:精简版 1.7.0.7_x64更新:2009-05-22 1、修正当运行QQ医生时还原默认值无法正常运行的情况。 1.7.0.8_x64更新:2009-05-23 1、修正winhttp的检测方式。 2、修正一条升级检测线路。 1.7.1.0_x64更新:2009-05-26 1、增加“间接网络检测方式”,解决部分局域网用户无法使用的问题。 2、修正1.7.0.8版“还原默认值”时会弹出命令窗口的问题。 3、修正vista/win7使用标准用户登陆时会出现鼠标转个不停,无法操作的问题。 4、优化vista/win7下“服务器模式”的开机启动,解决设置“服务器模式”后无法删除的问题。 注意:在vista/win7使用标准用户登陆最好改为管理员,不然软件的功能会不全的。 1.7.1.1_x64更新:2009-06-04 1、修整网络检测方式以减轻一些升级检测服务器的压力。 2、修改网络检测时间,前20次每1秒检测一次网络,20次后每5秒检测一次网络。 3、解决当运行QQ医生使用“还原默认值”和自动升级后会在任务栏出现两个QQ医生图标的问题。 4、修正vista/win7自动升级后无法承继“服务器模式”原来的状态。 1.7.1.2_x64更新:2009-08-25 1、修正激活版无法写入ID,停在用户名密码输入对话框的问题。 2、增加v4对繁体中文版的支持,解决使用繁体版的用户无法使用的问题。 1.7.1.3_x64更新:2009-09-09 1、修正内置ID发布页。 2、修正上几个版本两次读取ID发布页,增加无畏的时间。 3、修正读取的ID发布页ID少于10个时还会读取上个ID发布页留下的ID。 4、修正当使用list.txt文件时会无法读取到默认发布页的问题。 5、增加ID发布页智能排列的功能(只限顺序读取),当排在前面的发布页无效时会把有效获取到ID的发布页排列到前面,在以后就会优先获取这个发布页。 1.7.1.4_x64更新:2009-11-07 1、修正内置ID发布页。 2、修正非数组错误的问题。 3、去除U40检验服务器,解决此服务器经常无效的问题。 4、优化网络检测以解决转换域名需审核而出错的问题。 5、不显示ID发布页源在址。 1.7.1.5_x64更新:2009-11-09 1、解决1.7.1.4版在2009年使用会把有效期到2010年的ID替换掉的BUG。 2、解决一些用户在使用静默模式时开机会出现连接不到服务器的对话框。 1.7.1.6_x64更新:2009-11-18 1、优化V4的ID写入模式,解决部分用户无法写入的问题。 2、优化自动排除功能,解决部分自动排除第一步无法完成的问题。 3、优化ID获取后的自动更新功能,解决部分用户ID获取后自动扫描的问题。 1.7.1.7_x64更新:2009-11-23(未正式发布) 1、优化V4的ID写入模式。 2、解决使用ESET无图形界面时,无法更新ID的问题。 1.7.2.0_x64更新:2009-11-25 1、重写V4的ID写入模式,解决英文版繁体版弹出用户名密码输入框的问题。 2、重写ESET更换ID后的自动更新病毒库功能,彻底解决于此相关的问题。 3、增加对16天内到期ID的排除功能。解决获取同一个快到期ID而出现黄眼的问题。 1.7.2.1_x64更新:2009-11-26 1、修正1.7.2.0版更换ID后更新病毒库功能对一些ESET版本无法更新的问题。 1.7.2.2_x64更新:2009-11-26 1、解决部分用户出现“变量没有在开始声明”的问题。 2、解决以EXE文件存放在网上而直接在网页上打开会在排除第2步退出的问题。 1.7.2.3_x64更新:2009-11-26 1、解决所有V4版本的写入ID弹出用户名密码的问题。 1.7.2.4_x64更新:2009-11-30 1、修正部分用户在自动更新ESET病毒库完成后而无法关闭ESET的问题。 2、解决因内置ID发布页无法打开而在随机模式下可能出现连接不到服务器的问题。 1.7.2.5_x64更新:2009-12-01 1、解决nod32 v2.x版本在更换ID时会出现外部连接错误的问题。 1.7.2.6_x64更新:2009-12-13 1、增加中国时区的日期时间校对功能(相差10秒就校对,误差1秒),需手动打开。 2、增加对已经获取的ID有效期的查询功能,自动开启。 3、增加对ESET设置保护密码后也能自动运行软件的功能。(只支持V4) 4、增加一条备用的日期校对线路。 1.7.2.7_x64更新:2009-12-13 1、修正当ESET关闭有效期校验服务器时软件会提示“连接不到升级服务器。”后退出的问题。 2、修正使用备用的日期校对线路时连接慢时会出错退出的问题。 1.7.2.8_x64更新:2009-12-14 1、修正时间校对功能支持win7。 2、优化部分代码减少程序体积。 3、优化ESET设置保护密码写入功能,识别更精准。 1.7.3.0_x64更新:2009-12-18 1、为配合麦大发布的版本增加了安装卸载参数:/install安装;/uninstall安全卸载。 2、重新修正内置检测域名。 3、解决读取个人空间乱码的问题,以备一时之需。 1.7.3.1_x64更新:2009-12-21 1、修正内置检测域名,解决1.7.3.0之前的软件无法正常运行的问题。 2、修正1.7.3.0在使用宽带拨号还没拨号就退出的问题。 3、解决1.7.3.0软件运行时会关闭部分软件的冲突问题。 1.7.3.2_x64更新:2009-12-24 1、修正当双系统(非C盘)的ESET卸载后本软件自动卸载会删除C盘默认路径的ESET文件夹。 2、修改开始菜单快捷方式到ESET\ESET_VC52_AUTOID文件夹,增加卸载的功能。 1.7.4.0_x64更新:2009-12-30 1、增加对ESET v4.2的支持。v4.2的保护不错,很多命令都不能用,只能重写。 2、优化“自动排除”和更新旧文件的功能,以支持v4.2 3、解决无图型界面无法更新旧文件的问题。 1.7.4.1_x64更新:2009-12-31 1、支持麦大的ESS汉化4.2的版本。 2、修正当ESET卸载后软件自动卸载时无法删除ESET目录的问题。 1.7.5.0_x64更新:2010-01-18 1、重新改写时间校对代码,使用NTP服务器模式。 2、修改16x16以上的图标,解决和EAV的图标一样。 3、增加软件关闭后自动卸载的功能。 4、重写整合“安装卸载程序.bat”。 1.7.5.1_x64更新:2010-01-24 1、增加NTP校对无效时自动改用普通模式校对时间。 2、修正因ESET4.2自我保护加强后可能会无法自动升级的问题。 1.7.5.2_x64更新:2010-01-24 1、修正手动更新时会卡死的问题。 2、去除手动更新时锁定键盘鼠标的功能,以防锁死。 1.7.5.3_x64更新:2010-01-24 1、修正自动升级临时文件无法删除的问题。 2、修正“安装卸载程序.bat”无法对ESET 4.2更新的问题。 3、优化自动排除,减少第1步出错的问题。 1.7.5.4_x64更新:2010-02-04 1、去除所有的鼠标键盘锁定功能,除非软件运行时你正在操作别的软件。 2、缩减自动排除时运行的时间,因为之前加了刷新注册表的功能使时间加长了。 3、正常情况下全程无弹出ESET窗口操作(ESET自动更新花了我几天时间才搞定)。 4、解决部分用户在win7时无法使用“安装卸载程序.bat”的问题。 1.7.5.5_x64更新:2010-03-31 1、修正因为官方更改升级服务器地址后软件无法正常使用的问题。 2、修正因为旧的计算方式使提前16天更换ID的不准确的问题 3、修正部分无法使用NTP时间校对的用户无法提前更换ID的问题。 4、优化ID写入、自动排除和ID更换后ESET更新的问题。 1.7.5.6_x64更新:2010-04-01 1、修正数组错误的问题。 2、修正1.7.5.5在新装ESET后运行会出现“内置线路搜索完了”的问题。 1.7.5.6_x64更新:2010-04-02 1、重写数据修正数组错误的问题。

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧