VC動態生成選單項的實現方法

2022-09-27 02:33:14 字數 1805 閱讀 6178

本例所述為使用vc編寫的乙個可以動態生成選單項的類檔案,這裡展示的是其核心**,**備有比較詳細的注釋,相對而言理解起來並不複雜。

主要功能**如下:

#include "stdafx.h"

#include "test.h"

#include "testdlg.h"

#ifdef _debug

#define new debug_new

#endif

// 用於應用程式「關於」選單項的 caboutdlg 對www.cppcns.com話框

class caboutdlg : public cdialog

; protected:

virtual void dodataexchange(cdataexchange* pdx); // ddx/ddv 支援

// 實現

protected:

declare_message_map()

};caboutdlg::caboutdlg() : cdialog(caboutdlg::idd)

void caboutdlg::dodataexchange(cdataexchange* pdx)

begin_message_map(caboutdlg, cdialog)

end_message_map()

// ctestdlg 對話方塊

ctestdlg::ctestdlg(cwnd* pparent /*=null*/)

: cdialog(ctestdlg:程式設計客棧:idd, pparent)

void ctestdlg::dodatwww.cppcns.comaexchange(cdataexchange* pdx)

begin_message_map(ctestdlg, cdialog)

on_wm_syscommand()

on_wm_paint()

on_wm_querydragicon()

//}}afx_msg_map

on_bn_clicked(idc_btnaddsystemmenu, onbnclickedbtnaddsystemmenu)

end_message_map()

// ctestdlg 訊息處理程式

bool ctestdlg::oninitdialog()

} // 設定此對話方塊的圖示。當應用程式主視窗不是對話方塊時,框架將自動

// 執行此操作

seticon(m_hicon, true); // 設定大圖示

seticon(m_hicon, false); // 設定小圖示

// todo:在此新增額外的初始化**

return true; // 除非設定了控制項的焦點,否則返回 true

}void ctestdlg::onsyscommand(uint nid, lparam lparam)

else if ((nid & 0xfff0) == idm_aboutbox)

else }

// 如果向對話方塊新增最小化按鈕,則需要下面的**

// 來繪製該圖示。對於使用文件/檢視模型的 mfc 應用程式,

// 這將由框架自動完成。

void ctestdlg::onpaint()

else }

//當使用者拖動最小化視窗時系統呼叫此函式取得游標顯示。

hcursor ctestdlg::onquerydragicon()

void ctestdlg::onbnclickedbtnaddsystemmenu()

本文標題: vc動態生成選單項的實現方法

本文位址:

BREW的選單項

實現幾個選單選項的顯示。brew 的訊息機制 2 case 為evt key 裡面則處理什麼按鍵被按,並進行響應處理。問題 brh bar 都可以生成,但 resource editor 不能生成 res.h。解決 1 檢查 沒錯。2 將brew sdk2.0 換成3.0 仍然如此。3 經過研究,發...

如何動態新增選單 選單項 子選單 右鍵選單

有關選單的操作主要用到 cmenu 類,當然也可用相應 api函式,cmenu 類只是mfc 對api 中操作選單的函式的封裝而已。不過能用類就盡量用類,類的組織方式好唄,看著也舒服。若是sdk 程式設計,那就用 api吧。cmenu menumain,menu1 首先 定義cmenu物件 一 建立...

如何動態新增選單 選單項 子選單 右鍵選單

有關選單的操作主要用到 cmenu 類,當然也可用相應 api函式,cmenu 類只是mfc 對api 中操作選單的函式的封裝而已。不過能用類就盡量用類,類的組織方式好唄,看著也舒服。若是sdk 程式設計,那就用 api吧 cmenu menumain,menu1 首先 定義cmenu物件 一 建立...