VC学习技巧

来源:互联网 发布:三国杀认证裁判知乎 编辑:程序博客网 时间:2024/06/03 22:52

[问题一]:解决workspace中的classview显示混乱
[解答]
即添加的成员变量或函数不能显示;即使显示出来了变量或函数,双击后不能跳至正确的位置。删除.ncb文件,再rebuildall,即可。

[问题二]:向项目中加入自己定义的类的简单方法

[解答]
选择Insert/New Class菜单,弹出对话框,选择ClassType为generic,输入类名。当然,也可以自己决定该类的基类。<br>

[问题三]:在工作区(Workspace)导入多个项目(Project)

[解答]
在打开一个项目(*.dsp文件)后,在“Project” 菜单选择“Insert Project into Workspace”子菜单,然后选择另一个项目文件(*.dsp文件),可插入另一个项目。在ClassView视图中,右键可以激活其中某个项目,工作区插入多个项目能方便不同项目间拷贝代码、资源等。<br>

[问题四]:整理在ClassView 视图中太多的类

[解答]
我们可以在ClassView 视图中右键新建文件夹(NewFolder),再把具有相近性质的类拖到对应的文件夹中,使整个视图看上去清晰明了。<br>

[问题五]:快速删除项目下Debug 文件夹中临时文件

[解答]
在FileView视图中选中对应项目,右键Clean即可。<br>

[问题六]:快速打开一个源文件较大的项目

[解答]
不要打开项目文件(*.dsp文件),直接打开要编辑的单个源文件(*.h或*.cpp)进行编辑,要快得多。<br>

[问题七]:快速生成一个与现有项目除了项目名外完全相同的新项目

[解答]
利用File菜单下生成新项目中的Custom AppWizard ,选择 An existing Project,然后选择现有项目的项目文件名(*.dsp)Finish,编译后就生成一个可以生成与现有项目相同但可以重新取名的项目的AppWizard。你可以象用MFCAppWizard一样用它。如果不想用了,可以在VC安装目录下CommonMSDev98Template目录中删除该Wizard中.awx和.pdb文件。<br>

[问题八]:在VC中设置头文件和库文件

[解答]
除了VC缺省头文件和库文件外,如果经常要用到第三方的头文件和库文件可以在Tools Options的Directories中设置。如果只是本项目要用到,可以在Project Setting->LinkObject/library Modules中设置库文件。<br>

[问题九]:让控制台应用程序支持MFC类库

[解答]
可以在控制台应用程序中include来引入MFC库,但是控制台应用程序缺省是单线程的,MFC是多线程的,为解决该矛盾,在ProjectSetting->C/C++ 选项,选择Code Generation,在Use Run-TimeLibrary 下拉框中选择DebugMultithread。<br>

[问题十]:数据库表修改后,快速更新一个绑定到表的CRecordSet记录集

[解答]
利用ClassWizard 中 Member Variables标签下选中记录集类后,利用UpdateColoumns和BindAll。<br>

[问题十一]:汉化只有可执行代码的.exe 文件

[解答]
在VC Open File 中以Resources方式打开*.exe文件,直接修改资源文件,然后保存即可。<br>

[问题十二]:如何干净删除一个类

[解答]
在用VC编程时,如何彻底删除一个类呢?我们可以这样做:
首先,从workspace中的FileView中删除对应的.h和.cpp文件;再关闭项目,从实际的文件夹中删除对应的.h和.cpp文件;再删除.clw文件。此后,打开项目,rebuildall。  这样,我们就彻底地删除了一个对我们无用的类。

[问题十三]:如何解决VC不正确连接问题

[解答]
使用VC开发项目时,常会遇到这种情况:明明只改动了一个文件,却要把整个项目全部重新编译连接一次。刚刚连接好,一运行,又提示重新编译连接一次,非常讨厌。这是因为出现了未来文件的缘故。
我们可以这样对付它:找出对应文件夹下的debug目录,将创建和修改时间都比系统时间晚的文件全部delete, 再rebuildall一次。一切就会OK了。

[问题十四]:在MSVC++6中,有时通过Class Wizard添加成员变量时,有的会从ClassView中消失,通常这种情况发生在应用程序的对话框类中,解决办法如下:

[解答]
先保存workspace,然后关闭工程,删除此工程目录中的.ncb文件,然后重新打开workspace即可。

浮点数比较大小:
#include <math.h>
#define EE (1.0E-6)

if (fabs(x-y) < EE)
…….