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

Вниз

Перемещение формы не имеющей заголовка   Найти похожие ветки 

 
Stas ©   (2004-04-02 13:12) [0]

Мастера такая проблема:
Есть форма с BorderStyle:=bsNone, как сделать чтобы ее можно было перемещать, установив мышь на любую часть формы ?

Заранее благодарен.


 
TUser ©   (2004-04-02 13:18) [1]

Обработать WM_CHITTEST, написать там
inherited;
Msg.Result:=htCaption;


 
Stas ©   (2004-04-02 13:22) [2]

Спасибо !


 
Serge ©   (2004-04-02 13:30) [3]

WM_NCHITTEST


 
Stas ©   (2004-04-02 15:22) [4]

Не работает !
Может я что не так делаю ?
procedure Tfmmain.WMNCHITTEST(var Message: TMessage);
begin
   inherited;
   Message.Result:=htCaption;
end;


 
Diamond Cat ©   (2004-04-02 15:28) [5]

может все фишка в inherited :о)


 
serge ©   (2004-04-02 15:28) [6]

procedure Tfmmain.WMNCHITTEST(var Message: TMessage);
begin
  inherited;
If Message.Msg = htClient then
  Message.Result:=htCaption;
end;


 
Игорь Шевченко ©   (2004-04-02 15:36) [7]

serge ©   (02.04.04 15:28)

Для пущей красоты:
procedure Tfmmain.WMNCHITTEST(var Message: TMessage);
begin
 inherited;
 if Message.Result = htClient then
   Message.Result:=htCaption
end;



 
serge ©   (2004-04-02 15:41) [8]

:) Крастоа - стр-р-р-ашная сила (с) :о)))


 
Marat_D ©   (2004-04-02 16:15) [9]

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
 ReleaseCapture;
 FNewFile.Perform(WM_SYSCOMMAND,$F012,0);
end;


 
Developerr ©   (2004-04-02 16:21) [10]


> Marat_D

А зачем писать FNewFile?

> FNewFile.Perform(WM_SYSCOMMAND,$F012,0);

Я попробовал с FNewFile, пишет Undeclared identifier: FNewFile.
А без этого работает.

Perform(WM_SYSCOMMAND,$F012,0);


 
Stas ©   (2004-04-02 16:21) [11]

to Serge
Всеравно не работает !

to Marat_D
А что такое ?
FNewFile


 
Developerr ©   (2004-04-02 16:34) [12]

Вот мне все-таки интересно, люди тестируют то что предлагают другим?
Вот например, кчему это?

> procedure Tfmmain.WMNCHITTEST(var Message: TMessage);
> begin
>  inherited;
>  if Message.Result = htClient then
>    Message.Result:=htCaption
> end;

или вот это:

> procedure Tfmmain.WMNCHITTEST(var Message: TMessage);
> begin
>   inherited;
> If Message.Msg = htClient then
>   Message.Result:=htCaption;
> end;


Если уж предлагаете другим проверьте сами... :-((((


 
Romkin ©   (2004-04-02 16:36) [13]

Нормально тестируем. Просто ты в объявлении метода, скорее всего не добавил message WM_NCHITTEST; :)))


 
Developerr ©   (2004-04-02 16:43) [14]


> Romkin

Согласен, теперь работает. Но этого же не было указано в примере. Все-таки на детали нужно обращать внимание.


 
Stas ©   (2004-04-02 16:54) [15]

Всем спасибо !
Заработало  - Perform(WM_SYSCOMMAND,$F012,0);


 
Serge ©   (2004-04-02 17:10) [16]

> Developerr ©   (02.04.04 16:43) [14]
Люди то тестируют то что предлагают - просто ,тем кто вопросы задают, иногда еще стоит и посмотреть по разным FAQ-ам - или они так для красоты только, FAQи то эти ???


 
Developerr ©   (2004-04-02 17:15) [17]

Согласен.


 
Marat_D ©   (2004-04-03 04:48) [18]

>> Stas Я маленько ошибся, сидел в нете и заодно кое-что писал, вставил код из моей программы. FNewFile - это назнвание моей форимы, просто не поменял название, извени.
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
Form1.Perform(WM_SYSCOMMAND,$F012,0);
end;

где Form1 - твоя форма...


 
Юрий Зотов ©   (2004-04-03 08:16) [19]

> Developerr ©   (02.04.04 16:43) [14]

> Но этого же не было указано в примере. Все-таки на детали
> нужно обращать внимание.

Видите ли, в чем дело...

Если человек спрашивает, как взять интеграл, то ему ответят, как взять интеграл - но никто не станет ему объяснять, как в процессе этого вычисления умножать и складывать числа. Поскольку вполне обоснованно предполагается, что раз уж он знает слово "интеграл", то в первом классе он все же учился.

И вдруг человек предъявляет претензии, что ему, оказывается, про интеграл-то все объяснили, но почему-то не объяснили сложение столбиком. "Но этого же не было указано в примере. Все-таки на детали нужно обращать внимание" - говорит он.

Скажите, Вам не стало бы смешно от такого заявления?


 
Stas ©   (2004-04-05 11:25) [20]

Marat_D ©   (03.04.04 04:48) [18]
Спасибо, я понял.


 
Stas ©   (2004-04-05 11:26) [21]

Marat_D ©   (03.04.04 04:48) [18]
А несколко форм, можно перемещать, если тащить за одну ?


 
Игорь Шевченко ©   (2004-04-05 11:31) [22]

Stas ©   (05.04.04 11:26)


> А несколко форм, можно перемещать, если тащить за одну ?


Можно. Синхронизировавшись по WM_MOVE или по WM_WINDOWPOSCHANGING


 
Stas ©   (2004-04-05 11:38) [23]

Игорь Шевченко ©   (05.04.04 11:31) [22]
Спасибо работает !!!



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

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

Наверх




Память: 0.52 MB
Время: 0.026 c
1-1080897165
Stas
2004-04-02 13:12
2004.04.25
Перемещение формы не имеющей заголовка


7-1077776175
Ozone
2004-02-26 09:16
2004.04.25
Информация о системе


6-1077359189
ProNix
2004-02-21 13:26
2004.04.25
TwebBrowser и фреймы


1-1081279928
Nevil
2004-04-06 23:32
2004.04.25
Выделенные Items в ListView нарисованные на канвасе


1-1081086405
Виталий
2004-04-04 17:46
2004.04.25
Как разбить файл на равные части?