首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

C++Builder 開發實戰精華:9 大高頻技巧總結

     編輯:關於C++

1. 全局變量正確定義模式

BCB 要求聲明與定義分離:
頭文件:extern int gVar;
源文件:#pragma package(smart_init) int gVar;
否則鏈接階段報「找不到目標模塊」。

2. Hint 雙重顯示:ToolTip vs StatusBar

設置 Button->Hint = "工具提示|狀態欄提示"。
Application->OnHint = DisplayHint;
void DisplayHint(TObject*) { StatusBar->SimpleText = GetLongHint(Application->Hint); }
工具提示顯示 | 前,狀態欄顯示 | 後。

3. DateToStr 強制長日期格式


AnsiString bak = ShortDateFormat;
ShortDateFormat = LongDateFormat;
Edit->Text = DateToStr(DateTimePicker->Date);
ShortDateFormat = bak;

臨時替換全局格式變量,解決 Y2K 顯示隱患。

4. 編譯鏈接「找不到文件」四大典型原因

  1. 新組件路徑未加入 Project Options → Directories/Conditionals → Include/Library Path。
  2. 卸載組件殘留 DEFAULT.bpr 中 SPARELIBS 段,手動刪除。
  3. Delphi 組件源碼中 {$IFDEF} 版本判斷導致誤編譯,手動清理條件編譯指令。
  4. 未安裝 OWL/MFC 支持庫,需完全/自定義安裝勾選。

5. 動態創建窗體節省內存

Project Options → Forms 將非主窗體移至 Available Forms。
調用時:TForm1* f = new TForm1(this); f->ShowModal(); delete f;
避免啟動時佔用內存。

6. Enter 鍵控制焦點切換

Form KeyPreview = true。
OnKeyPress: if (Key == VK_RETURN) { SendMessage(Handle, WM_NEXTDLGCTL, 0, 0); Key = 0; }

7. TStringGrid 單元格多彩文本

自定義結構體數組 CellStru { AnsiString msg; TColor color; } cells[Col][Row];
OnDrawCell: Canvas->Font->Color = cells[Col][Row].color; Canvas->TextOut(Rect.Left+3, Rect.Top+3, cells[Col][Row].msg);

8. 專業啟動畫面實現

WinMain 中:
1. FindWindow 防止重複運行。
2. 創建 TSplashForm(bsNone, fsStayOnTop, poScreenCenter)。
3. Show(); Update(); 繪製。
4. Application->Initialize(); CreateForm(...); 初始化主程序。
5. splash->Close(); delete splash; 釋放。
6. Application->Run();

9. DBF 記錄永久刪除

參考文章 7212:DbiPackTable + 獨佔模式。

最糟情況

編譯器核心文件誤刪 → 只能從安裝光盤拷回或重裝 IDE。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved