2012-07-09 07:39
⁄ 工业·编程
⁄ 共 3209字
C++的new操作符是该语言一个非常好的语法特性,然而实际使用中却发现new操作符有不少限制,为突出的一点便是用new操作符分配多维数组空间时,不能让数组的每一维都动态可变。本文将对此提出一个简单直观的解决方案,在一个实际问题的简化模型中加以说明,并以此释清许多初学者对C++中new操作符与多维数组的误区。 1. 问题的提出--多维可变数组的实际用途 下面是实际编程中遇到问题的一个简化模型。...
VC阅读全文
2012-07-09 07:38
⁄ 工业·编程
⁄ 共 2736字
Flash动画由于可以很方便地把用户的想象通过动画显现出来,使原本只属于专业制作人员的动画制作变的异乎寻常的快捷、方便。由于Flash制作的动画在层次、内容、表现形式等诸多方面均比较出色,因此在网络上得到迅猛的发展,更有不少厂商用Flash在互联网上做起了广告和产品演示,效果丝毫不比视频的差,而体积则要小的多。Flash不仅在网络上有广泛的应用,在普通的应用程序中也可以借助Flash实现一些VC、Delph...
VC阅读全文
2012-07-09 07:37
⁄ 工业·编程
⁄ 共 4130字
一、 对话框中增加菜单
1、 对话框中增加菜单,只需要在对话框OnInitDialog()函数中增加响应代码即可:
Cmenu menuDlg;
menuDlg.LoadMenu(IDR_MENU_DLG);
SetMenu(&menuDlg);
也可以通过对话框资源,直接选择菜单ID,无需增加任何代码。
2、 对话框中的菜单默认是无法响应ON_UPDATE_COMMAND_UI消息的,对于利用CCmdUI类的SetCheck()等函数设置的状态无法响应,为了与框架中菜单一致,需要在对话框中响应ON_WM_INITMENUPOPUP...
VC阅读全文
2012-07-09 07:35
⁄ 工业·编程
⁄ 共 3498字
一、 静态链接库与动态链接库区别
静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib 中的指令都全部被直接包含在最终生成的 EXE 文件中了。但是若使用 DLL,该 DLL 不必被包含在最终 EXE 文件中,EXE 文件执行时可以“动态”地引用和卸载这个与 EXE 独立的 DLL 文件。静态链接库和动态链接库的另外一个区别在于静态链接库中不能再包含其他的动态链接库或者静态库,而在动态链接库中还可以再...
VC阅读全文
2012-07-09 07:33
⁄ 工业·编程
⁄ 共 1137字
计算机都是以八位一个字节为存储单位,那么一个16位的整数,也就是C语言中的short,在内存中可能有两种存储顺序big-endian和litte-endian.考虑一个short整数0x3132(0x32是低位,0x31是高位),把它赋值给一个short变量,那么它在内存中的存储可能有如下两种情况:
大端字节(Big-endian):
----------------->>>>>>>>内存地址增大方向
short变量地址
0x1000 ...
VC阅读全文
2012-07-09 07:30
⁄ 工业·编程
⁄ 共 5476字
虽然能用DLL实现的功能都可以用COM来替代,但DLL的优点确实不少,它更容易创建。本文将讨论如何利用VC MFC来创建不同类型的DLL,以及如何使用他们。
一、DLL的不同类型
使用VC++可以生成两种类型的DLL:MFC扩展DLL和常规DLL。常规DLL有可以分为动态连接和静态连接。Visual C++还可以生成WIN32 DLL,但不是这里讨论的主要对象。
1、MFC扩展DLL
每个DLL都有某种类型的接口:变量、指针、函数、客户程序访问的类。它们的作用是让客...
VC阅读全文
2012-07-09 07:28
⁄ 工业·编程
⁄ 共 5226字
一、Debug 和 Release 编译方式的本质区别 Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。 Debug 和 Release 的真正秘密,在于一组编译选项。下面列出了分别针对二者的选项(当然除此之外还有其他一些,如/Fd /Fo,但区别并不重...
VC阅读全文
2012-07-09 07:27
⁄ 工业·编程
⁄ 共 1455字
在使用VC开发软件的过程中,正当要享受那种兴奋的时候突然发现:release与debug运行结果不一致,甚至出错,而release又不方便调试,真的是当头一棒啊,可是疼归疼,问题总要解决,下面将讲述一下我的几点经验,看看是不是其中之一: 1. 变量。 大家都知道,debug跟release在初始化变量时所做的操作是不同的,debug是将每个字节位都赋成0xcc(注1),而release的赋值近似于随机(我想是直接从内存中分配的...
VC阅读全文
2012-07-09 07:18
⁄ 工业·编程
⁄ 共 2481字
设置控件颜色的主要目的是为了解决控件文字背景色不透明的问题。当向一个有背景色的界面上放置控件后,由于控件文字的背景色与界面背景色不符,使文字背后留下难看的灰块。现在我定义了可设置背景色和前景色的控件,只要使控件背景色与界面背景色相同,问题就解决了。
设置控件颜色和字体时必须重载该控件对应的类,在其中加入相关的颜色控制和字体函数。各种控件的做法完全相同,只是重载的类不一样。
注:对于静态文本控件(S...
VC阅读全文
2012-07-09 07:14
⁄ 工业·编程
⁄ 共 3459字
如何获取程序所在的路径
也就是获取你这个程序本身所在的路径。
在应用程序类CxxApp的头文件中定义一个变量CString m_exePath;用来放置程序的路径名,在应用程序类CxxApp的InitInstance()函数中加入如下语句:
TCHAR m_Path[MAX_PATH]; GetModuleFileName( NULL, m_Path, MAX_PATH ); //获取程序路径(包括程序名) int i = 0, j; while( m_Path[i]!=0 ) { if( m_Path[i]=='\\' ) ...
VC阅读全文