WTL學習之視窗介面更新

2021-06-07 01:10:21 字數 1301 閱讀 9692

視窗介面更新是指設定視窗的介面元素如選單之類的狀態,如是否可用或者選中之類的。今天先介紹選單狀態如何設定。要更新乙個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 一般由編譯器提供保證 同乙個檔案不會被包含多次。注意這裡所說的 同乙個檔案 是指物理上的乙個...