使用Virtual Studio MFC 一步一步創建AutoCAD自定義對話框。
本教程基於已經創建了 ObjectARX 項目的基礎上進行的。
若不會創建,可參照本教程的前述系列(創建自定義實體系列)。
方法/步驟
右鍵點擊項目選擇添加類則出現如下對話框
選擇 MFC support class
輸入文件 ColRecDlg 後點擊添加。
Class Name 輸入你想保存的類名(此處是ColRecDlg);
Base Class 選擇基類 CAcUiDialog ;
點擊完成生成了對話框類。
到類資源項中 雙擊上一步創建的對話框ID(此處是 ID_COLRECDLG)
在對話框編輯器中選擇 button 按鈕。
在 button1 上右鍵選擇屬性。
可以更改 caption 和 ID
caption 為按鈕上的文字。
ID 為該 button 的標識。
設置之後切回到 ColRecDlgd 的 cpp 與 h 文件
就會出現如下的代碼。
在 void nDosColRecDlg::OnBnClicked_UpdataColumnData()
函數定義中輸入 MessageBox(_T("ok")) ;
下面為 ColRecDlg 添加 InitDialog 消息響應。
打開類視圖在 ColRecDlg 類上右鍵選擇屬性。出現 ColRecDlg 類屬性對話框。
重寫 InitDialog 消息響應。
下圖中因為我已經選擇了重寫,故再次打開不第一次創建不同。
InitDialog 是在對話框被加載的時候,要執行的操作,比如子程序等。
添加了之後應出現如下代碼
在 OnInitDialog 中添加如下代碼
acutPrintf(_T("\n 對話框初始化 OK: %d") ,001) ;
添加 sd 命令, 用來顯示對話框。
在 sd 命令下添加如下代碼:
CAcModuleResourceOverride resOverride;
//顯示ObjectARX的模態對話框
ColRecDlg theDialog; (ColRecDlg 為創建的對話框類名)
theDialog.DoModal();
在 acrxEntryPoint.cpp 中加入包含文件 #include "ColRecDlg.h"
編譯生成,加載之後輸入 sd 命令即可出現創建的對話框。
點擊更新按鈕,出現消息框“ok”
至此這個簡單的對話框程序就創建完成了,後面的步驟為廢棄的。
(由於本對話框是模態對話框,故初始化對話框的消息,在退出對話框才顯示)
Autodesk 類瀏覽工具,點擊刷新按鈕即可顯示上一步創建的對話框類。
在該類上單擊右鍵,選擇添加變量;
選擇私有類型 private;
變量類型輸入 CAcUiPickButton;
變量名輸入 ColCheck;
點擊完成即可生成如下圖所示代碼。
為 ColRecDlg 添加 InitDialog 消息響應。
打開類視圖在 ColRecDlg 類上右鍵選擇屬性。出現 ColRecDlg 類屬性對話框。
在該屬性對話框中點擊 “重寫”選項如下圖所示。
重寫 InitDialog 消息響應。
下圖中因為我已經選擇了重寫,故再次打開不第一次創建不同。
創建成功後應顯示如下代碼。
用同樣的方法重寫 OnCancel消息響應。
這兩個消息相應必須要創建的。