關於今天在公司重寫的Menu

2022-04-05 17:32:59 字數 1138 閱讀 8597

在cdrawmenu類中重寫了兩個函式 drawitem和measureitem。

在measureitem中可以設定的有lpmeasureitemstruct。

typedef struct tagmeasureitemstruct  measureitemstruct;
對於ctltype這個引數,在這個函式裡面不用設定,因為這個是odt_menu

itemid是記錄設定進來重繪的選單項的id號

接下來的寬和高是設定該選單的每個項的寬和高,並不是設定整體選單的寬和高。

最後乙個引數是itemdata這個是存放menu的內容。如果在這裡沒有設定內容。則在drawitem就沒辦法獲取到該menu項的值了。

所以在對這個measureitem進行重寫要當心,一不小心就無法獲取到值。

在drawitem中

1 抄自http://

該樓主在寫這段**的時候也有乙個地方是出錯的就是cfont沒有進行釋放。

cfont font;

font.createpointfont(125,"宋體");//建立字型

dc.selectobject(&font);

在這之後應該要新增:font.deleteobject()來釋放建立的字型。否則在第二次呼叫這個函式的時候程式會崩(這裡不是說該樓主的不是)

在手動進行新增選單的時候要設定mf_ownerdraw否則無法呼叫上述的兩個函式,需要自己手動呼叫modifymenu才能夠進行重繪。

在某個地方建立

cdrawmenu mainmenu;

cdrawmenu submenu;

submenu.createpopupmenu();

mainmenu.createpopupmenu();

mainmenu.trackpopupmenu(tpm_rightallgn, 30, 30, this);

關於今天發生的事

今天忒鬱悶了,下午最後一節課,逃課去打羽毛球了,結果下課前老師點名了,急急忙忙跑到教室,老師都已經點完了,沒辦法,厚著臉皮對老師說,我剛剛睡著了,能不能給我一張紙,估計學長也不好意思說我,就給了我一張,當時心中那個喜啊,交完後,越發感覺不對,趕快打 給同學,同學居然已經幫我交了,心裡真是冰涼冰涼,沒...

關於今天的presentation想到的

今天得到乙個機會再各位大boss前面做presentation,總體來說,presentation還可以,雖然只給了我10 15分鐘的時間,但實際持續的時間比這個要長,因為整個過程問題boss們的問題比較多,有較多的互動和q a。回顧一下 做的好的 1 準備比較充分 因為在presentation之...

關於今天GIT的學習總結

今天從完全不了解git到初步的入門,確實覺得學習新東西還是這種英文的東西覺得很有幹勁,能夠激發出自己的學習能力,從開始的註冊到安裝都是乙個全英文式的過程,發現以前沒學好的英語到現在是那麼的重要,發現自己欠缺的還有很多很多。然後還自主學習了git的分支管理,開篇是這樣說的對於分支人人都懂其意思,但gi...