相比起在普通的環境中建立一個非模態對話框,在cad中建立還是稍微麻煩一些的。
主要還是焦點問題,在cad中的非模態對話框無法獲取焦點——或者說剛拿到焦點就丟失了。
處理方法:
增加消息處理函數,處理cad平臺的WM_ACAD_KEEPFOCUS消息。
ON_MESSAGE(WM_ACAD_KEEPFOCUS, OnKeepFocus)
//OnKeepFocus函數:直接返回TRUE即可。
LRESULT Class_name::OnKeepFocus(WPARAM,LPARAM)
{
return TRUE;
}
一般來說,直接返回TRUE即可。
也可以改成判定鼠標所在區域是否爲窗口區域來返回對應的值。這樣改動後後,只要鼠標離開窗口區域,窗口就會丟失焦點。