View Full Version : تشخیص حرکت Trackbar توسط کاربر
mohamadmjk
یک شنبه 10 دی 1385, 13:15 عصر
من توی برنامم یک trackbar دارم که توسط کاربر یا توسط خود برنامه موقعیتش تغییر می کنه حالا می خوام وقتی که کاربر اون رو تغییر داد یه کد خاصی اجرا بشه . با رویداد on change نمیشه چونکه اگه برنامه اون رو تغییر بده هم این رویداد اجرا می شه .
مرسی...
MNosouhi
یک شنبه 10 دی 1385, 14:26 عصر
اگر این رو برای مدیالیر میخای:
از OnMouseUp مربوط بخه TrackBarاستفاده کن.
در این رویداد مقدار Vaue مربوط به TrackBar رو به خاصیت POsition از MediaPlayer نسبت بده.
البته قبلش باید خاصست Max از Trackbar رو با خاصیت Length عنصر مدیاپلیر پر کرده باشی.
Hamid_PaK
یک شنبه 10 دی 1385, 22:18 عصر
در پی صحبتهای دوستنمون ...
باید در هنگام onMouseDown تعییرات Position رو کاربر تعریف کند و هنگامی که onMouseUp فراخوانی شد برنامه کنترل رو بدست گیرد .
با تعریف یک Boolean و تعریف آن در onMouseDown و onMouseUp می توانید این عمل را بسادگی انجام دهید .
یا حق ...
mohamadmjk
سه شنبه 12 دی 1385, 22:30 عصر
آخه track bar این رویداد رو نداره یعنی هیچ رویداد مربوط به موس رو نداره
MNosouhi
چهارشنبه 13 دی 1385, 09:15 صبح
آخه track bar این رویداد رو نداره یعنی هیچ رویداد مربوط به موس رو نداره
شما درست میفرمایید ، Trakbar دلفی این رویدادها رو نداره ، اما می تونی از trakbar مربوط به lmd یا rx استفاده کنی ، هر دوشون رویدادهای مورد نظر رو دارن.
shaghayegh_6113
سه شنبه 10 بهمن 1385, 11:59 صبح
شما درست میفرمایید ، Trakbar دلفی این رویدادها رو نداره ، اما می تونی از trakbar مربوط به lmd یا rx استفاده کنی ، هر دوشون رویدادهای مورد نظر رو دارن.
میشه در مورد این Track bar مربوط به imd یا rx بیشتر توضیح بدید .
Hamid_PaK
چهارشنبه 11 بهمن 1385, 16:44 عصر
این کد رو قبلاها که از این برنامه های پلایر می ساختم نوشته بودم ...
unit TrackbarEx;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls;
type
TTrackbarEx = class(TTrackBar)
private
{ Private-Deklarationen }
protected
{ Protected-Deklarationen }
public
{ Public-Deklarationen }
published
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
{ Published-Deklarationen }
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('PaK', [TTrackbarEx]);
end;
end.
توی یک یونیت ذخیره و کامپوننت رو نصب کنید.
موفق باشید ، یا حق ...
shahami
چهارشنبه 11 بهمن 1385, 23:38 عصر
یک راه حل ساده تر هم اینه که یک متغیر عمومی تعریف کنیم که هنگام تغییر یا رفرش کردن Trackbar یک مقداری را داشته باشد که در رخداد onchange با آن مقدار تغییری نکند یعنی در رخداد onchange شرط این متغییر را قرار دهیم و در سایر حالتها متغیر مقداری داشته باشد که با تغییر مقدار میله کار مورد نظر را انجام دهد. من چند بار از این روش استفاده کرده ام.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.