在閱讀Shadow for custom mouse cursor問題的答案後,我做了一些測試。自定義鼠標光標的陰影(2)
從我的Delphi應用程序,我加載了我的光標的32位和24位版本。從未有過陰影。我用標準的Windows箭頭指針做了同樣的事情。沒有影子。
此外,我嘗試了相反的做法,並將我的自定義光標分配給Windows鼠標設置中的「正常選擇」指針。 24位和32位指針都受到了影響。
所以,它出現在遊標中的alpha通道不會影響陰影行爲。但是我的應用程序中做了什麼錯誤?
第一步是通過一個rc文件與
CUR_EDGE_R Cursor DISCARDABLE "edge_r.cur"
將光標移動到應用程序的資源和應用程序被加載:
const
crEdgeR = TCursor(135);
.
.
Screen.Cursors[crEdgeR] := LoadCursor(HInstance, 'CUR_EDGE_R');
那麼,什麼是必經之路讓Windows爲自定義光標添加陰影?
注意:我看到互聯網上的帖子建議創建兩個版本的鼠標光標,一個帶有一個沒有陰影的光標,並根據用戶的設置加載合適的光標。這是而不是我正在尋找的解決方案。
您使用的是什麼版本的Delphi? – Pol 2011-04-08 09:22:17
關於您提到的問題的答案,我應該注意到我發現[following](http://support.microsoft.com/kb/307213)非常令人困惑:*「注意:系統設置爲陰影如果光標有一個alpha通道(32 BPP)「*,則鼠標指針被忽略。 – 2011-04-08 09:53:18
@Pol:Delphi 7和Delphi 2009.我正在Windows 7上開發,但應用程序也應該在XP上工作。 @Sertac Akyuz:是的。但它沒有說明它是如何被忽略的。 (可能是全部。) – 2011-04-08 14:27:04