Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Фиксированная форма [D5, Win95/98]


Vera ©   (2005-01-19 17:04:00) 

С помощью какого свойства формы, можно обеспечить фиксированное положение формы по центру экрана при работе программы ?


Johnmen   (2005-01-25 10:35:00) [1]

>TUser ©   (25.01.05 10:26) [11]
>А поконкретнее?

Не поубиваешь. Тут я загнул...:)
Но переместить окно всё равно можно через стандарное оконное меню.


TUser   (2005-01-25 10:26:00) [2]


> Johnmen ©   (19.01.05 18:21) [5]
> >TUser ©   (19.01.05 17:41) [4]
>
> Так ты ещё и многое другое поубиваешь...:)

А поконкретнее?


Johnmen   (2005-01-25 09:22:00) [3]

>Юрий Зотов ©   (19.01.05 18:36) [6]
>Обрабатывать WM_WINDOWPOSCHANGING и ставить флаг SWP_NOMOVE.

Да, это, пожалуй самое правильное.
Но! Имеет место быть понятный побочный эффект при максимизации...


Vera   (2005-01-20 05:51:00) [4]

Спасибо всем.


grom   (2005-01-19 20:36:00) [5]

Align:=alCustom


raidan   (2005-01-19 18:46:00) [6]

>raidan ©   (19.01.05 17:09) [1]
>Юрий Зотов ©   (19.01.05 18:36) [6]
Эх.
Смотрим [1]
Потом [6]
Понимаем, чем Мастер отличается от юзверя :(
[off]Ушел в монастырь...[/off]


Юрий Зотов   (2005-01-19 18:36:00) [7]

Обрабатывать WM_WINDOWPOSCHANGING и ставить флаг SWP_NOMOVE.


Johnmen   (2005-01-19 18:21:00) [8]

>TUser ©   (19.01.05 17:41) [4]

Так ты ещё и многое другое поубиваешь...:)


TUser   (2005-01-19 17:41:00) [9]

Фиксированное положение при работе программы- это надо перехватить WM_NCHITTEST и написать
Msg.Result=Msg.Result and not htCaption;


Johnmen   (2005-01-19 17:13:00) [10]

>Vera  

По центру см. poScreenCenter
Фиксация без возможности двигать - в OnCreate формы:
var Handle : HMENU;
...
 Handle:=Windows.GetSystemMenu(WindowHandle,False);
 Windows.RemoveMenu(Handle,1,MF_BYPOSITION);


Александр Иванов   (2005-01-19 17:11:00) [11]

При создании Position.


raidan   (2005-01-19 17:09:00) [12]

а) Посмотреть глазами на список свойств.
б) Осознать, что Position : poScreenCenter - оно.
Далее - BorderStyle : bsNone (это если мы не хотим, чтобы кто-то двигал форму - он не сможет, потому что нечем).


Наверх

Титульная страница Поиск, карта сайта Написать письмо