WM DRAWITEM,DrawItem的一些總結

2021-07-03 02:58:40 字數 771 閱讀 5876

1、

當在mfc中要對某個控制項自繪時,就需要重寫drawitem或者ondrawitem函式,要實現重繪:

首先要允許重繪:

1)可以在控制項屬性中設定(網上很多,自己搜吧) 

2)在控制項類中實現,

比如我實現了class cmybutton:public  cbutton自己的按鈕類,然後在cmybutton中重寫presubclasswindow函式

然後新增__super::presubclasswindow();setbuttonstyle(getbuttonstyle()|bs_ownerdraw);

其次要實現重繪:

當然就要過載drawitem了(listbox控制項過載ondrawitem)

需要注意的是:

過載drawitem後不能再有wm_paint或wm_erabkgnd(好像是這樣拼寫的)訊息對映,否則,drawitem函式將不會執行(具體為什麼可以網上搜搜,mfc繪圖的順序就知道了)

2、

當在win32實現控制項自繪時,需要在wndproc中相應wm_drawitem訊息,而相應的這個訊息是在總的訊息迴圈中,當自控件有自己的訊息迴圈時,不管wndproc還是子空間自己的訊息迴圈都不能相應wm_drawitem訊息,因此要響應此訊息,則子控制項預設使用跟窗體一樣的訊息處理函式wndproc

符:設定子控制項自己的訊息迴圈: setwindowlong(hsubwnd,gwl_wndproc,(long)buttonproc);

linux shell script 的一些總結

獲得本機inet ip sbin ifconfig eth0 grep inet addr sed s addr g sed s bcast.g 刪除空白行 cat etc man.config grep man sed s g sed d egrep與grep egrep grep e egrep...

關於Spring Data Rest的一些總結

最近一直在開發一些基於 spring data rest 的專案。在此過程中,隨著開發工作的不斷深入,對 spring data rest 的了解也越來越深。享受著 spring data rest 帶來的便捷,也忍受著它帶來的不便。spring data rest 的目標是提供堅實的基礎,從而使用...

GPT Bert Attention等一些總結

encoder decoder框架 attention transformer elmo gpt bert學習總結 裡面有一些點可以注意 然後為了防止其結果過大,會除以乙個尺度標度 其中為乙個query和key向量的維度。簡單的說是為了讓attention得到的權值更加均勻一點。在數量級較大時,so...