VC++
国境之南Fantasy
Coder
展开
-
VC杂项
一、改变视图背景色: 在CView的OnDraw函数中添写如下一段程序代码: void CFileNameView::OnDraw(CDC* pDC) {CFileNameDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);CRect rectClient;CBrush brushBkColor;Get转载 2011-10-19 20:48:16 · 3571 阅读 · 0 评论 -
VC++ List Control 用法
1. ListCtrl 风格 LVS_ICON: 为每个item显示大图标 LVS_SMALLICON: 为每个item显示小图标 LVS_LIST: 显示一列带有小图标的item LVS_REPORT: 显示item详细资料 直观的理解:windows资源管理器,“查看”标签下的“大图标,小图标,列表,详细资料”-----------转载 2011-12-01 22:52:18 · 1024 阅读 · 0 评论 -
CPropertyPage::OnSetActive()和OnKillActive()函数:属性页切换时的处理函数
CPropertyPage::OnKillActivevirtual BOOL OnKillActive();返回值:如果数据被成功更新则返回非零值;否则返回0。说明:当页不再是活动页时,框架调用此函数。重载这个成员函数来执行指定的数据确认任务。此成员函数的缺省实现将对属性页中的控件所做的设置拷贝到属性页的成员变量中。如果数据没有被成功地更新,则属于一个对话框数据确认(转载 2011-12-07 22:03:19 · 1053 阅读 · 0 评论 -
VC中在对话框上使用Rich Edit控件相关问题
1.设置edit只读属性 方法一: m_edit1.SetReadOnly(TRUE); 方法二: ::SendMessage(m_edit1.m_hWnd, EM_SETREADONLY, TRUE, 0);2.判断edit中光标状态并得到选中内容(richedit同样适用)转载 2011-12-08 21:43:37 · 762 阅读 · 0 评论 -
CListCtrl使用技巧 --增强版
以下未经说明,listctrl默认view 风格为report1. CListCtrl 风格 LVS_ICON: 为每个item显示大图标 LVS_SMALLICON: 为每个item显示小图标 LVS_LIST: 显示一列带有小图标的item LVS_REPORT: 显示item详细资料 直观的理解:windows转载 2011-12-04 22:33:55 · 707 阅读 · 0 评论 -
CPropertyPage 间的数据传递
1 如何在属性表的两个页之间传递数据?cpropertypage有一个成员函数querysiblings(wparam, lparam)。应用程序可以使用这个函数。querysiblings生成一条psm_querysiblings消息,它传递给所有的兄弟,也就是属性表上的其他属性页。一般可创建一个所有页可见的枚举,如:enum{query_my_string, query_somet转载 2011-12-19 21:35:35 · 1621 阅读 · 0 评论 -
VS2010 C++ 操作Excel表格的编程实现
转自:http://www.th7.cn/Program/cp/2011/09/25/42491.shtml通过VC实现对Excel表格的操作的方法有多种,如:通过ODBC数据库实现,通过解析Excel表格文件,通过OLE/COM的实现。本文主要研究通过OLE/COM实现对Excel表格的操作。 本文源码的应用环境说明:Windows XP SP3转载 2011-11-19 17:24:18 · 1864 阅读 · 0 评论 -
CListBox类常见函数用法
1.构造函数CListBox( );例如:CListBox m_ListBox;CListBox *pListBox;2.生成函数BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );例如:CRect rect(0,0,100,100);转载 2011-12-26 23:21:24 · 1644 阅读 · 0 评论 -
const 与引用(&) 一起用的原因
c++中经常看见const 与 引用 一起使用的情况,比如下列的函数参数String::String(const String &other) 这么用是什么目的呢?const是为了不让修改,引用是为了避免复制很多对象如果用传值,会复制一份,很占地方,用引用又怕函数修改它,所以用了常引用转载 2012-08-11 15:59:59 · 1251 阅读 · 1 评论 -
内存映射文件
from: http://hi.baidu.com/zhezhe101/item/2c3d01fafa1312c30dd1c874最近帮朋友做了一个处理文件格式的程序,一开始用的是普通的文件流读写技术,做了好几天,怎么做怎么优化都达不到理想的速度,每次转换完都要花上五六分钟,由于文件内容很大,后来网上一查,利用内存映射文件技术可以达到想要的效果,代码改了后一测试,确实是快了很多转载 2012-08-16 10:27:18 · 1620 阅读 · 0 评论 -
结构体对齐问题
在结构中,编译器为结构的每个成员按其自然对界(alignment)条件分配空间;各个成员按照它们被声明的顺序在内存中顺序存储,第一个成员的地址和整个结构的地址相同。在缺省情况下,C编译器为每一个变量或是数据单元按其自然对界条件分配空间。 例如,下面的结构各成员空间分配情况。 struct test { char x1; short x2; floa转载 2012-08-28 15:51:13 · 806 阅读 · 0 评论 -
CListCtrlk的SetItemState函数的使用
BOOL CListCtrl::SetItemState(int nItem, UINT uState, UINT uMask);返回值:非0表示成功,0表示失败。nItem:表示要被设置新状态的项的在列表控件中的索引值。uState:表示要设置的新状态,如果传入0值,表示去除当前被设置项的,屏蔽位所标明的那几种状态,如果传入的与uMask(屏蔽位)的值相同,则表示要设置在uMas转载 2011-12-04 22:10:28 · 2089 阅读 · 0 评论 -
linux文件读写浅析
在《linux内核虚拟文件系统浅析》这篇文章中,我们看到文件是如何被打开、文件的读写是如何被触发的。对一个已打开的文件fd进行read/write系统调用时,内核中该文件所对应的file结构的f_op->read/f_op->write被调用。本文将顺着这条路走下去,大致看看普通磁盘文件的读写是怎样实现的。linux内核响应一个块设备文件读写的层次结构如图(摘自ULK3):转载 2011-12-01 18:31:13 · 1354 阅读 · 0 评论 -
mfc radiobutton 用法小结
多个radio button,IDC_RADIO1,IDC_RADIO2,IDC_RADIO3 。。1、将IDC_RADIO1的Group属性选择上,其他不要选Group属性;2、在对话框上,按Ctrl+W弹出MFC ClassWizard,点击Member Variables属性页,选择下方的IDC_RADIO1然后点击右侧的“Add Variable”按钮,在里面写上变量名m_a,Cate转载 2011-12-01 00:02:38 · 2817 阅读 · 1 评论 -
NMHDR
NMHDR = Notify Message HandlerNMHDR 结构包含下列成员: typedef struct tagNMHDR { HWND hwndFrom; // handle of control sending message UINT idFrom;// identifier转载 2011-10-19 20:52:22 · 744 阅读 · 0 评论 -
ComboBox用法
组合窗口是由一个输入框和一个列表框组成。创建一个组合窗口可以使用成员函数:BOOL CListBox::Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID = 0xffff );其中dwStyle将指明该窗口的风格,除了子窗口常用的风格WS_CHILD,WS_VISIBL转载 2011-11-15 22:09:50 · 17328 阅读 · 1 评论 -
VS2010+MFC解析Excel文件中数据
转自:http://www.vcfans.com/2010/08/vs2010-mfc-excel-file-in-the-data-analysis.html前两天折腾一个小功能,需求是解析Excel中的数据出来。网上一般使用的方案:1. ODBC当数据库来操作。2. 使用第三方的类库3. 使用COM调用Excel.exe中的接口。第三方类库我怕MS升级版本后,是否仍转载 2011-11-19 15:41:52 · 3755 阅读 · 2 评论 -
获得Windows系统中文件属性——GetFileAttributes详解
在MSDN中,文件总共有15种属性,根据磁盘的分区格式不同,文件的属性也会不同。现在针对 GetFileAttributes 函数的返回值做以下整理返回字段返回值属性类型FILE_ATTRIBUTE_READONLY1只读FILE_ATTRIB转载 2011-11-03 23:18:14 · 17701 阅读 · 0 评论 -
CStringList不完全用法
CStringList不完全用法 CStringList是CString链表,在MFC编程中STL之外的另一选择,用起来更加简洁.插入数据:AddTail();AddHead()删除数据:RemoveAll();RemoveAt();RemoveHead();RemoveTail()取得元素个数:GetCount()取得某个元素值:GetAt(cstri转载 2011-11-23 23:26:58 · 1161 阅读 · 0 评论 -
__uuidof的用法
格式:__uuidof(表达式)__uuidof关键字用来获得表达式的GUID。这个表达式可以是一种类型名称、一个指针、引用或者一个类型的数组、一个有这个类型实例化的模板或者这种类型的变量。只要编译器能使用该参数获得相关的GUID,那么该参数就是有效的。这个参数的特殊情况就是它取0或NULL的时候。在这种情况下,__uuidof会返回一个由0组成的GUID。可以使用这一关键字来提取一个转载 2011-11-05 21:49:09 · 1168 阅读 · 0 评论 -
如何实现“上一步”、“下一步”的对话框
1. 类CPropertyPage 是从CDiaglog中派生出来的,具有Diaglog的基本性质,需要注意的是它的样式必须是Child。 2. 类CPropertySheet 是一个属性表,也是一个窗体,相当一个容器,用来存放所有的CpropertyPage。它不是 从CDialog 派生出来的,但是它可以象普通对话框类似的操作, 如DoModal(),当用转载 2011-11-29 21:30:47 · 3031 阅读 · 0 评论 -
CStdioFile读的中文是乱码 解决方法
需要包含头文件:#include unicode下请用C/C++ codechar*old_locale=_strdup( setlocale(LC_CTYPE,NULL) );setlocale( LC_CTYPE,"chs");//设定中字符处理方式处理完后C/C++ codesetlocale( LC_CTYPE, old_locale );free( old_l转载 2011-11-12 00:37:35 · 1189 阅读 · 0 评论 -
Spin Control 和 Slider Control 的用法
Spin Control: Spin Control比较简单,简单介绍消息处理如下:afx_msg void OnDeltaposSpin1(NMHDR *pNMHDR, LRESULT *pResult);ON_NOTIFY(UDN_DELTAPOS, IDC_SPIN1, &CMy2005DlgDlg::OnDeltaposSpin1)void CMy2005DlgDlg::O转载 2011-11-29 22:14:32 · 1841 阅读 · 0 评论 -
CString的分割
CString::Tokenize()和AfxExtractSubString()这两个函数都用来截取特定分隔符的字符串,其中有些区别值得注意。 CStringT Tokenize(PCXSTR pszTokens, int& iStart) const;BOOL AFXAPI AfxExtractSubString(CString& rString, LPCTSTR lpszFu转载 2011-11-12 15:00:38 · 1824 阅读 · 0 评论 -
struct union 内存分配
from: http://blog.csdn.net/owldestiny/article/details/5700774结构体和共用体的内存分配是C语言的一个难点,也是面试题中的热点。示例1: Union data1{ double d; int i; char c1; char c2[转载 2012-08-28 15:25:46 · 903 阅读 · 0 评论