NX二次開發-MFC對話方塊自己重繪Button控制元件(提升美觀度)
- 文章討論主題
MFC控制元件的重繪
在做NX二次開發的時候,我們有時會用到MFC對話方塊,去做介面,但是 MFC介面很醜(畢竟是上個世紀90年代的東西了,已經被時代拋棄了),所以導致很多人不願意用。
面對介面醜的問題,我們可以自己重繪介面,重繪控制元件。來解決這個問題。
- 原始的普普通通,醜的button控制元件風格,展示
- 1.自己寫程式碼重繪button控制元件
後面在講
- 2.去codeproject網站上下載開源控制元件類,呼叫別人封裝好的程式碼
登入進來之後,去搜索框裡搜button,因為是國外網站所以搜尋很慢,還有建議用QQ瀏覽器去用,谷歌和火狐瀏覽器好像有的時候顯示有問題,還有 要自己註冊個賬戶 ,為後面下載用。
搜出來的一堆中,樣式有很多,程式碼有VC的 也有 .net的,這裡我們選擇 VC的來下載。
點選去 https://www.codeproject.com/Articles/67/Round-Buttons-2
有關程式碼介紹,和下載的 Demo和原始碼 點下面。
下載下來結果如下
不知道怎麼使用就去看,它的demo例子。
知道怎麼使用,就直接拿src裡面 封裝好的hpp 和 cpp
- 在我們的NX二次開發專案裡,呼叫 開源控制元件
1.在介面上在重新拖一個button控制元件過來
2.為控制元件繫結一個變數
自己把這個按鈕拖大一點
3.把網上下的開源控制元件程式碼hpp 和 cpp加到我們的專案中來
把#include "RoundButton.h" 標頭檔案加上
編譯專案,報錯了,
錯誤問題是atan2函式少標頭檔案,自己把#include <cmath> 標頭檔案加上就好了,編譯通過
4.將CRoundButton類 與 我們的button控制元件就行繫結
去對話方塊的標頭檔案裡面找到m_btn這個變數,然後將它前面的CButton類改成CRoundButton類
CRoundButton也是繼承CButton的,是別人重繪封裝的控制元件。 class CRoundButton : public CButton
換完之後,編譯專案,然後去NX裡面執行。
大功告成
演示
這樣一來,無論用MFC做什麼樣的介面,想要好看美觀,那麼去重繪就可以了。
自己還需要重繪哪些控制元件,就去codeproject找,如果沒有滿足需求的,太個性化的,就自己去寫程式碼重繪。
更多內容
https://www.codeproject.com/Articles/2674/Store-and-show-Tree-struct-in-a-Combobox
阿飛
2022年4月19日