在工控與監測類應用中,儀表控件是常見的 UI 需求。網路上雖有不少優秀的商業儀表控件(如世紀飛揚的產品),但授權費用對許多開發者而言是門檻。本文分享一款完全免費、開源的 MFC 儀表控件 CMeter,歡迎大家下載使用、交流改進。

Meter.cpp、Meter.h、MemDC.h 加入專案CStatic 類型的成員變數(如 m_myMeter)CStatic m_myMeter; 改為 CMeter m_myMeter;CMeter 提供的介面函式進行初始化,即可使用| 函式 | 說明 |
|---|---|
SetNeedleColor(COLORREF) | 設定指針顏色 |
SetRange(double dMin, double dMax) | 設定儀表量程(最小/最大值) |
SetScaleDecimals(int) | 設定刻度顯示精度(小數位數) |
SetValueDecimals(int) | 設定數值顯示精度 |
SetUnits(CString&) | 設定單位文字(如 "km/h", "°C") |
SetColorTick(BOOL) | 是否啟用彩色刻度 |
SetTicks(int) | 設定主刻度分格數 |
SetSubTicks(int) | 設定每主格的子刻度數 |
SetAngleRange(int nStart, int nEnd) | 設定表盤圓弧起始/結束角度 |
UpdateNeedle(double dValue) | 更新指針數值(即時顯示變化) |
CStatic 繼承,整合簡單,無需複雜的 ActiveX 註冊MemDC 雙緩衝繪圖,閃爍極小,效能優異若您在專案中採用了此控件,作者僅希望在使用處保留署名,算是對開源精神的支持。歡迎大家提出改進建議,共同打造更好用的免費控件庫!