PDA

View Full Version : حرکت اسکرول بار دی بی گیرید



unique1984
یک شنبه 03 اردیبهشت 1385, 17:41 عصر
سلام
من می خوام با حرکت دادن کلید وسط ماوسم یا همون اسکرولش ، اسکرول دی بی گیرید هم بالا و پایین بره.
ممنون می شم اگه جواب بدین.

saniak_robot
یک شنبه 03 اردیبهشت 1385, 19:17 عصر
اگه activecontrol رو dbgrid باشه خوب حرکت می کنه. :متفکر:

babak869
یک شنبه 03 اردیبهشت 1385, 20:38 عصر
نه منظور ایشون اینه که با اسکرول موس از بالا به پایین دی بی گرید حرکت کنند.شما با کد نویسی در رویداد OnDrawColumnCell میتونید این خاصیت رو به دی بی گرید اضافه کنید.من کدش رو تا فردا اینجا میزارم.در ضمن کامپوننت هایی مثل Suipack , BusinessSkinForm , VclSkin این خاصیت رو پشتیبانی میکنند
موفق باشید

vcldeveloper
دوشنبه 04 اردیبهشت 1385, 00:10 صبح
یک شی ApplicationEvent روی فرم بزارید و برای رویداد OnMessage اون کد زیر را بنویسید:


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;

unique1984
دوشنبه 04 اردیبهشت 1385, 20:00 عصر
مرسی جناب کشاورز مشکلم حل شد . اما مایلم در مورد این کدا و کلا applicationevent بیشتر بدونم . چون تا به حال ازش استفاده نکردم. بازم ممنون.

vcldeveloper
سه شنبه 05 اردیبهشت 1385, 07:49 صبح
ApplicationEvent بهتون اجازه میده بصورت ساده کلیه Message هایی که به برنامه تون اراسل میشه را کنترل کنید.

zman123456
چهارشنبه 19 مهر 1385, 15:56 عصر
سلام
از کدتون متشکرم.خیلی دنبالش بودم.ولی مشکل من اینجاست مکه اگه دو تا dbgrid داشته باشیم هر دو تا رو با هم اسکرول میده در حالی که من نمی خوام.
اگه میشه راهنماییم کنید.

Mahmood_M
چهارشنبه 19 مهر 1385, 16:22 عصر
سلام

سلام
از کدتون متشکرم.خیلی دنبالش بودم.ولی مشکل من اینجاست مکه اگه دو تا dbgrid داشته باشیم هر دو تا رو با هم اسکرول میده در حالی که من نمی خوام.
اگه میشه راهنماییم کنید.
این کد رو به کدهایی که آقای کشاورز نوشتند اضافه کنید ( قبل از Handled:= False ) :
Msg.hwnd:= DBGrid1.Handle;
موفق باشید ...

zman123456
پنج شنبه 20 مهر 1385, 08:34 صبح
سلام

این کد رو به کدهایی که آقای کشاورز نوشتند اضافه کنید ( قبل از Handled:= False ) :
Msg.hwnd:= DBGrid1.Handle;
موفق باشید ...
سلام
مرسی از کدتون.ولی مشکل من اینجا بود که دو تا dbgrid من از یک DataSource رکورداشونو می خوندن.با کد شما مشکل حل نشد ولی جالب بود.