
2.3 VC技巧收集
文章平均质量分 86
无幻
这个作者很懒,什么都没留下…
展开
-
VC雕虫小技集(五)
VC雕虫小技集(五)何志丹1,vc中右键点击一个类或宏,可以察看他的定义,但如何返回初始地方呢?install visual assist, and use Alt+left arrow按菜单中的 后退 (好像是又打开了一个文档,关闭它就行了2,怎样获取系统菜单,并且弹出系统菜单?void CTestsysmenuDlg::OnOK(){// c转载 2010-01-14 18:02:00 · 2177 阅读 · 0 评论 -
实用!超强VC/MFC 常见问答收集(下)
问:如何在MDI环境下枚举所有打开的窗口? 答:In MFC, each CMDIChildWnd createdby the framework is managed as a child window of the MDIClient window.This MDIClient window is a child of the mainframe window and fi转载 2010-04-15 16:06:00 · 5023 阅读 · 0 评论 -
MFC浅析(3) 文档视图结构中命令的处理流程
(以MDI文档视图结构为例)在应用程序的界面上,包含菜单、工具条等元素,当选取这些元素后,将发送一个命令给程序。同时,还有命令发送的其它形式,例如快捷键等等。在文档视图结构中,程序包括一个主框架窗口,而具体打开的文件则包括其数据对象(CDocument) 表现形式(CView),和窗口容器(CFrameWnd)等几个相关对象。命令发送后,将按照一定的流向传达给指定的对象,由对象内成员函数响转载 2010-05-16 15:58:00 · 1448 阅读 · 0 评论 -
MFC浅析(1) 文档视图结构中,缺省的命令处理
文档视图结构中,缺省的命令处理在文档视图结构所构建的框架中,很多命令ID都有缺省的命令处理。很多功能都由他们完成,但这些功能在程序中不“可见”,不便于对程序的理解。以下归纳了常见的缺省处理及其流程在需要时候,可以重载这些函数以实现特定功能1.ID_FILE_NEW2.ID_FILE_OPEN3.ID_FILE_SAVE4.ID转载 2010-05-16 13:47:00 · 2832 阅读 · 1 评论 -
MFC浅析(2) 文档视图结构中文档操作流程
基本架构 一个程序可以看作是建立在对文档进行处理的基础上的,而程序可处理的文档类型有可能有多种,同时每种文档又可能同时被打开多个。每个文档又可分为数据部分和表现部分。 基于这种认识,MFC文档视图框架结构将各功能模块总结为对象,用相互关联的这些对象类来建立应用程序. ①文档类型管理 CWinApp代表程序,它可处理多种类型的文档,这样,就必须有一个存储管理文档类型的内部成员,这个成转载 2010-05-16 15:49:00 · 1661 阅读 · 0 评论 -
MFC浅析(4) CObject浅析
MFC CObject浅析 1.CObject简要声明 2.CRuntimeClass结构 3.RUNTIME_CLASS 4.DYNAMIC支持 5.DYNCREATE支持 6.SERIAL支持 CObject是大部分的MFC类的基类 为了完成MFC类的判断、动态生成、序列化等特殊功能,CObject中添加了特定的处理。 为了进一步增强对MFC类对象的理解,在转载 2010-05-16 16:01:00 · 2117 阅读 · 0 评论 -
MFC浅析(5) 命令更新机制
MFC框架结构中,可以用ON_UPDATE_COMMAND_UI( id, memberFxn )宏指定菜单或工具条按钮等对应的状态设置函数在memberFxn中通过传入的CCmdUI对象指针就可以设置菜单项,工具钮的使用、禁用、标记等属性。所有在memberFxn中指定条件的变化,都将实时的反映到界面上去。其实现机理如下一 工具条按钮的更新由于工具条一直可见,故要实时更新,就得不断调用membe转载 2010-05-16 16:06:00 · 2398 阅读 · 0 评论 -
MFC浅析(6) 对话框数据交换及验证
对话框的数据交换和验证机制(DDX、DDV)可以使对话框上控件与对象数据成员间协调工作。 包括控件窗口与控件对象间的连接,控件窗口与对话框数据成员间的连接,以及数据成员的合法性验证等等。 在 virtual void DoDataExchange(CDataExchange* pDX);中记录了这些关系: 例如: DDX_Control(pDX, IDC_BUTTON1, m_b转载 2010-05-16 16:07:00 · 2234 阅读 · 0 评论 -
MFC浅析(7) CWnd类虚函数的调用时机、缺省实现
1. Create 2. PreCreateWindow 3. PreSubclassWindow 4. PreTranslateMessage 5. WindowProc 6. OnCommand 7. OnNotify 8. OnChildNotify 9. DefWindowProc 10. DestroyWindow 11. PostNcDestroy CWnd作为MFC中最基本的与窗口打转载 2010-05-16 16:08:00 · 2878 阅读 · 0 评论 -
MFC浅析(8) CArchive 原理
MFC 提供CArchive类实现数据的缓冲区读写,同时定义了类对象的存储与读取方案。 以下对CArchvie 的内部实现作分析。 1.概述 2.内部数据 3.基本数据读写 4.缓冲区的更新 5.指定长度数据段落的读写 6.字符串的读写 7.CObject派生对象的读写1.概述 CArchive使用了缓冲区,即一段内存空间作为临时数据存储地,对CArchive的读写都先依次排转载 2010-05-16 16:14:00 · 11360 阅读 · 0 评论 -
Visual C++ 编程技巧之七、八和九
Visual C++ 编程技巧之一和二 转载自网上转载 2010-06-16 13:08:00 · 3817 阅读 · 0 评论 -
Visual C++ 编程技巧之一和二
Visual C++ 编程技巧之一和二 转载自网上转载 2010-06-16 10:38:00 · 2770 阅读 · 0 评论 -
Visual C++ 编程技巧之三和四
Visual C++ 编程技巧之一和二 转载自网上转载 2010-06-16 11:03:00 · 2325 阅读 · 0 评论 -
Visual C++ 编程技巧之五和六
Visual C++ 编程技巧之五和六 转载自网上转载 2010-06-16 12:25:00 · 2487 阅读 · 0 评论 -
实用!超强VC/MFC 常见问答收集(上)
问 自编浏览器进入一个网页后,点一个链接后系统自动调用用IE打开网页而不是用自身浏览器打开网页。如何让窗口用我自己的浏览器打开?答 http://www.youkuaiyun.com/develop/read_article.asp?id=21702 控制新的窗口 默认情况下,浏览器收到创建新窗口请求时,会在IE中打开新的窗口。你可以处理NewWindow2事件来在自己指定的窗口中转载 2010-04-15 15:32:00 · 2692 阅读 · 0 评论 -
编程技巧20法 (下)
[代码如下]编程技巧20法 (下) 发布时间: 11. 如 何 判 断 当 前 操 作 系 统 的 版 本 //------------------------------------------------------------------------------------------------ //判断操作系统涵数及变量,jingzhou转载 2010-01-15 12:49:00 · 2088 阅读 · 0 评论 -
VC雕虫小技集(七)
VC雕虫小技集(七)何志丹1,图片控件右键属性 type : bitmap你直接选image也行IDB_BITMAP1位图的IDm_ctrl 是与图片控件相关联的控制型变量void CDlg2Dlg::OnButton1(){ CBitmap bitmap1; bitmap1.LoadBitmap(IDB_BITMAP1); m转载 2010-01-14 18:11:00 · 1713 阅读 · 0 评论 -
VC雕虫小技集(二)
VC雕虫小技集(二)何志丹1,如果你没有定义_UNICODE,则LPCTSTR代表 const char * ,因此直接使用就可以了.如果定义了_UNICODE ,LPCTSTR代表 const wchar_t* ,就不能直接使用了.2,得到鼠标的位置DWORD dw = GetMessagePos();CPoint pt(LOWORD(dw),HIWORD转载 2010-01-14 17:48:00 · 1436 阅读 · 0 评论 -
VC雕虫小技集(四)
VC雕虫小技集(四)何志丹1, 阅读程序常常要看此变量在那些地方值改变过ctrl+f查找太麻烦将此变量前加const改变的地方报错2, 看一个函数被那些函数调用.方法:1,调试状态下,view->debug window->call Stack2,class view 的快捷菜单中选择called by3, 在状态栏的最左边显示时间转载 2010-01-14 17:58:00 · 1622 阅读 · 0 评论 -
VC雕虫小技集(六)
VC雕虫小技集(六)何志丹1,,如何取得Tree Control上的CheckBox状态~OnInit中加:m_treeCtrl.InsertItem("item1");m_treeCtrl.InsertItem("item2");void CCDialogDlg::OnButton1(){ HTREEITEM hItem = m_treeCtrl转载 2010-01-14 18:07:00 · 1758 阅读 · 0 评论 -
编程技巧20法 (上)
[代码如下]编程技巧20法 (上) 发布时间: 1. 如 何 激 活 当 前 屏 幕 保 护 程 序 // 激活当前屏幕保护程序, jingzhou xu PostMessage(WM_SYSCOMMAND,SC_SCREENSAVE,0); 2. 如 何 禁 止/启 用 屏 幕 保 护 及 电 源 管 理 static UINT转载 2010-01-15 12:24:00 · 2053 阅读 · 0 评论 -
MFC 技巧之二
11. 修改主窗口风格 AppWizard生成的应用程序框架的主窗口具有缺省的窗口风格,比如在窗口标题条中自动添加文档名、窗口是叠加型的、可改变窗口大小等。要修改窗口的缺省风格,需要重载CWnd::PreCreateWindow(CREATESTRUCT&cs)函数,并在其中修改CREATESTRUCT型参数cs。CWnd::PreCreateWindow 函数先于窗口创建转载 2010-01-05 23:37:00 · 1832 阅读 · 0 评论 -
MFC 技巧之四
31. 如何在编辑控件中以追加的方式添入字符? [问题提出] SetDlgItemText可以向Edit控件中输入字符,发送更新的消息也可是Edit控件显示与其关联的变量的值,但若是向已有的Edit字符后追加字符,该如何做? [程序实现] 建立名为My的对话框工程,添加一个Edit和一个Button控件.Edit的ID=IDC_EDIT1,Button的ID=IDC转载 2010-01-05 23:44:00 · 2043 阅读 · 0 评论 -
MFC 技巧之五
51. 如何获得其他程序的图标,并显示在View中 [问题提出] 有的时候,如:类资源管理器会遇到获得程序图标并显示的操作,如何实现呢? [解决方法] SDK函数SHGetFileInfo来获得有关文件的很多信息:如大小图标,属性,类型等. [程序实现] 建立名为My的SDI工程.在OnPaint()函数中加入: void CMyView::OnPaint()转载 2010-01-05 23:49:00 · 2302 阅读 · 0 评论 -
VC小技巧20个
一、打开CD-ROM mciSendString("Set cdAudio door open wait",NULL,0,NULL); 二、关闭CD_ROM mciSendString("Set cdAudio door closed wait",NULL,0,NULL); 三、关闭计算机 OSVERSIONINFO OsVersionInfo; //包含操转载 2010-01-05 23:10:00 · 1578 阅读 · 0 评论 -
MFC 技巧之一
1."属性页的添加:创建对话框的类,该类要从CpropertyPage继承;然后在要添加该对话框为属性页的类(头文件)里创建CpropertySheet类的一个对象m_tabsheet和新创建的对话框类的对象m_skatch;最后,在.cpp文件里的OnInitDialog()之类的函数里实现如下代码:m_tabsheet.Create(this, WS_CHILD | WS_转载 2010-01-05 23:31:00 · 2052 阅读 · 0 评论 -
MFC 技巧之三
21. 介绍函数过程中一种任意键退出同时能处理消息的实现方法1. 设置定时器,用于使::GetMessage(...)函数总能快速取到消息.2. 在函数处理中加入:函数每执行完一步后执行下面的代码.if (::GetMessage(&msg, 0, 0, 0)){ if (msg.message >= WM_KEYFIRST && msg.message转载 2010-01-05 23:41:00 · 1838 阅读 · 0 评论 -
MFC 技巧之六
71. 隐藏标题栏和菜单栏隐藏标题栏 ModifyStyle(WS_CAPTION,0)隐藏菜单栏 SetMenu(NULL)72. InflateRectInflateRect这个函数用于增大或减小一个矩形的大小.如m_graphRect.InflateRect(-70, -30, -30, -50);将矩形左边坐标加70,上面加30,右边减30,下面减50。转载 2010-01-05 23:53:00 · 2303 阅读 · 0 评论 -
VC雕虫小技集(一)
VC雕虫小技集(一)何志丹1,避免随机数相同,可以取当前时间,读文件,读任意内存(如未定义变量,有一定危险).CTime t = CTime::GetCurrentTime();int n = t.GetMinute() * 60 + t.GetSecond();while(n-- > 0){ rand();}const int N = 100;转载 2010-01-14 17:44:00 · 2076 阅读 · 1 评论 -
VC雕虫小技集(三)
VC雕虫小技集(三)何志丹1,固定窗口大小,最大值为(600,400),最小值也为(600,400).void CMainFrame::OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI){lpMMI->ptMaxTrackSize.x = 600;lpMMI->ptMaxTrackSize.y = 400;lpMMI->ptMinTrack转载 2010-01-14 17:54:00 · 1454 阅读 · 0 评论 -
调试经验总结-VC下的错误对话框
本文转载自:http://www.cppblog.com/kevinlynx/archive/2008/04/24/47998.html很早前就想写点总结将编程中遇到的各种错误刨根挖底地罗列出来。但是因为这些错误(VC中开调试器遇到的各种错误对话框)都是随机性的,真正想总结的时候又不想不起来有哪些错误。恰好最近运气比较背,各种错误都被我遇遍了,于是恰好有机会做个总结。这里所说的VC下的转载 2012-03-19 22:50:27 · 2601 阅读 · 0 评论