现在位置: 首页 > 自动控制 > 文章
2012-07-09 07:30 工业·编程 ⁄ 共 5476字 评论 1 条
虽然能用DLL实现的功能都可以用COM来替代,但DLL的优点确实不少,它更容易创建。本文将讨论如何利用VC MFC来创建不同类型的DLL,以及如何使用他们。 一、DLL的不同类型 使用VC++可以生成两种类型的DLL:MFC扩展DLL和常规DLL。常规DLL有可以分为动态连接和静态连接。Visual C++还可以生成WIN32 DLL,但不是这里讨论的主要对象。 1、MFC扩展DLL 每个DLL都有某种类型的接口:变量、指针、函数、客户程序访问的类。它们的作用是让客...
阅读全文
一、Debug 和 Release 编译方式的本质区别     Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。     Debug 和 Release 的真正秘密,在于一组编译选项。下面列出了分别针对二者的选项(当然除此之外还有其他一些,如/Fd /Fo,但区别并不重...
阅读全文
2012-07-09 07:27 工业·编程 ⁄ 共 1455字 暂无评论
    在使用VC开发软件的过程中,正当要享受那种兴奋的时候突然发现:release与debug运行结果不一致,甚至出错,而release又不方便调试,真的是当头一棒啊,可是疼归疼,问题总要解决,下面将讲述一下我的几点经验,看看是不是其中之一: 1. 变量。 大家都知道,debug跟release在初始化变量时所做的操作是不同的,debug是将每个字节位都赋成0xcc(注1),而release的赋值近似于随机(我想是直接从内存中分配的...
阅读全文
设置控件颜色的主要目的是为了解决控件文字背景色不透明的问题。当向一个有背景色的界面上放置控件后,由于控件文字的背景色与界面背景色不符,使文字背后留下难看的灰块。现在我定义了可设置背景色和前景色的控件,只要使控件背景色与界面背景色相同,问题就解决了。 设置控件颜色和字体时必须重载该控件对应的类,在其中加入相关的颜色控制和字体函数。各种控件的做法完全相同,只是重载的类不一样。 注:对于静态文本控件(S...
阅读全文
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]=='\\' )  &#...
阅读全文
2012-07-09 07:12 工业·编程 ⁄ 共 3087字 暂无评论
如何隐藏和显示控件 用CWnd类的函数BOOL ShowWindow(int nCmdShow)可以隐藏或显示一个控件。 例1: CWnd *pWnd; pWnd = GetDlgItem( IDC_EDIT1 );  //获取控件指针,IDC_EDIT为控件ID号 pWnd->ShowWindow( SW_HIDE );     //隐藏控件 例2: CWnd *pWnd; pWnd = GetDlgItem( IDC_EDIT1 );  //获取控件指针,IDC_EDIT为控件ID号 pWnd->ShowWindow( SW_SHOW );  &...
阅读全文
2012-07-09 07:09 工业·编程 ⁄ 共 885字 暂无评论
Debug模式和Release模式 早就发现用VC编译出来的.exe文件比用Turbo C编译出来的文件大了许多,于是就认为VC编译时一定加了很多没用的东西,记得当时还做过把VC自动生成的项目中自认为没用的函数都删掉的傻事。后来才从网上的文章中了解到还有编译模式一说。 Debug模式是用来调试用的,它生成的执行文件中含有大量调试信息,所以很大; Release模式生成的执行文件消除了这些调试信息,可用来作为成品发布。 默认情况下是Debug模...
阅读全文
2012-07-09 07:04 工业·编程 ⁄ 共 326字 暂无评论
error C2146: syntax error : missing ';' before identifier …… 如果出现这个错误且错误数目很多,通常并不是缺失了分号引起的,而是忘记了添加某头文件引起的。 最常见的是新加入了对话框,然后用它的类定义了一个对象,再编译出现上面的错误。 解决方法是在引用新类的文件中加入#include "类名.h",再编译,错误消失。 fatal error C1010: unexpected end of file while looking for precompiled header directive...
阅读全文
2012-07-09 07:02 工业·编程 ⁄ 共 2549字 暂无评论
编辑代码时,跟随提示消失了怎么办? 单击“工具”(Tools)菜单中的“设置”(Options)菜单项,在弹出的Options对话框中选择Editor制表页,把它最下方的四个复选框都选中(Auto list member、Auto type info、Code comments、Auto parameter info),这样,当用户输入“->”或“.”时,会自动显示跟随提示,减少了输入负担。 如何修改对话框的背景色 在对话框的OnPaint()函数中加入下面语句: CRect rect; GetClientRect(&rect);...
阅读全文
2012-07-09 07:01 工业·编程 ⁄ 共 1301字 暂无评论
如何干净的删除一个类? 1、先删除项目中对应的.h和.cpp文件,(选中后用Delete键删除) 2、保存后退出项目,到文件夹中删除实际的.h和.cpp文件; 3、删除.clw文件; 4、重新进入项目,进行全部重建(rebuild all)。 如何建立一个新类? 从“插入”(Insert)菜单中选择“新建类”(New Class),在弹出的对话框中选择基类(Base class),在Name中输入新类的名字(一般都以C开头)即可。 如果想要建立一个没有基类的自定义类,...
阅读全文