Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.27;
Скачать: CL | DM;

Вниз

Как таскать форму за клиентскую часть?   Найти похожие ветки 

 
An   (2003-03-17 11:12) [0]

Привет, Мастера!
Есть форма без заголовка (делаю это при помощи SetParams, как учили), надо, чтобы ее можно было таскать мышкой ухватившись за клиентскую часть. Опять же как учили, делаю обработчик события, что-то там WM_???CHITTEST, и в нем подменяю msg.result, как будто мышь нажата в caption. Все работает. Усложняю задачу.
К форме прицепляю окно, созданное без VCL- например IVideoWindow,
при помощи put_owner, теперь в клиентской части моей формы содержимое другого окна и, естественно, на событие WM_???CHITTEST она не реагирует. Что делать? Пробовал подменить у IVideoWindow процедуру WndProc на WndProc моей формы- не помогает.Научите, а?


 
vlad40 ©   (2003-03-17 12:34) [1]

А если так попробовать?:


var
px,py: integer;

procedure TForm1.AppMessage( var Msg: TMsg; var Handled: Boolean);
begin
if (Msg.message=WM_MOUSEMOVE) and (sd) then
begin
left:=Msg.pt.x-px;
top:=Msg.pt.y-py;
end;
if (Msg.message=WM_LBUTTONDOWN) then
begin
px:=Msg.pt.x-Left;
py:=Msg.pt.y-Top;
sd:=true;
end;
if (Msg.message=WM_LBUTTONUP) then
begin
sd:=false;
end;
end;


 
Intell ©   (2003-03-17 20:34) [2]

procedure TForm1.Form1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
const
SC_DragMove = $F012; { a magic number }
begin
ReleaseCapture;
form1.perform(WM_SysCommand, SC_DragMove, 0);
end;


другой:

var

Form1: TForm1;
MX: integer;
MY: integer;

implementation

{$R *.DFM}

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);
begin
if Shift<>[ssLeft] then
begin
MX:=X;
MY:=Y;
end else
begin
Left:=Left+X-MX;
Top:=Top+Y-MY;
end;
end;



Страницы: 1 вся ветка

Текущий архив: 2003.03.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.014 c
3-87791
bpv
2003-03-05 10:39
2003.03.27
драйвера доступа к базе данных


8-88091
L$D™
2002-12-18 17:37
2003.03.27
Звук из exe


14-88241
Snake2000
2003-03-08 03:54
2003.03.27
Поздравляю с 8 марта милых девушек !!!


3-87870
hooch
2003-03-11 10:08
2003.03.27
Редактирование данных


6-88099
Ундервуд
2003-02-04 12:50
2003.03.27
Обмен сообщениями из локалки в и-нет