我試圖編寫一個繼承ListView控件的自定義類。到目前爲止,我已經添加了一個OnDrawItem,OnDrawSubItem和OnDrawColumnHeader事件,它允許我繞過標準的Windows繪圖來做一些自定義的事情。如何在空列表視圖控件上繪製自定義消息
我的控件幾乎是我試圖實現的100%,但是,它的最後一部分是將自定義消息添加到空的ListView控件 - 這是我努力的一點。儘可能多地讀取它,聽起來像我需要添加一個過程來捕獲NM_CUSTOMDRAW事件並自己做一些繪畫(我可能是錯的)。基本上,只要我嘗試繪製背景,就會關閉列表項的所有繪畫。
由於我對此不是很熟悉,有人能夠提供一個小例子或提供一些信息的鏈接,這些信息可以幫助我解決這個問題。
我添加了一個「受保護的覆蓋子的WndProc(爲ByRef米作爲System.Windows.Forms.Message)」呼叫捕捉WM_NOTIFY消息,但我不知道如果我在正確的方向我要去。
我希望只是在背景(空時)上打印自定義消息而不影響控件的其他繪圖。
這可能嗎? 任何幫助將不勝感激。謝謝
你不是朝着正確的方向前進。一個簡單的解決方案是將標籤放在列表視圖的頂部,如果列表視圖爲空,則將其可見屬性設置爲True。 –
還有一個'OnPaintBackground'(和'OnPaint'),你可以在那裏做你想做的事。 'NM_CUSTOMDRAW'不是一個事件,也不是一個消息,而是一個指向NMLVCUSTOMDRAW結構的lParam部分。 – Plutonix
感謝Plutonix。你介意再詳述一下嗎? – Riples