小问题,请各位大侠帮帮忙。TrackBar控件中怎么控制最后鼠标拖拽格?

lchy20cn 2003-08-08 03:22:48
我在OnChange里写 label18.Caption := inttostr(Trackbar.Position);
可以执行。

但写showmessage(inttostr(Trackbar.Position)),这个时候发现了问题,Onchange发生在鼠标没有离开之前就响应了,而不是最后一个更改结果。

我希望是在拖拽完毕,鼠标离开Trackbar的时候触发的事件写自己的代码

我的意思是,不希望在拖拽过程触发的事件写我的代码

我希望能在拖拽完毕之后执行我的代码,我应该在哪个事件函数里写呢?

我又试图在失去焦点的事件里写我的代码。但是还是不行。

因为鼠标键松开了,但是TrackBar控件还是获得焦点的;当我点了别的控件,这个时候TrackBar才失去了焦点,然后才会执行我的SHOWMESSAGE()语句,还是没有达到我要求的效果。
大家说说,这个该怎么做啊?
...全文
239 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
DWGZ 2003-08-21
  • 打赏
  • 举报
回复
算了
分我不要了恐怕会惹上倒分之嫌, 把分分给那些三角裤最少的兄弟吧
lchy20cn 2003-08-21
  • 打赏
  • 举报
回复
这个帖子不知道为什么不能揭贴了



主  题: 20分的帖子回复了8次,揭贴却出现“贴子回复次数大于跟给分次数 ”,什么意思?
作  者: lchy20cn (小猫Pisceslc)
等  级:
信 誉 值: 100
所属论坛: Delphi 非技术区
问题点数: 0
回复次数: 0
发表时间: 2003-08-21 12:20:22



0,0,0,0,0,20,0,0
贴子回复次数大于跟给分次数



lchy20cn 2003-08-21
  • 打赏
  • 举报
回复
哪个是你嘛
DWGZ 2003-08-21
  • 打赏
  • 举报
回复
谢谢, 我发现我已在那上面了不过只有三个三角裤
lchy20cn 2003-08-21
  • 打赏
  • 举报
回复
谢谢大哥,调试已经通过,决定把分数都给你:)

除了这个帖之外,还有另外一个贴,问的是同一个问题,麻烦你去领分好吗?

http://expert.csdn.net/Expert/topic/1955/1955805.xml?temp=.8988459
lchy20cn 2003-08-21
  • 打赏
  • 举报
回复
几天没来,SORRY~~

马上调试。。。
firmamenthy 2003-08-12
  • 打赏
  • 举报
回复
up
DWGZ 2003-08-12
  • 打赏
  • 举报
回复
嘿嘿, 怎么感谢我呢
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, AppEvnts, Commctrl, ComCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
ApplicationEvents1: TApplicationEvents;
TrackBar1: TTrackBar;
ListBox1: TListBox;
Button2: TButton;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
FPrevProc: TWndMethod;
procedure MyTrackMsg(var Message: TMessage);
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
FPrevProc := TrackBar1.WindowProc;
TrackBar1.WindowProc := MyTrackMsg;
end;

procedure TForm1.MyTrackMsg(var Message: TMessage);
begin
if (Message.Msg = WM_LBUTTONUP) then
begin
ListBox1.Items.Add('aa');
//Your Code
end;
FPrevProc(Message);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
TrackBar1.WindowProc := FPrevProc;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
ListBox1.Clear;
end;

end.
lchy20cn 2003-08-11
  • 打赏
  • 举报
回复
CLX Reference
TTrackBar Events

TTrackBar Alphabetically
Legend
==============================

In TTrackBar

OnChange

Derived from TWidgetControl

OnEnter
OnExit
OnKeyDown
OnKeyPress
OnKeyString
OnKeyUp

Derived from TControl

OnContextPopup
OnDragDrop
OnDragOver
OnEndDrag
OnStartDrag
lchy20cn 2003-08-11
  • 打赏
  • 举报
回复
我需要的就是这个效果,但Trackbar没有这个事件。。。。

我该怎么做?
lchy20cn 2003-08-11
  • 打赏
  • 举报
回复
TO cnssk(小柯) :

没有这个事件啊?!
cnssk 2003-08-09
  • 打赏
  • 举报
回复
onmouseup

1,184

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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