2008-09-06 16 views
2

我正在構建一個自定義的win32控件/控件,並且希望將鼠標懸停在控件中的特定垂直線上時將其更改爲水平「分隔符」符號。 IE:我想拖動這條垂直線(分隔條)左右(WEST和EAST)。拖動分離器的鼠標光標的Win32資源在哪裏?

在系統遊標(OCR_ *)中,唯一有意義的遊標是OCR_SIZEWE。不幸的是,這是系統在調整窗口大小時使用的大而笨拙的光標。相反,我正在尋找大約20像素高,大約3或4像素寬的光標,其中兩個小箭頭指向左側和右側。

我可以很容易地繪製它並將其作爲資源包含在我的應用程序中,但光標本身非常流行,所以我想確保它不會丟失某些東西。例如:當您使用COM拖放機制(CLSID_DragDropHelper,IDropTarget等)時,您可以隱式訪問「拖動」圖標(指針下的小框)。我沒有看到這個傢伙明確的OCR_ *常數...所以同樣,如果我無法直接找到這個分離器光標,我想知道它是否是COM對象或win32庫中的其他東西的一部分。

回答

4

在Windows UI中有各種圖標,光標和圖像,這些圖標,第三方軟件不公開提供。當然,你仍然可以加載它們駐留並使用它們的模塊,但是不能保證你的程序在系統更新/升級後仍能繼續工作。

包括你自己的。你想要的最後一件事是在一個小小的光標上添加一個額外的依賴項。

0

我有這個確切的問題。當我回頭一看,在一些舊代碼的垂直分割的思維我有一個簡單的答案,事實證明,我有建立和加載自己的資源:

 
SetCursor(LoadCursor(ghInstance, "IDC_SPLITVERT")); 

我依稀記得投入相當長的時間和精力投入到找系統的做法,所以(我的猜測)是沒有一個系統ICON隨時可以完成這項工作,所以你最好是自己動手。

這是我想要錯的時候,因爲我喜歡那裏有一個系統圖標來完成這項工作。