實現動態選單的技巧

2021-04-09 10:53:39 字數 1307 閱讀 8169

我的小軟體想實現這樣乙個功能

登陸前,我希望只有

帳戶  幫助 這兩個選單項,帳戶選單有註冊和登陸兩個彈出選單 ,登陸以後,其他選單才全部出來。

但是這樣生成的選單並沒有命令處理機制,解決的辦法是過載oncmdmsg函式

然後根據選單id用switch方式選擇執行函式。

總是感覺這種方法很別拗。

當然可以一開始就在資源編輯框內把選單做好,登陸以前把它們的屬性賦成灰色的

這樣實現起來很簡單,但是我更傾向於登陸以後選單才出現這樣的方法。

解決的辦法是在資源編輯器中做好所有的選單,然後用wizzard把選單項和命令函式聯絡起來,就和一般的選單沒有區別。

過載oncreate()函式,把不需要的選單刪去

我的**:

intcmainframe::oncreate(lpcreatestruct lpcreatestruct)

...if(!

m_wndstatusbar.create(

this

) ||

!m_wndstatusbar.setindicators(indicators,

sizeof

(indicators)

/sizeof

(uint)))

...//

todo: delete these three lines if you don't want the ******* to

//be dockable

m_wnd*******.enabledocking(cbrs_align_any);

enabledocking(cbrs_align_any);

dockcontrolbar(

&m_wnd*******);

cmenu 

*pmenu 

=getmenu();

pmenu

->

deletemenu(

1, mf_byposition);

pmenu

->

deletemenu(

1, mf_byposition);

return0;

}

這樣程式執行的時候

就只有帳戶  幫助  2個選單項

void

...else

...}

else

...}

else

...}

在登陸對話方塊處理函式中,登陸成功以後,再把相應的選單加上去

這樣子,選單的處理函式還是完好的

這種方法比網上大多數介紹的動態選單的方法要直觀,也更加方便

Delphi的動態選單實現

這裡所謂的動態選單是指選單項是變化的,它隨程式的操作變化而變化。例如在很多應用程式的 檔案 選單下列出了最近多少次曾經使用過的檔名,這是最常見的動態選單用法,microsoft word 的 檔案 選單就是一例。動態選單的使用為操作應用程式提供了極大的方便。用 delphi 編寫應用程式我們也可以實...

動態實現樹形選單

樹形選單在開發軟體和 中經常用到,但是會遇到乙個問題,在 中當你點開的時候,由於頁面重新整理了,又合起來來了,這種問題是用iframe不會出現,但是在 中很少會用到框架,最近就碰到了這樣的問題,在網上找了很多js寫的樹形選單,我需要分四級,但是都沒找到合適的,亂七八糟的 都有,很頭疼,沒辦法,自己就...

動態選單 動態建立選單

動態建立選單 windows應用程式的介面,不僅僅是乙個簡單的窗體,每個窗體中都包含具體實現功 能的控制項,包括能夠顯示基本資訊的label控制項,能夠在其中輸入內容的文字框控制項,能 夠設定選項的選擇按鈕控制項等。net提供了很多使用簡單 功能強大的控制項,幫助程式設 計者快速有效地開發應用軟體。...