View Full Version : فعال سازی Scroll موس در Grid یا DBGrid
ByRoad
چهارشنبه 21 اسفند 1387, 01:59 صبح
سلام دوستان
برای راحتی کار در بالا و پایین رفتن در Grid کد مربوطه رو کسی بلده؟
SYNDROME
چهارشنبه 21 اسفند 1387, 06:26 صبح
سلام دوستان
برای راحتی کار در بالا و پایین رفتن در Grid کد مربوطه رو کسی بلده؟
در حال حاضر هم Scroll بر روی DBGrid فعال است.
موفق باشید
FirstLine
چهارشنبه 21 اسفند 1387, 18:11 عصر
با سلام
ابتدا یک ApplicationEvents قرار بده.
procedure Application1.OnMessage
(var Msg: TMsg; var Handled: Boolean) ;
var
i: SmallInt;
begin
if Msg.message = WM_MOUSEWHEEL then
begin
Msg.message := WM_KEYDOWN;
Msg.lParam := 0;
i := HiWord(Msg.wParam) ;
if i > 0 then
Msg.wParam := VK_UP
else
Msg.wParam := VK_DOWN;
Handled := False;
end;
end;
با تشکر
FiACKER
سه شنبه 27 اسفند 1387, 12:35 عصر
با سلام
ابتدا یک ApplicationEvents قرار بده.
procedure Application1.OnMessage
(var Msg: TMsg; var Handled: Boolean) ;
var
i: SmallInt;
begin
if Msg.message = WM_MOUSEWHEEL then
begin
Msg.message := WM_KEYDOWN;
Msg.lParam := 0;
i := HiWord(Msg.wParam) ;
if i > 0 then
Msg.wParam := VK_UP
else
Msg.wParam := VK_DOWN;
Handled := False;
end;
end;
با تشکر
سلام
دوسته عزیز می شه در مورد ApplicationEvents که گفتین یکمی توضیح بدین ؟
این کدو باید کجا بنویسیم؟
AliReza Vafakhah
سه شنبه 27 اسفند 1387, 13:24 عصر
سلام
دوسته عزیز می شه در مورد ApplicationEvents که گفتین یکمی توضیح بدین ؟
این کدو باید کجا بنویسیم؟
از قسمت Additional شی ApplicationEvents و سپس رویداد OnMessage
FiACKER
چهارشنبه 28 اسفند 1387, 07:54 صبح
سلام
شی ApplicationEvents رو رویه فرم گذاشتم بعد به جای Msg.wParam := VK_UP از کپشن فرم استفاده کردم که با تکون دادن چرخ ماوس بالا و پایینش مشخص می شد.
حالا چطور باید به کنترله خاصی اختصاصش داد ؟
ایا باید از طریق رویدادهای گرید طوری کد بنویسیم که وقتی کاربر بر روی گرید مورده نظرمون رفت ، بعد شی ApplicationEvents1 اجرا بشه !؟
ممنون
Ahmad Chehreghani
چهارشنبه 28 اسفند 1387, 19:48 عصر
شيع ApplicationEvents همونطور که از اسمش پيداست مربوط به مديريت Application شماست و اجرا شدني نيست.
مثلا رويداد onException مربوط به ApplicationEvents براي اين هستش که بتونيد خطاهاي نرم افزار را مديريت کنيد و ...
شما بايد ApplicationEvents را روي فرم قرار بديد و بعد در رويداد OnMessage کدي که گفته شده را قرار دهيد.
وقتي که موس شما در هر کجاي نرم افزار مورد استفاده قرار بگيره يک پيغام (Message) به برنامه شما داده ميشه که شما در همون رويداد OnMessage چک مي شه و اگر قلتک موس بود مکان نما در گريد شما به پايين يا بالا حرکت مي کنه.
فکر نمي کنم الزامي باشه که بدونيد گريد شما فعال هست يا نه، اگر مي خواهيد که فقط وقتي کاربر روي گريد هستش اجرا بشه بايد با ActiveControl چک کنيد ببينيد که گريد فعاله يا نه.
موفق باشيد
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.