坐等大牛解释:Chart无法获得焦点么?

hongss 2013-04-02 08:52:02
Chart上的 OnMouseWheel事件怎么无法触发?

OnMouseMove事件是可以正常工作的啊?

就一个很简单的代码
begin
if WheelDelta>0 then Panel1.Color:= clLime
else Panel1.Color:= clRed;
end;


还有,无论放在哪个事件里,下边这段代码也没任何反应~~
  if Chart.Focused then Panel1.Color:= clPurple
else Panel1.Color:= clBtnFace;


求解释~~~
...全文
222 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
simonhehe 2013-04-09
  • 打赏
  • 举报
回复
引用 13 楼 hongss 的回复:
放完假了~~~
:) 在onMouseWheel事件中用ZoomPercent或ZoomRect处理缩放吧
hongss 2013-04-09
  • 打赏
  • 举报
回复
介个…… Chart不能自动获得或者失去焦点,我是想知道怎么能实现鼠标在上边的时候,得到焦点;离开的时候失去焦点……
hongss 2013-04-07
  • 打赏
  • 举报
回复
放完假了~~~
hongss 2013-04-03
  • 打赏
  • 举报
回复
大牛呢~~~
hongss 2013-04-02
  • 打赏
  • 举报
回复
还有就是这样另外赋焦点以后,鼠标滚轮动作的时候,Y轴也跟着跑了……
hongss 2013-04-02
  • 打赏
  • 举报
回复
在哪赋?我是想让鼠标移动到Chart上就直接获得焦点的。就像OnMouseMove一样的
simonhehe 2013-04-02
  • 打赏
  • 举报
回复
给Chart赋焦点Chart.SetFocus; 其它照常
hongss 2013-04-02
  • 打赏
  • 举报
回复
我知道Chart支持拖拽缩放,可是客户要求鼠标滚轮,么办法啊~~

这样SetFocus后,鼠标离开Chart不能失去焦点了
simonhehe 2013-04-02
  • 打赏
  • 举报
回复
引用 9 楼 hongss 的回复:
TO simonhehe: 你这个edit1.Text := 'zzz';能执行么?我的怎么执行不了? 还有就是这样SetFocus后,鼠标离开Chart不能失去焦点了啊~~ 其实我要的是:同一个页面上有上下两个Chart,鼠标在ChartUp上的时候,滚轮滚动,可以缩放Chart,X、Y轴不同比例。 鼠标在ChartDown上的时候,滚轮滚动,可以缩……
你这个edit1.Text := 'zzz';能执行么?我的怎么执行不了? -------------------------------------------------------- Chart1Exit是在Chart失去焦点时触发. 其实我要的是:同一个页面上有上下两个Chart,鼠标在ChartUp上的时候,滚轮滚动,可以缩放Chart,X、Y轴不同比例。 鼠标在ChartDown上的时候,滚轮滚动,可以缩放Chart,但是只能Y方向缩放。 ----------------------------------------------------------------------- Chart能接收到鼠标滚轮信息, 你原意怎么折腾就是你的事了 :) Chart支持拖拽缩放, 你利用一下就可以了
hongss 2013-04-02
  • 打赏
  • 举报
回复
TO simonhehe:

你这个edit1.Text := 'zzz';能执行么?我的怎么执行不了?

还有就是这样SetFocus后,鼠标离开Chart不能失去焦点了啊~~

其实我要的是:同一个页面上有上下两个Chart,鼠标在ChartUp上的时候,滚轮滚动,可以缩放Chart,X、Y轴不同比例。
鼠标在ChartDown上的时候,滚轮滚动,可以缩放Chart,但是只能Y方向缩放。

simonhehe 2013-04-02
  • 打赏
  • 举报
回复
引用 7 楼 hongss 的回复:
引用 6 楼 simonhehe 的回复:引用 5 楼 hongss 的回复:首先谢谢了~~ 引用 2 楼 hongss 的回复:在哪赋?我是想让鼠标移动到Chart上就直接获得焦点的。就像OnMouseMove一样的 这个怎么弄?现在发现Chart的OnEnter和OnExit事件都不触发…… 使用onMouseEnter事件 Chart有OnMou……
d7没这个事件, 用mousemove
procedure TForm1.Chart1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  if not Chart1.Focused then
    Chart1.SetFocus;
end;

procedure TForm1.Chart1MouseWheel(Sender: TObject; Shift: TShiftState;
  WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
begin
  edit1.Text := inttostr(wheeldelta);
end;

procedure TForm1.Chart1Exit(Sender: TObject);
begin
  edit1.Text := 'zzz';
end;
hongss 2013-04-02
  • 打赏
  • 举报
回复
引用 6 楼 simonhehe 的回复:
引用 5 楼 hongss 的回复:首先谢谢了~~

引用 2 楼 hongss 的回复:在哪赋?我是想让鼠标移动到Chart上就直接获得焦点的。就像OnMouseMove一样的

这个怎么弄?现在发现Chart的OnEnter和OnExit事件都不触发……
使用onMouseEnter事件


Chart有OnMouseEnter事件?

还是我版本不对?XP+D7

Chart的OnEnter事件是触发不了的。。。
simonhehe 2013-04-02
  • 打赏
  • 举报
回复
引用 5 楼 hongss 的回复:
首先谢谢了~~ 引用 2 楼 hongss 的回复:在哪赋?我是想让鼠标移动到Chart上就直接获得焦点的。就像OnMouseMove一样的 这个怎么弄?现在发现Chart的OnEnter和OnExit事件都不触发……
使用onMouseEnter事件
hongss 2013-04-02
  • 打赏
  • 举报
回复
首先谢谢了~~

引用 2 楼 hongss 的回复:
在哪赋?我是想让鼠标移动到Chart上就直接获得焦点的。就像OnMouseMove一样的


这个怎么弄?现在发现Chart的OnEnter和OnExit事件都不触发……

simonhehe 2013-04-02
  • 打赏
  • 举报
回复
引用 3 楼 hongss 的回复:
还有就是这样另外赋焦点以后,鼠标滚轮动作的时候,Y轴也跟着跑了……
onAllowScroll事件中写 AllowScroll := False;

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧