Форум: "Основная";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];
ВнизКак заставить колесо мышки прокручивать скрол на форме Найти похожие ветки
← →
Newb (2004-03-19 08:51) [0]Есть форма которая специально делается размером меньше чем компоненты на ней. На форме ставиться скрол. Можно ли заставить прокручивать этот скрол колесом мышки?
Спасибо.
← →
PVOzerski © (2004-03-19 10:43) [1]Скрол - это tScrollBar? Если да, то можно.
У меня получалось так (если на форме не было "автоматически возникающих scrollbar"ов"):
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
ScrollBar1: TScrollBar;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
var
OLDSC:longint;
function Wheeler(hwnd,msg,wp,lp:longint):longint;stdcall;
var
dummy:longint;
begin
if MSG=WM_MOUSEWHEEL then
begin
if wp<0 then
begin
if Form1.ScrollBar1.Position<Form1.ScrollBar1.Max then
Form1.ScrollBar1.Position:=succ(Form1.ScrollBar1.Position);
end
else
begin
if Form1.ScrollBar1.Position>Form1.ScrollBar1.Min then
Form1.ScrollBar1.Position:=pred(Form1.ScrollBar1.Position);
end
end;
Result:=CallWindowProc(pointer(OLDSC),hwnd,msg,wp,lp);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
OLDSC:=SetWindowLong(ScrollBar1.Handle,GWL_WNDPROC,longint(@Wheeler));
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.041 c