DDX DDV 用法】的更多相关文章

DDX:Dialog Data Exchange 如果使用DDX机制,一般会在OnInitDialog消息处理函数或Dialog构造函数中,为对话框对象的成员变量设置了初始值.在对话框显示前,框架的DDX机制将成员变量的值传给对话框中的控件,当调用DoModal或Create函数,对话框即将显示时,这些值也就显示在相应的控件上. CDialog类的成员函数OnInitDialog的默认实现中,调用CWnd类的UpdateData成员函数来初始化对话框的控件.当用户单击OK按钮或调用成员函数Upd…
DDX/DDV    通过使用ClassWizard向对话类添加成员变量,你可以利用ClassWizard所提供的高效特征,为对话数据交换和对话数据验证自动生成源代码,也就是人们所熟知的DDX/DDV.    数据交换和验证仅仅应用于为之选定了Value类别的成员变量.也就是CString,BOOL,数字,COleDateTime或COLeCurrency.    对话数据交换负责数据在控件中的进出.当对话首次出现的时候,每个控件窗口自动用相应的成员变量的值进行初始化.当用户通过单击OK按钮,或…
DoDataExchange由框架调用,作用是交互并且验证对话框数据,主要由(DDX) 和 (DDV)宏实现. 永远不要直接调用这个函数,而是通过UpdateData(TRUE/FALSE)实现控件与变量之间值的传递. 当然你也可以不使用DoDataExchange而完成控件与变量之间值的传递,如: 通过GetWindowText和SetWindowText等等函数完成String变量与Edit控件之间的数据交互. DDX/DDV    通过使用ClassWizard向对话类添加成员变量,你可以…
MFCPropertyGridCtrl 是VC 2008 pack中的控件类. CMFCPropertyGridProperty这个控件类中的属性值类类. 针对修改属性后,对属性值改变的消息处理: 方法一: 当用到CMFCPropertyGridProperty这个类控件的时候出现了一个很白痴的问题,CMFCPropertyGridProperty更改属性值触发的是哪个事件,如何获得他被更改时的通知? 难道要设置回调?我看了这个类的所有的方法,都没有找到设置回调的函数.因为CMFCPropert…
note 虚拟列表可有效加载大量数据 需要处理listctrl的 LVN_GETDISPINFO 消息 使用虚拟列表 不能 使用 insert的方法插入数据,而是告诉listctrl 当前要显示多少行 使用SetItemCount函数告诉listctrl当前显示多少行 使用虚拟列表需要自己维护数据源 使用 添加list ctrl 控件 将其Owner Data 属性 设置为 True 添加listctrl的 LVN_GETDISPINFO 的消息 范例 初始化 listctrl, list_ct…
1.为什么到现在才弄懂这个 不知道这个Socket重叠IO这种模型是不是socket IO完成端口的基础,不过我感觉,学习一下这个再去学习socket IO完成端口是比较有好处的. 这个Scoket重叠IO我以前记得看过好几次,都没看懂.一部分原因是我没能静态心来写代码,还有更重要的原因就是,Socket重叠他们的结构体参数,还有传参数让人很难理解.下面我将对这些数据结构和参数进行一下讲解 2.初识WSARecv 函数 int WSARecv( SOCKET s,//要接收消息的socket L…
开发环境:VS7,Windows XP,Windows 2K 在VS7中添加了一种新的对话框类:CDHtmlDialog,顾名思义就是能够显示DHTML内容的对话框,但不同与以前的CHTMLView不同的是添加了对DHTML的支持,能够响应各种DHTML的事件,而且能够方便的得到网页上的各种内容和输入.在这以前要完成这些功能必须通过复杂的COM接口来完成,而现在MS MFC已经为我们做好了这一切.  在下面我会按照下面的顺序讲解CDHtmlDialog的用法.但本文也只能对DHTML对话框的功能…
在原来博客中有:MF CListControl 简单功能使用 推荐文章:MFC类CtrlList用法 今天又又一次来介绍点新东西:双击击listcontrol  做出响应.当然你能够做的还有非常多,比方显示点击的行列,右键点击,后面代码都有.没有截图了 主要有 1 插入数据 2 得到listctrl 中全部行的checkbox 的状态  3 得到listctrl 中全部选中行的序号  4 对数据做出双击处理与推断 1插入数据显示(參考后面代码) 2双击有数据的区域(參考后面代码)做出响应 3 响…
摘要:目前MFC和ATL代表了两种框架,分别面向不同类型的基于Windows的开发.MFC代表了创建独立的Windows应用的一种简单.一致的方法:ATL提供了一种框架来实现创建COM客户机和服务器所必须的样板文件代码.这两种框架在它们对于开发ActiveX的用途上会合了.我们将看看这两种框架是如何适用于创建ActiveX控件的——突出其优缺点,亲自经历创建一个控件的过程——以便你能够决定何时使用一种框架,何时使用另一种. 如果你希望用C++来写ActiveX®控件,有两个流行的框架,一个是Mi…
方法一: 1.声明成员变量CBrush m_brush;2.在InitDialog中添加代码: ? CBitmap bmp; bmp.LoadBitmap(IDB_BITMAP1);  //IDB_BITMAP1是图片资源ID m_brush.CreatePatternBrush(&bmp); 3.重载对话框的OnCtlColor,改最后的返回值: ? 1 return(HBRUSH)m_brush; 方法二: 把下面这段代码加进OnPaint()里就行了 ? CPaintDC dc(this)…
常用类 CRect:用来表示矩形的类,拥有四个成员变量:top left bottom right.分别表是左上角和右下角的坐标.可以通过以下的方法构造: CRect( int l, int t, int r, int b ); 指明四个坐标 CRect( const RECT& srcRect ); 由RECT结构构造 CRect( LPCRECT lpSrcRect ); 由RECT结构构造 CRect( POINT point, SIZE size ); 有左上角坐标和尺寸构造 CRect…
通过编写串口助手工具学习MFC过程 因为以前也做过几次MFC的编程,每次都是项目完成时,MFC基本操作清楚了,但是过好长时间不再接触MFC的项目,再次做MFC的项目时,又要从头开始熟悉.这次通过做一个串口助手再次熟悉一下MFC,并做了一下记录,以便方便以后查阅.做的过程中多是遇到问题直接百度和谷歌搜索来的,所以很多都是不求甚解,知其然不知其所以然.另外做此工具只是为了熟悉了解,许多功能还没有完善!(开发工具VS2008) (十)UpdateData()用法和编辑框的赋值和取值 一.对编辑框和赋值…
刚开始学习Halcon,需要使用Halcon与C++联合开发软件,查了网上的资料都是Halcon10的,我用的是Halcon11和VS2010的开发环境,实践了一下发现有一些问题,于是把自己的配置的过程写出来共享一下. 首先新建一个Halcon工程,这里用个读入图片的简单例子. 新建一个Halcon 程序,输入以下代码: read_image (Image, 'C:/Users/lenovo/Desktop/test.jpg') dev_open_window_fit_image (Image,…
ChessBoard.h #ifndef __CHESS_BOARD_H__ #define __CHESS_BOARD_H__ #include "DataStruct.h" #define COL_WIDTH 45 #define ROW_WIDTH 45 class CChessBoard : public CWnd { private: CBitmap m_bitBlackChess, m_bitWhiteChess; CBitmap m_bitChessBoard; CBit…
代码有点乱 但是我不想整理 // AddBoxDlg.cpp : 实现文件 // #include "stdafx.h" #include "AddBox.h" #include "AddBoxDlg.h" #include "afxdialogex.h" #include "PEInfo.h" #include <ImageHlp.h> #ifdef _DEBUG #define new DE…
项目类型:MFC   XproerUI结构: 3rd                    第三方库目录   cximage     dll                编译的DLL目录   pugixml-1.4              lib                编译的LIB目录   zlib-1.2.8     dll                编译的DLL目录 XproerUI               UI引擎库目录   dll                  编…
1.SQLite是一个完全独立的.不需要服务器.不要任何配置.支持SQL的.开源的文件数据库引擎.源代码和支持可以登录:http://www.sqlite.org/   1.1.下载sqlite3.dll和sqlite3.def文件,在下载页下载sqlite-dll-win32-x86-3080803文件 1.2.下载sqlite3.h,在下载页下载sqlite-amalgamation-201503091040文件. 2.代码编译,由于SQLite下载文件中只提供了def文件而没有提供lib文…
适用于 对话框程序 1.在工具箱中拖出 ListControl,然后右键-属性,view-Report 让你的ListControl变成这幅模样! 2.添加ListControl控件的control类型变量(如:List,下文中要用到) 3.分列并添加点击选中一行的属性() List.DeleteAllItems();//先清空 //set the list's titles TCHAR rgtsz[][] = { _T("学号"), _T("姓名"),_T(&qu…
被涮屏涮烦了,就分享一下如何用低调的c/c++来涮别人家的屏吧! 此处埋下三颗雷! 这不是啥新知识,也不是什么浅显的代码.下面,来淘淘这份经验,呼呼 我们要了解Web browser 这个控件,因为到目前为止,很少有浏览器能够被调用内核API,而Web browser 提供了IE的内核内容,就是我们可以用Ie提供的内核来自己设计一个简单的浏览器  当然,我们这儿并不是扯这个蛋. 但是为了后面说起来比较合理些 ,就只能翻山越岭的开始介绍了! 首先创建一个dlg,然后点击Acx control ,如…
释放的方法真没想到  太神奇了 // 文件捆绑器Dlg.cpp : 实现文件 // #include "stdafx.h" #include "文件捆绑器.h" #include "文件捆绑器Dlg.h" #include "afxdialogex.h" #ifdef _DEBUG #define new DEBUG_NEW #endif struct MODIFY_DATA { unsigned int finder; //…
早上起来看到这个代码  整理一下 // PETableDlg.cpp : 实现文件 // #include "stdafx.h" #include "PECheck.h" #include "PETableDlg.h" #include "afxdialogex.h" // CPETableDlg 对话框 #define MakePtr(a,b,c) ((a)((char*)b+c)) extern ULONG g_Selec…
testWebBrowserDlg.h // testWebBrowserDlg.h : 头文件 // #pragma once #include "explorer1.h" #import "C:\windows\system32\mshtml.tlb" // location of mshtml.tlb #include <map> #include <comdef.h> #include <mshtml.h> #includ…
VC2010 编译 Media Player Classic - Home Cinema (mpc-hc) Media Player Classic - Home Cinema (mpc-hc)播放器一个经典的影音播放器,免费软件,可播放CD.VCD.DVD.及MP3.MP4.AVI.AAC等多种影音格式.与此同时,它还是开源的.今天尝试着编译了一下它的源代码(还是第一次接触这么大的MFC工程) 第一步::准备   1. 安装 Visual C++ 2010(不能是Express版本)   2.…
DirectShow Filter 开发典型例子分析 --字幕叠加 (FilterTitleOverlay)1 本文分析一下<DirectShow开发指南>中的一个典型的Transform Filter的例子:字幕叠加(FilterTitleOverlay).通过分析该例子,我们可以学习到DirectShow Transform Filter 开发的方式. 直接打开项目工程(我这里是VC2010),看到项目的结构如下图所示: 先看一下运行的结果: 注意,DirectShow的Filter是不可…
问题 error C2664: "BuildCommDCBW": 不能将参数 1 从"char *"转换为"LPCWSTR"经常出现这样的错误? 对于上面的错误,主要是字符编码设置的问题,修改下面的选项即可: http://bbs.csdn.net/topics/310076558 这篇帖子里面有解决方案. 不能想当然的,就做强制转换,不然可能会出错.下面的做法是错误的. 正确的解决方案: 类似下面这种: 当我们将上面的改为 支持多字符集的时候,…
[引言] 拖放操作在电脑中很常用,例如我们经常复制文件就可以按住ctrl键不放,然后再拖到另外一个窗口中,或者,可以把一个WORD文档直接拖动到WORD窗口即可打开,以前我使用过VB,里面直接有OleDragDrop事件,进行相应处理即可.那么如何在VC++中通过编程实现该功能呢,这就是本文要介绍的. 下面我来具体实现ListCtrl接受拖动文件的方法, 功能: “把磁盘目录下的文档或者文件夹拖动到ListCtrl中的时候,会把文件夹或者文档相对应的路径插入到ListCtrl中” [实现] 具体…
学习使用MFC搭建界面.尝试使用MFC搭建了一个简单的基于对话框的计算器界面,包括模态对话框.非模态对话框.向导对话框等. // MFCApplicationAddDlg.h : 头文件 // #pragma once // CMFCApplicationAddDlg 对话框 class CMFCApplicationAddDlg : public CDialogEx { // 构造 public: CMFCApplicationAddDlg(CWnd* pParent = NULL); //…
本文主要针对MFC的dialog,实现控件随窗口大小变化. 原理:首先获取dialog的初始大小,当窗口发送变动时,调用OnSize事件和方法,计算缩放比例,然后对界面中的所有控件进行缩放和布局. 实现: 创建一个CMFCDemoDlg的dialog对话框: // CMFCDemoDlg 对话框 class CMFCDemoDlg : public CDialogEx { // 构造 public: CMFCDemoDlg(CWnd* pParent = NULL); // 标准构造函数 //…
自己学了这么久的C语言,但没有写出过什么可以用的东西来,总觉得心里不爽.这几天实在是不想干正事,在网上瞎逛逛,结果发现有人写了连连看的外挂.顿时觉得这很有意思啊.于是把代码下载下来,捣鼓了捣鼓.发现还挺简单的,于是自己研究了一下,仿照着写了一个. 外挂的主要思路:获取窗口位置,获取屏幕信息对图片编码,查找可消除对,模拟鼠标点击来消除. 1.外观: 这个是用MFC做的,我自己是一点MFC都不会的,开始在界面上卡了好久,一直在网上找MFC的教程.但是网上的教程都大多扯些杂七杂八的东西,看了很久都不知…
// showpicDlg.cpp : 实现文件 // #include "stdafx.h" #include "showpic.h" #include "showpicDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #endif   // 用于应用程序“关于”菜单项的 CAboutDlg 对话框 class CAboutDlg : public CDialog { public:  CAboutDlg()…