視窗介面更新是指設定視窗的介面元素如選單之類的狀態,如是否可用或者選中之類的。今天先介紹選單狀態如何設定。要更新乙個wtl視窗的介面,需要完成以下步驟:
視窗類需要繼承自
cupdateui模板類和cidlehandler類,具體如下:
class cmywindow : public cframewindowimpl,public cupdateui, public cidlehandler
2. cidlehandler負責把框架視窗新增到模組的空閒處理列表中 ,cupdateui負責提供具體的介面更新函式。具體步驟是:
是過載cidlehandler類的onidle函式:
virtual bool onidle()
b.在begin_msg_map
巨集新增一行:chain_msg_map
(cupdateui
<
cmywindow
>),具體如下:
begin_msg_map(cmywindow)
chain_msg_map(cupdateui)
end_msg_map()
c.新增介面更新訊息處理巨集:
begin_update_ui_map(cmywindow)
update_element(idm_exit, updui_menupopup) // idm_exit為退出選單項
update_element(idm_about, updui_menupopup)// idm_about為關於選單項
end_update_ui_map()
其中updui_menupopup
為乙個列舉值,這裡意思是更新彈出式選單。它可以是多個值的組合,如updui_menupopup| updui_menubar。d.
然後你可以在任何地方呼叫cupdateui
類的介面來更新選單狀態,如在視窗建立時把退出選單項置灰,把關於選單項選中:
lresult oncreate( lpcreatestruct lpcs )
遇到的問題:
cupdateui
類的uisetradio函式似乎不管用,即使我這樣設定:
update_element
(idm_exit
, updui_menupopup| updui_radio
)。知道的同學告知我一聲。
MFC學習之視窗基礎
winmain函式 1 控制代碼 handle 1.定義 資源的標識 2.控制代碼的作用 作業系統通過控制代碼來找到對應的資源,從而對這些資源進行管理和操作。3控制代碼的分類 按資源 1.圖示控制代碼 hicon 2.游標控制代碼 hcursor 3.視窗控制代碼 hwnd 4.應用程式實列控制代碼...
iframe學習(二)之視窗載入
我們會經常使用iframes來載入第三方的內容 廣告或者外掛程式。使用iframe是因為他可以和主頁面並行載入,不會阻塞主頁面,弊端如下 阻塞主頁面的onload是這兩個問題中最影響效能的方面。一般都是想讓onload時間越早觸發越好,一方面是使用者體驗過更重要的是google給 的載入速度的打分 ...
WTL學習筆記 新建乙個視窗檔案(2)
1建立流程 首先,新建乙個wtlproject的工程 選中標頭檔案資料夾 然後用組合鍵 ctrl shift a 新建乙個mainwindow.h的標頭檔案新增到 標頭檔案 資料夾中。pragma once 一般由編譯器提供保證 同乙個檔案不會被包含多次。注意這裡所說的 同乙個檔案 是指物理上的乙個...