2
我想在ListView處於圖標模式時在ListView項目周圍畫一個矩形,所以我開始閱讀關於所有者繪製的內容,我認爲它會解決我的問題。業主是否只在ListView的報告模式下繪製工作?
但是,我也讀過所有者只能在報告模式下工作!在Windows的新版本(Windows XP和更高版本)下,情況仍然如此嗎?
如果仍然如此,那麼是否有另一種方法來繪製一個ListView項目的矩形?
我想在ListView處於圖標模式時在ListView項目周圍畫一個矩形,所以我開始閱讀關於所有者繪製的內容,我認爲它會解決我的問題。業主是否只在ListView的報告模式下繪製工作?
但是,我也讀過所有者只能在報告模式下工作!在Windows的新版本(Windows XP和更高版本)下,情況仍然如此嗎?
如果仍然如此,那麼是否有另一種方法來繪製一個ListView項目的矩形?
是的,LVS_OWNERDRAWFIXED
風格只對LVS_REPORT
的情況有意義。但還有另一種方法 - 你可以處理NM_CUSTOMDRAW
通知,listview發送給你。這些發送給所有控制模式,根據你想要做什麼,你可以處理CDDS_ITEMPOSTPAINT
通知,使用dwItemSpec
字段作爲項目索引,從你的WM_NOTIFY處理程序發送LVM_GETITEMRECT,並根據你的需要做任何事情。