C++ Builder ListBox 兩個實用技巧
一、加入水平捲軸 發送 LB_SETHORIZONTALEXTENT 設定水平捲動範圍 (像素),超過寬度的項目即可水平捲動。 SendMessage(List
C++ Builder 在 RichEdit 中實現超連結
啟用自動偵測 URL 並攔截 WM_NOTIFY 處理點擊開啟連結 RichEdit 內建 EM_AUTOURLDETECT 可自動識別網址/郵件連結並顯示底線
C++ Builder 打造可拖曳調整大小的 Edit 控制項:WS_SIZEBOX 與 WM_NCLBUTTONDOWN
標準 TEdit 僅支援文字編輯,無法像視窗那樣拖曳移動或拖曳邊框調整大小。透過修改視窗風格加入 WS_SIZEBOX 並攔截滑鼠訊息模擬標題列拖曳,即可賦予
C++ Builder 建立帶核取方塊的 TreeView
啟用 TVS_CHECKBOXES 樣式並處理父子節點聯動勾選 透過 SetWindowLong 加入 TVS_CHECKBOXES 樣式,TreeView 即
C++ Builder 實現 TRichEdit 自動格式化顯示二進位檔案
註冊自訂轉換類別,讓 RichEdit 開啟 EXE/OBJ/BIN 自動顯示十六進位 繼承 TConversion 覆寫 ConvertReadStream,
C++ Builder 修改 VCL 原始碼自訂輸入對話框
解決 InputBox/InputQuery 按鈕為英文、無密碼模式、字體過大的問題 VCL 內建 InputQuery (由 InputBox 呼叫) 固定英
C++ Builder 從 TColor 解析 RGB 亮度並修改視窗背景色
使用 GetRValue/GetGValue/GetBValue 宏提取顏色分量 TColor 內部為 RGB 值,可用 Win32 宏提取各分量 (0-255
C++ Builder 製作漸變色進度條
利用兩張漸變圖片交替移動模擬 Windows 2000 風格進度條 製作一張寬 300、高 20 的左右漸變圖片 (左邊顏色 = 右邊顏色,如橙-黃-橙),放入
Windows 下使用 TrueType 字型顯示漢字
避開 FreeType 專利問題,直接呼叫系統 API 繪製 Unicode 文字 FreeType 庫解讀 TrueType hinting 代碼涉及 App
C++ Builder 從 DBGrid 自動產生並可自訂的報表
動態生成 QuickReport 報表並開放使用者微調版面 針對大量報表需求,利用動態建立元件技術,讀取 TDBGrid 的欄位標題、寬度、字型、對齊等屬性,在
C++ Builder 列印 Memo 文字內容
簡單列印 TRichEdit/TMemo 文字 直接使用 TPrinter 畫布逐行輸出文字,自動計算行高換行。 程式碼 TPrinter *pPrinter
C++ Builder 動態設定自訂列印紙張尺寸
透過 DEVMODE 結構修改印表機紙張大小 範例示範在列印前動態設定使用者自訂紙張尺寸 (單位 0.1 公釐),適用於非標準紙張 (如條碼標籤、傳單)。 程式
C++ Builder 自訂 QuickReport 預覽視窗
建立功能完整的報表預覽視窗 QuickReport 內建預覽功能有限,本文示範自建預覽表單 (Form1) 包含工具列按鈕 (列印、頁面設定、上/下頁、縮放、關
C++ Builder 使用 Enter 鍵切換焦點
讓 Enter 鍵像 Tab 鍵一樣移動焦點 設定表單 KeyPreview = true,在 OnKeyPress 事件中攔截 VK_RETURN 並發送 W
C++ Builder 程式碼最小化與還原應用程式的三種方法
三種最小化/還原應用程式的方式 方法一:發送 WM_SYSCOMMAND 訊息 // 最小化 SendMessage(Application->Handl
C++ Builder 修改通用開啟對話框按鈕標題
在 OnShow 事件中動態修改對話框按鈕文字 通用對話框實為 Windows 系統對話框,可透過 GetParent 取得對話框控制代碼,再用 GetDlgI
跨進程讀取 ListView 控制項內容
利用 VirtualAllocEx/WriteProcessMemory/ReadProcessMemory 跨進程存取 ListView 由於 ListVie
Win32 應用程式進入 Ring 0 的技術探討
從 Ring 3 透過 IDT Hook 進入 Ring 0 Windows 95/98 使用 x86 保護模式 Ring 0 (核心) 與 Ring 3 (應