Главная страница
    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.041 c
1-1117708355
BasiL_666_
2005-06-02 14:32
2005.06.29
Unable to invoke....


14-1117136099
Константинов
2005-05-26 23:34
2005.06.29
Что подарить ребенку на день рождения?


14-1117802870
syte_ser78
2005-06-03 16:47
2005.06.29
NOD 32


3-1116587396
tyo
2005-05-20 15:09
2005.06.29
EConvertError в TDBGrid


14-1117698338
lookin
2005-06-02 11:45
2005.06.29
Звук на разных компьтерах





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