procedure TForm2.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
beginImage1.Cursor:=crHandPoint;
end;
procedure TForm2.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
beginImage1.Cursor:=crDefault
end;根据代码应当实现当鼠标在image上按下时,鼠标形状为手型,鼠标抬起后鼠标形状恢复。但测试过程中发现bug1:鼠标左键不起作用(我没有对左右键做过限制啊)!
bug2:鼠标右键按下时鼠标形状不变,但移动一下鼠标,形状改变
bug3:鼠标右键松开时,鼠标形状还是维持手型,移动一下鼠标,鼠标形状还原!
无语!不知道是代码不对还是真的是bug,我用的是d2007,拿到d7下测试问题依旧
救命啊!!!
Shift: TShiftState; X, Y: Integer);
beginImage1.Cursor:=crHandPoint;
end;
procedure TForm2.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
beginImage1.Cursor:=crDefault
end;根据代码应当实现当鼠标在image上按下时,鼠标形状为手型,鼠标抬起后鼠标形状恢复。但测试过程中发现bug1:鼠标左键不起作用(我没有对左右键做过限制啊)!
bug2:鼠标右键按下时鼠标形状不变,但移动一下鼠标,形状改变
bug3:鼠标右键松开时,鼠标形状还是维持手型,移动一下鼠标,鼠标形状还原!
无语!不知道是代码不对还是真的是bug,我用的是d2007,拿到d7下测试问题依旧
救命啊!!!
真要做这种动作,继承控件的WndProc,捕获消息来处理。
procedure TForm1.img1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Screen.Cursor := crHandPoint;
end;procedure TForm1.img1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Screen.Cursor := crDefault;
end;
Shift: TShiftState; X, Y: Integer);
begin
Screen.Cursor := crHandPoint;
end;procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Screen.Cursor := crArrow;
end;
一般处理是在鼠标进入image的时候显示为手行,离开还原为原样,如果是这样的话你可以将iamge的cursor属性设为crHandPoint 不知道这样是不是你想要的呢?
如果更复杂的应用就自己处理消息吧!
Shift: TShiftState; X, Y: Integer);
begin
Screen.Cursor := crHandPoint;
end; procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Screen.Cursor := crArrow;
end;
响应好像都来不及,按照楼主的搞法