DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
上一页 1 ··· 460 461 462 463 464 465 466 467 468 ··· 474 下一页

2012年6月27日

摘要: void GetClientRect( LPRECT lpRect) const;作用:把CWnd客户区的客户坐标复制到lpRect指向的结构体中。返回值:如果函数成功,返回值为非零:如果函数失败,返回值为零。若想获得更多错误信息,请调用GetLastError函数。lpRect:指向RECT结构体或CRect类的指针,接受客户区的坐标。因为此坐标是相对于CWnd客户区的左上角,故总是得到(0,0,宽度,高度)。GetClientRect()得到的是客户区的矩形,不包括标题栏,外框。GetWindowRect()得到的是整个窗口的矩形。总结:相同点:GetclientRect和GetWindo 阅读全文
posted @ 2012-06-27 14:30 DoubleLi 阅读(1286) 评论(0) 推荐(0)

2012年6月26日

摘要: WM_CREATE和WM_INITDIALOG消息响应函数之区别,以及MFC应用程序中处理消息的... 在响应WM_CREATE消息响应函数的时候,对话框及子控件还未创建完成,亦是说只是通知系统说要开始创建窗口啦,这个消息响应完之后,对话框和子控件才开始创建。因此在此消息响应函数中无法对控件进行修改和初始化。 而WM_INITDIALOG消息响应函数是在程序运行时,当其对话框和子控件全部创建完毕,将要显示内容的时候发送的消息。因此可以在WM_INITDIALOG消息响应函数中添加对编辑框控件的初始化和修改。 阅读全文
posted @ 2012-06-26 11:16 DoubleLi 阅读(307) 评论(0) 推荐(0)

摘要: MFC应用程序中处理消息的顺序1.AfxWndProc() 该函数负责接收消息,找到消息所属的CWnd对象,然后调用AfxCallWndProc2.AfxCallWndProc() 该函数负责保存消息(保存的内容主要是消息标识符和消息参数)供应用程序以后使用,然后调用WindowProc()函数3.WindowProc() 该函数负责发送消息到OnWndMsg()函数,如果未被处理,则调用DefWindowProc()函数4.OnWndMsg() 该函数的功能首先按字节对消息进行排序,对于WM_COMMAND消息,调用OnCommand()消息响应函数,对于WM_NOTIFY消息调用OnNot 阅读全文
posted @ 2012-06-26 11:08 DoubleLi 阅读(329) 评论(0) 推荐(0)

摘要: 1. Create 2. PreCreateWindow 3. PreSubclassWindow 4. PreTranslateMessage 5. WindowProc 6. OnCommand 7. OnNotify 8. OnChildNotify 9. DefWindowProc 10. DestroyWindow 11. PostNcDestroy CWnd作为MFC中最基本的与窗口打交道的类,完成了大部分窗口管理任务。同时提供了很多虚拟函数,这些虚拟函数在适当的地方提供了供派生类参与管理的接口。 一直以来,对这些虚拟函数的来龙去脉有所糊涂,无法明确的判断他们在什么时候调用,又缺省 阅读全文
posted @ 2012-06-26 10:42 DoubleLi 阅读(617) 评论(0) 推荐(0)

2012年6月12日

摘要: 以下未经说明,listctrl默认view 风格为report相关类及处理函数MFC:CListCtrl类SDK:以 “ListView_”开头的一些宏。如 ListView_InsertColumn--------------------------------------------------------------------------------1. CListCtrl 风格 LVS_ICON: 为每个item显示大图标 LVS_SMALLICON: 为每个item显示小图标 LVS_LIST: 显示一列带有小图标的item LVS_REPORT: 显示item详细资料 直观的理. 阅读全文
posted @ 2012-06-12 17:17 DoubleLi 阅读(1019) 评论(1) 推荐(1)

2012年6月8日

摘要: 第三步设置风格1、通过第一步和第二步,我们已经创建出了一个有一行并且有四列的内容的REPORT风格的List Control。可是,只是简单的方框中有一行数据而已,我们能不能让它们看起来更漂亮呢?或者我们能不能让它们可以被选取从而让我们可以做一些别的操作呢?当然可以,这一步我们就来看看简单的风格设置。2、要学习风格设置,我们首先来看一个函数:CListCtrl::SetExtendedStyleDWORD SetExtendedStyle(DWORD dwNewStyle)返回值:返回列表视图控件使用的以前扩展风格的组合。参数: dwNewStyle 列表视图控件使用的扩展风格的组合。若希望进 阅读全文
posted @ 2012-06-08 14:48 DoubleLi 阅读(6133) 评论(0) 推荐(0)

摘要: 第二步创建第一行1、在上一节中我们创建了一个列,那我们可以按照同样的方法多创建几个列。在 m_ListCtrl.InsertColumn(0, _T("姓名"), LVCFMT_LEFT, 90); 代码后边添入下列三行代码: m_ListCtrl.InsertColumn(1,_T("性别"),LVCFMT_LEFT,40); m_ListCtrl.InsertColumn(2,_T("联系方式"),LVCFMT_LEFT,160);m_ListCtrl.InsertColumn(3,_T("备注"),LVCFM 阅读全文
posted @ 2012-06-08 14:47 DoubleLi 阅读(1469) 评论(0) 推荐(0)

摘要: 第一步:创建一个列注:开发平台为VS2008.NET。1、创建一个MFC应用程序,选择基于对话框的。具体步骤如下:文件à新建à项目àVisual C++àMFCàMFC应用程序,在下方名称中输入你自己想要建立的项目名,此处为ListCtrl。在MFC应用程序向导中选择引用程序类型,然后在窗口右边应用程序类型中选择基于对话框,然后选择完成。2、进入项目,可以直接看到建立好的一个对话框,将对话框中部的“TODO:在此放置对话框删除”。3、从工具箱中拖一个List Contrrol到对话框上,调节大小到自己满意的状态。4、将控件(一般ID为IDC_L 阅读全文
posted @ 2012-06-08 14:46 DoubleLi 阅读(2896) 评论(0) 推荐(0)

2012年6月6日

摘要: 关于C++中函数指针的使用(包含对typedef用法的讨论) (一)简单的函数指针的应用。//形式1:返回类型(*函数名)(参数表) char (*pFun)(int); char glFun(int a){ return;} void main() { pFun = glFun; (*pFun)(2); } 第一行定义了一个指针变量pFun。首先我们根据前面提到的“形式1”认识到它是一个指向某种函数的指针,这种函数参数是一个int型,返回值是char类型。只有第一句我们还无法使用这个指针,因为我们还未对它进行赋值。 第二行定义了一个函数glFun()。该函数正好是一个以int为参数返回... 阅读全文
posted @ 2012-06-06 23:45 DoubleLi 阅读(397) 评论(0) 推荐(0)

2012年6月5日

摘要: 在大学大一的时候学的是C,然后后来大二的时候专业又开了C++这个课程,然后再后来自己又自学了一点VC++,大三的时候也试着编写过一个MFC的最简单的窗口程序。到大四的时候,自己又做了一个GIS的项目,是用C#.NET来编写的,然后发现C#上手好容易,而且还大部分语法规则都沿用了C,C++的习惯,于是觉得C++实在是没有一点优势可言啊。但这个暑假的实习经历又改变了我的观点:C++在写窗口程序虽然麻烦,但是却什么能做,而且对比C#来说,对运行环境的要求不高,不用像C#程序在安装之前还要安装100M多的运行.NET环境。C++和C#各有优缺,目前我对它们俩的定位是:C++用来写一些底层的程序,比如驱 阅读全文
posted @ 2012-06-05 15:27 DoubleLi 阅读(670) 评论(1) 推荐(1)

上一页 1 ··· 460 461 462 463 464 465 466 467 468 ··· 474 下一页