11 2012 档案
摘要:1.使用Oracle OTT工具生成对应的C++类。
2.生成sdo.h(.cpp),map.h(.cpp)
3.读写sdo_geometry
阅读全文
摘要:以对话框为父窗口创建的菜单,菜单响应函数可以写在对话框类中。
菜单响应函数的映射和普通菜单响应映射一样。
但是菜单状态更新命令,需要特殊处理。
阅读全文
摘要:char **p和char *p[]基本一样,
区别讲不出来,写个例子体会吧。
char *c与char c[]的区别是前者是常量。
说点题外话,学习编程应该是先学会用,在使用的过程中慢慢领悟。
对于有点难度的知识点,一下子可能没有办法完全搞清楚。
阅读全文
摘要:如果类A希望类B可以访问它的私有成员,
可以把类B设置为友元类。
阅读全文
摘要:主菜单在App里创建,主菜单响应函数不能在普通类中响应。
对话框中的右键菜单,如果把对话框指针传进去。
则右键菜单命令可以在对话框类中实现。
阅读全文
摘要:这里涉及到MFC控件开发许多知识点:
消息响应,窗口绘制,根据鼠标点击位置取得行列信息。
阅读全文
摘要:C++ 宏定义将一个标识符定义为一个字符串,源程序中的该标识符均以指定的字符串来代替。预处理命令不同于一般C++语句。因此预处理命令后通常不加分号。这并不是说所有的预处理命令后都不能有分号出现。由于宏定义只是用宏名对一个字符串进行简单的替换,因此如果在宏定义命令后加了分号,将会连同分号一起进行置换。
阅读全文
摘要:作为曾经的C#开发者,习惯于为控件指定top,left,width,height
在MFC中没找到,难道靠目测,靠网格,呵呵。
原来MFC所有控件都是窗口,都有CRect
阅读全文
摘要:流行的用法:用二进制的每一位代表一种状态。
001,010,100这样就表示三种状态。
通过或|运算就可以组合各种状态。
001 | 010 = 011
001 | 010 | 100 = 111
通过与&运算可以去除某种状态。
111 & 001 = 110
阅读全文
摘要:继承CWnd的类都能放到工具条上。
原理:
1.在工具条资源添加分隔符SEPARATOR
2.设置分隔符宽度
3.得到分隔符窗口CRect
4.根据分隔符窗口创建Create组合框ComboBox
阅读全文
摘要:1.只有重载的类或者结构才能作为map的key值。
string可以作为key值是因为string重载了
2.如果不重载会提示如下错误:
error C2676: 二进制“”: “const C”不定义该运算符或到预定义运算符可接收的类型的转换
3.重载但是没有实现会提示如下错误:
Expression: invalid operator
比如bool operator (const C &c) const{return true;}
阅读全文
摘要:MFC消息机制涉及许多知识,比如消息分类,消息映射等。
知识先了解一下,马上动手实践才是硬道理。
我建了个SDI项目,把常用的消息试验了一遍。
如果像我一样初学的,可以留下邮箱索取源码。
阅读全文
摘要:纸上得来终觉浅,为了熟悉获取方法,我建了个SDI。
首先说明这四个类的执行顺序是App->Doc->Main->View
另外添加CDialog类获得各个指针的方法。
多文档的获取有点小区别,有时间也总结一下。
阅读全文