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

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

BorderStyle [D6]


Алексей ©   (2004-11-23 15:38:00) 

можно ли как-нибудь изменить BorderStyle формы, зная только ее Handle? (конкретно интересеует, как убрать SystemMenu у любой из форм по Handle этой формы)


Piter ne doma   (2004-11-25 13:07:00) [1]

Это понятно. Но почему VCL при изменении стиля пересоздает окно? Не просто так ведь это, почему не использует SetWindowLong?...


DVM   (2004-11-25 10:31:00) [2]


> ты абсолютно уверен?

Т.к. конференция WinAPI то за API-окно уверен абсолютно, делал многократно. За Delphi-форму не ручаюсь. У ней менять надо свойства, а не SetWindowLong применять.


Piter   (2004-11-24 19:33:00) [3]

DVM ©   (24.11.04 10:16) [4]
можно и глюков не будет


ты абсолютно уверен? Потому что в свое время у меня глюки были. Правда, далеко не всегда, при определенных стилях, но были.

И второй пункт. Почему тогда борланд уничтожает и заново создает окно при изменении BorderStyle?


DVM   (2004-11-24 10:16:00) [4]


> Насколько я знаю - измененить стиль формы нельзя.

можно и глюков не будет


Piter   (2004-11-23 23:26:00) [5]

Насколько я знаю - измененить стиль формы нельзя. Если это пытаться делать у существующего окна, возможны разнообразные глюки. Поэтому надо уничтожать окно и создавать новое с новыми параметрами стиля, что, кстати, и делает Дельфи при изменении BorderStyle


xAnjel   (2004-11-23 15:47:00) [6]

Убрать меню
SetWindowLong(Handle,GWL_STYLE,GetWindowLong(Handle,GWL_STYLE) xor WS_SYSMENU);


DVM   (2004-11-23 15:41:00) [7]

SetWindowLong


Наверх

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