2011-02-15 98 views
0

嗨 如果有人知道如何在MFC中使用就地警告消息,您可以共享信息。 有沒有辦法使用它,或者有沒有我們可以直接在mfc中使用的任何控件。MFC中的就地消息?

就地警告消息:帶有相應圖標和警告消息的警告消息將顯示在同一個對話框中。

我發現有關就地消息的一些信息在MSDN

InPlace message in msdn glossary

Different messages

請分享信息。

問候

Haranadh

+0

「in-place message」是什麼樣的?你能向我們展示你正在尋找的效果截圖嗎?我假設你不是在談論'AfxMessageBox`函數。 – 2011-02-15 08:11:00

+0

你可以參考上面鏈接提供的鏈接 - >不同的消息。在那個鏈接中你可以引用許多消息框。除此之外,請參閱標題爲「連接到網絡投影儀」的對話框。它有一個警告消息 - >「使用不安全的網絡...」,該消息是就地消息。 – Haranadh 2011-02-15 13:49:57

回答

4

從您的評論,似乎你指的是這是一個就地消息:

     

諷刺的是,當然,在您鏈接到的MSDN頁面上標記爲不正確的示例。我們特別建議您提供更具體的建議,例如使用密碼保護投影機的安全,以避免意外觀看者看到演示文稿。把它放在一邊,但...

這在MFC中很容易實現。它只需要兩個STATIC controls,左邊一個顯示一個圖標(在這個例子中是一個警告三角形),而另一個顯示靜態文本(警告消息本身)。如果您使用對話框編輯器創建窗口,只需將兩個控件拖動到對話框窗口並相應地進行排列即可。沒有一個控件可以封裝這個功能,但是如果考慮到使用兩個單獨的靜態控件來完成這個功能已經非常簡單,那麼期望它會很愚蠢。

要加載內置圖標(如上面顯示的警告三角形),可以使用LoadStandardIcon function並指定IDI_WARNING作爲圖標名稱。完整的值列表可用here。顯然你可以加載你選擇的任何圖標;只需將其添加到您的項目資源。

由於您大概只希望在適用時顯示警告消息,您需要根據用戶在對話框中採取的操作以編程方式隱藏和顯示兩個控件。成員函數的標準ShowWindow使這是一項簡單的任務。在兩個靜態控件上調用它,如果希望警告消息可見,則傳遞SW_SHOW作爲其參數。否則,您可以指定SW_HIDE來隱藏控件。

0

作爲您嘗試做的替代方案;你可以把你的消息放在一個對話框中:

int nResult = AfxMessageBox("Save changes to Current Job?", MB_YESNO); 

    if (nResult == IDYES) 
    { 
     OnFileSave(); 
    }