列表項是否是窗口並不確定。CListBox和CListCtrl的子項不是窗口,GridCtrl是窗口。
從內部邏輯來說,首先必須存儲類似指針鏈表的東西作為內容存儲。之後,繪圖邏輯和鼠標點擊邏輯嘗試使用相同的計算方法,這樣就可以通過控件的相對坐標和滾動位置計算出所選項的索引。
判斷壹個控件的某項是否為窗口有壹個簡單的方法,就是通過VC提供的工具SPY++獲取實際窗口上的句柄。如果每個列表項都有壹個類似窗口的句柄,那麽它就是壹個窗口,否則就不是。