随笔分类 -  MFC

摘要:问题如下:我定义了如下的一个结构体:typedef struct{ CString csText;}MyStruct;并有如下的程序段1:MyStruct * p=NULL;p=(MyStruct *)malloc(sizeof(MyStruct));if(!p) AfxMessageBox("分配内存失败!");else{ p->csText="hello world!"; free(p);}执行程序段1,会出现一个内存读取异常,系统提示程序非法read了一个地址。换成如下写法也是错的:MyStruct astruct;astruct.csTex 阅读全文
posted @ 2013-06-23 16:20 编程小翁 阅读(3333) 评论(0) 推荐(0) 编辑
摘要:动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的。 一、创建动态控件: 为了对照,我们先来看一下静态控件的创建。 放置静态控件时必须先建立一个容器,一般是对话框,这时我们在对话框编辑窗口中,从工具窗口中拖出所需控件放在对话框中即可,再适当修改控件ID,设置控件属性,一个静态控件就创建好了,当对话框被显示时,其上的控件也会显示。 静态控件不需要调用Create()函数来创建。 而创建动态控件有很大不同,以下以按钮为例,看一下动态控件的创建过程: 1.建立控件ID号: ID号是控件的标识,创建控件前必须先为它设置一个ID号。 打开资源中的“St... 阅读全文
posted @ 2013-05-08 19:26 编程小翁 阅读(8517) 评论(0) 推荐(1) 编辑
摘要:使用ADO实现BLOB数据的存取一、前言在实际的开发过程中我们常常需要存储较大的二进制数据对象,比如:图像、音频文件、或其它二进制数据,这些数据我们称之为二进制大对象BLOB(Binary Large Object),其存取的方式与普通数据有所区别。本文将介绍利用ADO在数据库中存取BLOB数据的具体实现过程,并给出实现图像存取显示的完整示例工程。二、前期准备首先我们建立一张名为userinfo的表,包含三个字段:id,username,old,photo,其中photo是一个可以存储二进制数据的字段。2.1 在SQL SERVER中我们可以在Query Analyzer中直接输入如下语句创建 阅读全文
posted @ 2013-05-07 15:53 编程小翁 阅读(2585) 评论(1) 推荐(0) 编辑
摘要:图像列表控件(CImageList)是相同大小图像的一个集合,每个集合中均以0为图像的索引序号基数,(可以把这些图标看成是以数组方式存储的),图像列表通常由大图标或位图构成,其中包含透明位图模式(实际上,所有的再一个图像列表中的图标都被存储在一个屏幕设备的位图中)。可以利用windows API来绘制、建立和删除图像,并能实现增加、删除、替换和拖动图像邓操作。图像列表控件提供了控制图像列表额基本方法,这些方法在Windows 95及以后版本才能实现。该控件是不可见的,通常与其他如CListBox、CComboBox、CComboBoxEx以及CTabCtrl一起使用,为他们提供图标资源。 一、 阅读全文
posted @ 2013-04-30 16:33 编程小翁 阅读(816) 评论(0) 推荐(0) 编辑
摘要:以下未经说明,listctrl默认view 风格为report相关类及处理函数MFC:CListCtrl类SDK:以 “ListView_”开头的一些宏。如 ListView_InsertColumn--------------------------------------------------------------------------------1. CListCtrl 风格 LVS_ICON: 为每个item显示大图标 LVS_SMALLICON: 为每个item显示小图标 LVS_LIST: 显示一列带有小图标的item LVS_REPORT: 显示item详细资料 直观的理解 阅读全文
posted @ 2013-04-27 20:02 编程小翁 阅读(2426) 评论(0) 推荐(0) 编辑

我是来自厦门的Jilon. 翁,请关注我的微博:真实的weng,或关注微信:Jilon