Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.054 c
1-1081257050
olhovik
2004-04-06 17:10
2004.04.25
Как вставить в .ехе


1-1081153034
Вано
2004-04-05 12:17
2004.04.25
Связь с приложениями и папками


1-1081319815
GIL
2004-04-07 10:36
2004.04.25
Как узнать, какой компонент вызвал событие?


1-1081186012
KommandorDi
2004-04-05 21:26
2004.04.25
Освобождение памяти, занятой динамически созданным объектом


9-1066597821
Виктор
2003-10-20 01:10
2004.04.25
Проблема с установкой DirectX





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский