改變 DBGrid 顏色:隔行換色與欄位著色 (C++ Builder)
案例一:OnDrawColumnCell 實現隔行換色 在 DBGrid1 的 OnDrawColumnCell 事件中,依據記錄號奇偶決定背景色,並自行繪製文
讓 CppWebBrowser 響應 Enter/Backspace/方向鍵 (解決按鍵不傳遞問題)
問題現象 CppWebBrowser (封裝 WebBrowser ActiveX) 預設不處理 Enter、Backspace、Left/Right 等鍵盤訊
使用 TreeView 瀏覽檔案目錄樹 (C++ Builder)
功能概述 利用 TTreeView + TImageList 實作類似總管的目錄樹:根節點為「我的電腦」,子節點列出所有磁碟機 (A: 起),展開節點時遞迴列出
C++ Builder 設計網頁動態按鈕 (SpeedButton + 資源檔完整流程)
目標效果 滑鼠移入按鈕區域 → 游標變手型、按鈕圖示切換為高亮版本、播放提示音效;滑鼠移出 → 還原。純程式碼實現,無需 Flash/Photoshop 輸出大
修改開啟對話框中「開啟」按鈕標題 (C++ Builder)
需求 在某些情境下 (如「加入檔案」功能),希望將 TOpenDialog 的「開啟」按鈕文字改為自訂文字 (如「加入檔案」)。 原理 TOpenDialog
C++ Builder 製作 HTML 風格動態按鈕 (SpeedButton + 資源檔)
效果描述 滑鼠未經過時顯示灰階圖示;滑鼠進入時切換為彩色亮麗圖示、滑鼠變手型、可選播放音效;滑鼠離開恢復原狀。類似網頁按鈕的 hover 效果。 準備素材
C++ Builder 實作非矩形異形按鈕 (圓形、三角形等)
原理:視窗區域 Windows 95 起支援視窗區域,決定視窗可見/可點擊範圍。按鈕 (TButton) 也是視窗,可用 SetWindowRgn 設定任意形狀
C++ Builder 控制元件隨視窗縮放自動定位與跨解析度適配
問題背景 視覺化拖放開發雖快速,但控制項位置固定,視窗大小或螢幕解析度改變時版面易亂。需動態調整控制項位置/大小以保持相對佈局。 方法一:OnResize 事
在 C++ Builder 專案中混合使用 Delphi 程式碼
核心機制 C++ Builder 專案可直接加入 .pas (Delphi 原始碼) 檔案。編譯器會自動產生對應的 .hpp 標頭檔,讓 C++ 程式碼呼叫 D
C++ Builder 操作 Excel 的兩種方法 (OLE 自動化與變體)
方法一:OLE 自動化 (Variant 介面) C++ Builder 透過 Variant 類別的四大方法間接呼叫 Excel 物件模型: OleProp
使用 ICopyHook 實作資料夾操作監控與攔截
ICopyHook 介面簡介 ICopyHook 允許開發者建立「複製鉤子」處理程序,在 Shell 執行資料夾/印表機物件的移動、複製、重新命名、刪除前進行驗
Rootkit 技術:隱藏進程、檔案/目錄、登錄、連接埠 (核心層攔截)
核心原理 要在系統層級隱藏物件,需攔截核心模式下的關鍵查詢函數: 檔案/目錄枚舉:ZwQueryDirectoryFile 進程列表查詢:ZwQuerySys
C++ Builder 檔案操作完整指南 (C/C++/WinAPI/VCL)
前言 檔案操作是程式開發的基礎。C++ Builder 提供多種層級的檔案操作方式,本文系統整理五大類: 基於 ANSI C 的流式與 I/O 檔案操作 基於
C++ Builder 實作選單顯示最近開啟檔案列表
在 Windows 環境下實作選單中的歷史檔案記錄 現代應用程式普遍具備「最近開啟檔案」功能,讓使用者能快速存取先前使用過的文件。這項技術早已成為擁有檔案選單之
取得檔案版本資訊:GetFileVersionInfo/VerQueryValue 解析版本號、公司名、著作權等
核心流程 `GetFileVersionInfoSize` 取得資源大小。 配置緩衝區、`GetFileVersionInfo` 讀入。 `VerQueryV
TreeView 載入目錄樹結構:遞迴遍歷 FindFirst/FindNext + TTreeNodes AddChild
元件配置 `TTreeView` (名 `TreeView1`) `TEdit` (名 `Edit1`, Text=`C:\`) 指定根目錄。 `TButto
C++Builder 預編譯標頭 (PCH) 加速編譯:原理、設定步驟、VCL 專案最佳實踐
為何 C++ 編譯較慢? C++ 需處理 `#include` 遞迴展開、模板實例化、符號表建立,每個 `.cpp` 獨立編譯時重複解析標頭檔。Delphi 單
純 SDK 實現檔案拖放視窗:DragAcceptFiles + WM_DROPFILES + DragQueryFile 完整範例
核心 API 流程 `DragAcceptFiles(hWnd, TRUE)` 啟用拖放 (在 `WM_CREATE`)。 `WM_DROPFILES`:`w