我有一个缩放图像的TCustomControl。当放大控件光标时设置为crZoomIn(+),当缩小控件时,光标设置为crZoomOut( - )。
测试时,控件光标设置正确,但光标不会自行刷新,直到鼠标移出控件然后再返回控件。
如何刷新或更新光标而不必将鼠标移出控件然后再移回控件?
{EDIT]
更改光标的代码是:
procedure TBitmapEditor.ZoomIn;
begin
if Magnification = 1 then
Magnification := 2
else if Magnification < 32 then
Magnification := Magnification + 2;
Cursor := crZoomIn;
Perform( CM_CURSORCHANGED, 0, 0 );
end;
procedure TBitmapEditor.ZoomOut;
begin
if Magnification = 2 then
Magnification := 1
else if Magnification > 1 then
Magnification := Magnification - 2;
Cursor := crZoomOut;
Perform( CM_CURSORCHANGED, 0, 0 );
end;
执行(CM_CURSORCHANGED,0,0);不会更改光标,但光标设置正确我认为因为当我按照描述移动鼠标时光标会正确更改。