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

Вниз

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

 
DVK   (2006-05-02 15:54) [0]

Если на форме стоит Label с выравниванием caClient. То есть, можно ли сделать так, чтобы все события, которые обрабатываются Label"ом (кроме перерисовки), обрабатывала форма?

Попытался сделать на KOL то, что на VCL делается строчками:

procedure TForm1.WMNCHitTest (var M:TWMNCHitTest);
begin
 inherited;
 if M.Result = htClient then
 M.Result := htCaption;
end;

Получилось примерно вот что:

function TForm1.KOLForm1Message(var Msg: tagMSG; var Rslt: Integer): Boolean;
begin
 Result := FALSE;
 CASE Msg.message OF
 WM_NCHITTEST:
   begin
     rslt:=form.CallDefWndProc(msg);
     if Rslt = htClient then
        Rslt := htCaption;
     Result:=true;
   end;
 end;
end;

Но вот не получается - за Label форма не перемещается.


 
ECM ©   (2006-05-02 17:16) [1]

Просто добавьте еще обработчик для Label

function TForm1.Label1Message(var Msg: tagMSG; var Rslt: Integer): Boolean;
begin
 Result := FALSE;
 if (Msg.message = WM_NCHITTEST) then begin
   Rslt := HTTRANSPARENT;
   Result := TRUE;
 end;
end;


Удачи :)


 
DVK   (2006-05-03 09:27) [2]

Спасибо, всё заработало.



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

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

Наверх




Память: 0.47 MB
Время: 0.038 c
15-1166712306
vidiv
2006-12-21 17:45
2007.01.28
Программа, которая выводит собственный листинг


15-1167887748
Decease
2007-01-04 08:15
2007.01.28
Монтирование образов на Windows Vista


8-1149166922
h8394E
2006-06-01 17:02
2007.01.28
IDirectDrawSurface.Blt (Подскажите флаги)


15-1167928848
Kolan
2007-01-04 19:40
2007.01.28
Как в VB обратится к элементу строки?


15-1168264739
brrrr
2007-01-08 16:58
2007.01.28
Нас всех прослушивают! Ужас! Мы беззащитны :(