在滑鼠進入Panel的時候,將滑鼠指標的圖片替換成自己的圖片。
實作代碼如下:
Screen.Cursors[101]:=LoadCursorFromFile(pChar(v_str+'1.cur'));
Panel1.Cursor := 101;
功能已經實作,但是更換后的指標圖片跟滑鼠原來的箭頭圖片,坐標位置會有偏差。
更換后的指標圖片會比原來的箭頭圖片要往上,10個像素,很難受。
有沒有碰到這個問題的大神,求解救思路...
我自己試過修改圖片像素,圖案的方式,都不能解救...
uj5u.com熱心網友回復:
varhcursor:Hicon;
begin
hcursor:=loadcursorfromFile(PChar('C:\WINDOWS\CURSORS\pen_1.cur'));
SetSystemCursor(hcursor,OCR_NORMAl);
end;
先用系統自帶的CUR檔案試試,如果有偏移,那再問
或者試試SetSystemCursor
我純粹消滅零回復而已
uj5u.com熱心網友回復:
var
CurPos: TPoint;
ADC: HDC;
ARect: TRect;
begin
GetCursorPos(CurPos);
ADC := GetWindowDC(Self.Handle);
try
ARect := Rect(CurPos.x - Self.Left, CurPos.y - Self.Top, CurPos.x - Self.Left + 32, CurPos.y - Self.Top + 32);
InValidateRect(Self.Handle, @ARect, true);
DrawIconEx(ADC, ARect.Left, ARect.Top, FIcon, 32, 32, 0, 0, DI_NORMAL);
finally
ReleaseDC(Self.Handle, ADC);
end;
end;
uj5u.com熱心網友回復:
圖片源的問題,換一個試試uj5u.com熱心網友回復:
ArtCursors軟體可以設定游標的Hot Spot,就是游標相對于滑鼠所在的(X,Y)點的位置。uj5u.com熱心網友回復:
這個是有原因的,因為滑鼠的資源檔案 ,左上角并不是原點,你直接繪制滑鼠,自然會出現偏差。在滑鼠資源中,是有xHotspot和yHotspot的,
lpIcon : TIconInfo GetIconInfo(lpCur.hCursor, lpIcon);
DrawIcon或者DrawIconEx繪制的時候要除去這個偏差量。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/49268.html
上一篇:yuv轉264失敗
下一篇:TBiTMAP SCANLINE
