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

Вниз

Изменение 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 вся ветка

Форум: "WinAPI";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.042 c
14-1117039242
Piter
2005-05-25 20:40
2005.06.29
Пропала возможность обнаруживать людей в Invisible в ICQ


14-1117547432
ЯВ
2005-05-31 17:50
2005.06.29
Срочный вопрос :)


14-1117520678
palva
2005-05-31 10:24
2005.06.29
Закрыть для себя 25 порт


11-1101475886
Alex-
2004-11-26 16:31
2005.06.29
ADO + KOL


9-1111585363
Starter
2005-03-23 16:42
2005.06.29
Misc of GLScene





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский