摘要: 快捷键习惯设置:Tools->Options->Keyboard:Apply the following additional keyboard mapping scheme选择Visual C++ 6VA加快捷键:先为VA设置一下我自己个人比较喜欢的快捷键,不多,就两个。Tools->Options->Keyboard:Show commands containing:VassistX.NavigateForward Alt + -> 前进到后面的页面 (注意:Shortcuts for selected command: 要选择TextEditor)Vassi 阅读全文
posted @ 2013-05-14 14:06 要八戒更需悟空 阅读(383) 评论(0) 推荐(0) 编辑
摘要: 动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的。 一、创建动态控件: 为了对照,我们先来看一下静态控件的创建。 放置静态控件时必须先建立一个容器,一般是对话框,这时我们在对话框编辑窗口中,从工具窗口中拖出所需控件放在对话框中即可,再适当修改控件ID,设置控件属性,一个静态控件就创建好了,当对话框被显示时,其上的控件也会显示。 静态控件不需要调用Create()函数来创建。 而创建动态控件有很大不同,以下以按钮为例,看一下动态控件的创建过程: 1.建立控件ID号: ID号是控件的标识,创建控件前必须先为它设置一个ID号。 打开资源中的“St... 阅读全文
posted @ 2013-04-26 10:26 要八戒更需悟空 阅读(442) 评论(0) 推荐(0) 编辑
摘要: 建立一个"单文档"的工程中,用户视图的基类改为CView,在编程中就有了ondraw函数(成员函数),而在CFormView情况下就没有ondraw函数(成员函数),CFormView是CView类的派生类,在CFormView类里可以放很多控件,即“带有菜单并可以添加控件的工程”。 View必须和document一起工作,CView不能在资源编辑器中编辑,但是CFormView可以,一般来说,view是用来显示document中保存的数据,并且响应界面的消息,view自己一般不保存数据,和对话框的功能完全不同。对话框是独立的,数据放在对话框中。因为document的数据千 阅读全文
posted @ 2013-04-25 14:18 要八戒更需悟空 阅读(511) 评论(0) 推荐(0) 编辑
摘要: 1. int num1,num2,num3;char ch1[10],ch2[10],ch3[10];GetDlgItem(IDC_EDIT1)->GetWindowText(ch1,10);GetDlgItem(IDC_EDIT2)->GetWindowText(ch2,10);num1=atoi(ch1);num2=atoi(ch2);num3=num1+num2;itoa(num3,ch3,10);GetDlgItem(IDC_EDIT3)->SetWindowText(ch3);2.int num1,num2,num3;char ch1[10],ch2[10],ch3 阅读全文
posted @ 2013-04-24 14:08 要八戒更需悟空 阅读(1255) 评论(0) 推荐(0) 编辑
摘要: 1.动态链接库的调用有两种方式:静态调用(隐式)和动态调用(显示)。1)静态调用 这种调用方式需要把产生动态连接库时产生的.LIB文件加入到应用程序的工程中,在使用DLL中的函数时,只须说明一下后就可以直接通过函数名调用DLL的输出函数,调用方法和程序内部其他的函数是一样的。隐式调用不需要调用Load Library()和Free Library()。程序员在建立一个DLL文件时,链接程序会自动生成一个与之对应的LIB导入文件。该文件包含了每一个DLL导出函数的符号名和可选的标识号,但是并不含有实际的代码。LIB文件作为DLL的替代文件被编译到应用程序项目中。 当程序员通过隐式调用方式编译生. 阅读全文
posted @ 2013-04-16 15:03 要八戒更需悟空 阅读(512) 评论(0) 推荐(0) 编辑
摘要: 用MFC开发一个软件界面中需要拆分多个试图窗口时,使用CSplitterWnd类CSplitterWnd类主要用在创建一个拆分试图窗口。通常嵌入在框架窗口中(CMainFrame)创建步骤: 1.在框架类(CMainFrame)中定义一个CSplitterWnd成员; 2.重载父框架类中CFrameWnd::OnCreateClient函数; 3.在OnCreateClient()函数中调用CSplitterWnd类的Create或CreateStatic()函数;例子:CSplitterWnd m_wndSplitter;BOOL CChildFrame::OnCreateClient( L 阅读全文
posted @ 2011-06-14 09:31 要八戒更需悟空 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 用MFC开发一个软件界面中需要拆分多个试图窗口时,如下图所示: CSplitterWnd类主要用在创建一个拆分试图窗口。通常嵌入在框架窗口中(CMainFrame)创建步骤: 1.在框架类(CMainFrame)中定义一个CSplitterWnd成员; 2.重载父框架类中CFrameWnd::OnCreateClient函数; 3.在OnCreateClient()函数中调用CSplitterWnd类的Create或CreateStatic()函数;例子:CSplitterWnd m_wndSplitter;BOOL CChildFrame::OnCreateClient( LPCREATES 阅读全文
posted @ 2011-06-14 09:30 要八戒更需悟空 阅读(1317) 评论(1) 推荐(1) 编辑
摘要: CList简介 CList是一个模板类,其实就是一个双向链表。支持多个对象的顺序列表,可以同时顺序或者值访问对象成员。参数: TYPE:要存储的对象类型 ARG_TYPE:在列表中用于引用对象的类型。使用CList模板类注意事项:1、头文件名不可少 Clist类定义在Afxtempl.h 头文件中,因此在使用该类时,需要加这个头文件名。2、理解CList的声明和构造方法 CList的声明如下: template< class TYPE, class ARG_TYPE >class CList : public CObject 由此,我们知道CList是一个模版类,那么他的两个cla 阅读全文
posted @ 2011-06-13 19:45 要八戒更需悟空 阅读(529) 评论(0) 推荐(0) 编辑
摘要: 在从语言中const和#define都可以用来定义常量,但const比#define有更多的优点: (1)const定义的常量有数据类型,而#define没有数据类型;编译器可以对前者进行类型安全检查,而#define只能进行字符串的替换,没有类型安全的检查,而且在字符串替换时可能产生意料不到的错误。 (2)调试工具可以对const常量进行调试,但是不能对#define宏常量进行调试。在C++程序中只能使用const常量而不使用宏常量,即const常量完全取代宏常量。 阅读全文
posted @ 2011-06-03 21:06 要八戒更需悟空 阅读(175) 评论(0) 推荐(0) 编辑
摘要: C++中系统内存分区:http://gaofeilonglcu.blog.163.com/blog/static/130864291201082084933665/(貌似是个高手写的)在C++中,内存可分为系统数据区,自由存储区,文本区,const数据区,全局静态区,堆区和栈区。其中,系统数据区存放的是系统数据,我们是不能自由访问的,有时候windows系统会突然弹出一个消息框,内容是“内存不能为read”就是错误访问系统数据区的结果;自由存储区用来存放由C延伸而来的malloc()函数所分配的数据;文本区存放着我们的函数代码,我们调用函数时的底层行为就类似于先去操作一个指针,而这个指针就指向 阅读全文
posted @ 2011-05-26 17:48 要八戒更需悟空 阅读(652) 评论(0) 推荐(0) 编辑