디비그리드 스크롤예제입니다
홍성락님께서 올려 놓으신건데 쭈욱 복사했습니다.
참조하시기 바랍니다.
unit Unit1;
interface
...
private
{ Private declarations }
procedure MOUSEWHEELMessage(var Msg: TMsg; var Handled: Boolean);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnMessage:= MOUSEWHEELMessage;
end;
procedure TForm1.MOUSEWHEELMessage(var Msg: TMsg; var Handled: Boolean);
begin
if Msg.Message = WM_MOUSEWHEEL then begin
// DBGRID1에 대해
if ActiveControl = TControl(DBgrid1) then begin
if Msg.wParam > 0 then begin
//SendMessage(DBGrid1.Handle,WM_KEYDOWN,VK_UP,0);
//SendMessage(DBGrid1.Handle,WM_KEYDOWN,VK_PRIOR,0);
SendMessage(DBGrid1.Handle,WM_VSCROLL,SB_LINEUP,0);
//Table1.Prior;
end
else if Msg.wParam < 0 then begin
//SendMessage(DBGrid1.Handle,WM_KEYDOWN,VK_DOWN,0);
//SendMessage(DBGrid1.Handle,WM_KEYDOWN,VK_NEXT,0);
SendMessage(DBGrid1.Handle,WM_VSCROLL,SB_LINEDOWN,0);
//Table1.Next;
end;
//DBGrid1.Refresh;
end;
end;
Tmessage를 이용하면 된다고 들었는데요... WM_VSCROLL : //상하스크롤 WM_HSCROLL : //좌우스크롤 혹시 예시를 하나 주신다면.. 상하는 필요 없구요... 좌우 스크롤만 되면 되는데.. DBGrid1 에서 DBGrid2를 컨트롤 할때와 역으로 DBGrid...
이추형
•
2002.10.24 00:20
디비그리드 스크롤예제입니다
홍성락님께서 올려 놓으신건데 쭈욱 복사했습니다.
참조하시기 바랍니다.
...
홍성락님께서 올려 놓으신건데 쭈욱 복사했습니다.
참조하시기 바랍니다.
unit Unit1;
interface
...
private
{ Private declarations }
procedure MOUSEWHEELMessage(var Msg: TMsg; var Handled: Boolean);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnMessage:= MOUSEWHEELMessage;
end;
procedure TForm1.MOUSEWHEELMessage(var Msg: TMsg; var Handled: Boolean);
begin
if Msg.Message = WM_MOUSEWHEEL then begin
// DBGRID1에 대해
if ActiveControl = TControl(DBgrid1) then begin
if Msg.wParam > 0 then begin
//SendMessage(DBGrid1.Handle,WM_KEYDOWN,VK_UP,0);
//SendMessage(DBGrid1.Handle,WM_KEYDOWN,VK_PRIOR,0);
SendMessage(DBGrid1.Handle,WM_VSCROLL,SB_LINEUP,0);
//Table1.Prior;
end
else if Msg.wParam < 0 then begin
//SendMessage(DBGrid1.Handle,WM_KEYDOWN,VK_DOWN,0);
//SendMessage(DBGrid1.Handle,WM_KEYDOWN,VK_NEXT,0);
SendMessage(DBGrid1.Handle,WM_VSCROLL,SB_LINEDOWN,0);
//Table1.Next;
end;
//DBGrid1.Refresh;
end;
end;
// DBGRID2에 대해
.....
end;
end;
end.