VC的若干實(shí)用小技巧(一)
(VCKBASE發(fā)表于2001-8-17 9:15:09)
Visual C++6.0(5.0)開(kāi)發(fā)工具功能非常強大,但是對于初學(xué)者來(lái)說(shuō),卻有很多細節的問(wèn)題需要注意。作者搜集整理了以下一些實(shí)用小技巧,希望對初學(xué)者有所幫助。
1:使用vc開(kāi)發(fā)項目時(shí),常會(huì )遇到這種情況: 即明明只改動(dòng)了一個(gè)文件,卻要把整個(gè)項目全部重新編譯連接一次。剛剛連接好,一運行,又提示重新編譯連接一次,非常討厭。這是因為出現了未來(lái)文件的緣故。
解決方法:
找出對應文件夾下的debug目錄,將未來(lái)文件全部delete, 再rebuild all一次。(未來(lái) 文件即其創(chuàng )建和修改時(shí)間都比系統時(shí)間靠后)
2:有時(shí),workspace中的classview顯示混亂。其表現如下: (1):添加的成員變量或函數不能顯示;
(2):即使顯示出來(lái)了變量或函數,雙擊后不能跳至正確的位置。
解決方法:
刪除.ncb文件,再rebuild all.
3:如何干凈的刪除一個(gè)類(lèi)? 1:先從workspace中的fileview中刪除對應的.h和.cpp文件。
2.再關(guān)閉項目,從實(shí)際的文件夾中刪除對應的.h和.cpp文件。
3.再刪除.clw文件。
打開(kāi)項目,rebuild all。
4:初學(xué)者常有這樣的疑惑: 直接望工程文件里加入一個(gè)cpp原文件再編譯連接的話(huà)老是提示沒(méi)有找到預編譯頭
解決方法:
#include "stdafx.h"
5:如何向項目中加入自己定義的類(lèi)? 方法很多,介紹一個(gè)簡(jiǎn)便的:
選擇insert/new class菜單
彈出對話(huà)框;
選擇class type為generic;
輸入類(lèi)名。
當然,也可以自己決定該類(lèi)的基類(lèi)
6:如何在工作區(workspace)導入多個(gè)項目(project)? 在打開(kāi)一個(gè)項目(*.dsp文件)后,在利用“project” 菜單下insert project into workspace 子菜單選擇另一個(gè)項目文件(*.dsp文件),可插入另一個(gè)項目。
在classview 視圖中,右鍵可以激活其中某個(gè)項目,工作區插入多個(gè)項目能方便不同項目間拷貝代碼、資源等。
7: 在classview 視圖中類(lèi)太多如何整理? 我們可以在classview 視圖中右鍵新建文件夾(new folder),再把具有相近性質(zhì)的類(lèi)拖到對應的文件夾中,使整個(gè)視圖看上去清晰明了。
8:如何快速刪除項目下debug 文件夾中臨時(shí)文件? 在fileview視圖中選中對應項目,右鍵clean即可。
9: 打開(kāi)一個(gè)源文件較大的項目編輯操作非常慢,怎么辦? 不要打開(kāi)項目文件(*.dsp文件),直接打開(kāi)要編輯的單個(gè)源文件(*.h或*.cpp)進(jìn)行編輯,要快得多。
10:如果想把整個(gè)項目拷貝到軟盤(pán),那些文件可以刪掉? 除了項目文件夾中debug文件夾可以刪除外,.ncb,.clw,.opt 等文件也可以刪除,這些文件rebuilt all后可以重新生成。
11:怎樣快速生成一個(gè)與現有項目除了項目名外完全相同的新項目? 利用file菜單下生成新項目中的custom appwizard ,選擇 an existing project ,然后選擇現有項目的項目文件名(*.dsp)finish,編譯后就生成一個(gè)可以生成與現有項目相同但可以重新取名的項目的appwizard。你可以象用mfc appwizard一樣用它。如果不想用了,可以在vc 安裝目錄下common\msdev98\template目錄中刪除該wizard中.awx和 .pdb文件。
12:如何在源文件中定位光標到對稱(chēng)的{ }和 #if, #endif ? 前者使用ctrl和 “} ”鍵 ,后者使用ctrl和“k”鍵。
13:如何在vc中設置頭文件和庫文件? 除了vc缺省頭文件和庫文件外,如果經(jīng)常要用到第三方的頭文件和庫文件可以在tools options 的directories中設置。如果只是本項目要用到,可以在project setting->link object/library modules中設置庫文件。
14:如果讓控制臺應用程序支持mfc類(lèi)庫? 可以在控制臺應用程序中include 來(lái)引入mfc庫,但是控制臺應用程序缺省是單線(xiàn)程的,mfc是多線(xiàn)程的,為解決該矛盾,在project setting->c/c++ 選項,選擇code generation,在use run-time library 下拉框中選擇debug multithread。
15:如何為一個(gè)mfc應用程序添加odbc功能? (1)在文件stdafx.h文件末尾添加下面一行:
#include // mfc odbc database classes
(2)在文本模式下編輯rc文件(利用file->open as text 方式)
在下面的程序行(共有兩處)
#include "l.chs\afxprint.rc" // printing/print preview resources
添加下一行:
#include "l.chs\afxdb.rc" // database resources
16:數據庫表修改后,如何快速更新一個(gè)綁定到表的crecordset記錄集? 利用classwizard 中 member variables標簽下選中記錄集類(lèi)后,利用updatecoloumns和bind all。
17:如何漢化只有可執行代碼的.exe 文件? 在nt 下利用vc open file 以resources方式打開(kāi)*.exe 文件,直接修改資源文件,然后保存即可。