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

Вниз

Изменение BorderStyle   Найти похожие ветки 

 
Grell   (2005-04-29 20:45) [0]

Как изменить свойство BorderStyle формы используя WinAPI?


 
Ученик   (2005-04-29 22:36) [1]

>Grell   (29.04.05 20:45)  

На что ?


 
Marser ©   (2005-04-29 22:37) [2]

См. GetWindowLong, SetWindowLong и константы стиля окна - WS_ и WS_EX_


 
Ученик   (2005-04-29 22:38) [3]

>Grell   (29.04.05 20:45)  
В общем случае

SetWindowLong(Handle, GWL_STYLE, ..)
SetWindowLong(Handle, GWL_EXSTYLE, ..)


 
Grell   (2005-04-29 23:02) [4]

2Ученик На bsNone или bsSingle.


 
Ученик   (2005-04-29 23:10) [5]

>Grell   (29.04.05 23:02) [4]
SetWindowLong(Handle, GWL_STYLE, GetWindowLong(Handle, GWL_STYLE) and not WS_CAPTION)


 
Ученик   (2005-04-29 23:21) [6]

>Ученик   (29.04.05 23:10) [5]
Возможно, не сработает

так будет bsNone
 SetWindowLong(Handle, GWL_STYLE, 0);
 SetWindowLong(Handle, GWL_EXSTYLE, 0);

bsSinle в Win32 какой-то странный (отличный от Win16)


 
Grell   (2005-04-29 23:30) [7]


> Возможно, не сработает

Да, не пашет :(
А
SetWindowLong(Handle, GWL_STYLE, 0);
SetWindowLong(Handle, GWL_EXSTYLE, 0);
работает отлично, спасибо!


 
Игорь Шевченко ©   (2005-04-30 01:32) [8]


> SetWindowLong(Handle, GWL_STYLE, 0);


Я бы все-так рекомендовал SetWindowLong(Handle, GWL_STYLE, WS_VISBLE or WS_CLIPSIBLINGS or WS_CLIPCHILDREN)

А стиль bsSingle устанавливается следующей комбинацией:

 SetWindowLong(Handle, GWL_STYLE, WS_VISIBLE or WS_CLIPCHILDREN or
   WS_CLIPSIBLINGS or WS_CAPTION);
 SetWindowPos (Handle, 0, 0, 0, 0, 0, SWP_NOSIZE or SWP_NOMOVE or
   SWP_NOZORDER or SWP_DRAWFRAME);


SetWindowPos такого вида рекомендуется вызывать после любых изменений, связанных с размерами неклиентских областей окна.


 
Grell   (2005-04-30 10:59) [9]


> А стиль bsSingle устанавливается следующей комбинацией:
>
>  SetWindowLong(Handle, GWL_STYLE, WS_VISIBLE or WS_CLIPCHILDREN
> or
>    WS_CLIPSIBLINGS or WS_CAPTION);
>  SetWindowPos (Handle, 0, 0, 0, 0, 0, SWP_NOSIZE or SWP_NOMOVE
> or
>    SWP_NOZORDER or SWP_DRAWFRAME);

Работает но почемуто пропадают иконки мннмизации и тд..
> SetWindowPos такого вида рекомендуется вызывать после любых
> изменений, связанных с размерами неклиентских областей окна.

Спасибо, учту!


 
Игорь Шевченко ©   (2005-04-30 19:54) [10]


> Работает но почемуто пропадают иконки мннмизации и тд..


Добавить в стили WS_MINIMIZEBOX or WS_MAXIMIZEBOX


 
Grell ©   (2005-04-30 21:38) [11]

SetWindowLong(Handle, GWL_STYLE, WS_VISIBLE or WS_CLIPCHILDREN or
  WS_CLIPSIBLINGS or WS_CAPTION or WS_MAXIMIZEBOX or WS_MINIMIZEBOX);

Все равно не пашет =(


 
Игорь Шевченко ©   (2005-04-30 22:39) [12]

SetWindowLong(Handle, GWL_STYLE, WS_VISIBLE or WS_CLIPCHILDREN or WS_CLIPSIBLINGS or WS_CAPTION or WS_MAXIMIZEBOX or WS_MINIMIZEBOX or WS_SYSMENU);


 
Agent13 ©   (2005-05-01 21:21) [13]

Может для того, чтобы в подобных ситуациях не гадать, что ещё из WS_...  забыли написать, лучше делать типо того:
SetWindowLong(Handle, GWL_STYLE, GetWindowLong(Handle, GWL_Style) or WS_CLIPCHILDREN or WS_CLIPSIBLINGS);?


 
mgcr ©   (2005-05-01 22:04) [14]

Agent13 ©   (01.05.05 21:21) [13]

WS_CLIPххх - они для формы уже есть.



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

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

Наверх




Память: 0.49 MB
Время: 0.033 c
1-1118330914
Новичёк_!
2005-06-09 19:28
2005.06.29
Групировка


14-1117209306
sasa123
2005-05-27 19:55
2005.06.29
требуется delphi программист


10-1094711500
Sectey
2004-09-09 10:31
2005.06.29
Отключение от сервера атоматизации из программы


14-1117835054
кактусбел
2005-06-04 01:44
2005.06.29
вычесление значение суммы рядов бесконечного ряда


6-1110568217
Bailey
2005-03-11 22:10
2005.06.29
pereslat record cheres UDP indy 10