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

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

Как убрать синюю полоску вверху окна


Bless ©   (2003-09-19 16:31:00) 

Что передавать API-функции CreateWindow в качестве третьего параметра dwStyle, чтобы на появлялась синяя(у меня) полоска вверху окна(title bar, кажется)?
И еще такой вопрос.
Вот цитата из хелпа:

WS_CAPTION Creates a window that has a title bar (includes the WS_BORDER style).

WS_DLGFRAME Creates a window that has a border of a style typically used with dialog boxes. A window with this style cannot have a title bar.

Если я правильно все перевел, то если стиль окна - WS_CAPTION,
то у него будет title bar, а если среди стилей присутсвует WS_DLGFRAME, то title bar быть не может.

Но в Window.pas WS_CAPTION=WS_DLGFRAME or WS_BORDER.
Как это понимать?
И еще. WS_OVERLAPPED = 0. Так что, стиль WS_OVERLAPPED вообще не используется? Ведь xxx OR 0 =xxx.


Bless   (2003-09-23 16:43:00) [1]

:)
Ладно. Спасибо за ответы.


Игорь Шевченко   (2003-09-23 16:18:00) [2]

Bless (23.09.03 15:45)

Пофлеймить охота ? В чат :)


Bless   (2003-09-23 15:45:00) [3]

>Не должно. Впрочем, это вопрос к MS
Согласно документации должно. Ошибка в документации?


Игорь Шевченко   (2003-09-23 12:37:00) [4]


> А противоречие здесь в том, что если написать
> WS_DLGFRAME or WS_BORDER, то это должно бы означать
> с border-ом и без tytle bar-а.


Не должно. Впрочем, это вопрос к MS


имя   (2003-09-23 10:09:00) [5]

Удалено модератором


Bless   (2003-09-23 09:21:00) [6]

Я в последнем своем сообщении опечатался. Правильно так:
...
> WS_CAPTION - окно имеет TYTLE BAR
> WS_DLGFRAME - не может иметь TYTLE BAR
...

А противоречие здесь в том, что если написать
WS_DLGFRAME or WS_BORDER, то это должно бы означать
с border-ом и без tytle bar-а.

А если написать
WS_CAPTION - то с border-ом и с tytle bar-ом.

Хотя эти две записи дают одинаковую комбинацию битов.


Игорь Шевченко   (2003-09-22 17:28:00) [7]

Bless (22.09.03 15:46)


> 2)
> Какой смысл в стиле WS_OVERLAPPED равном 0?


Для того, чтобы отличить от WS_POPUP равного $80000000 или WS_CHILD равного $40000000

> 1)
> Как объяснить противоречие:
> WS_CAPTION - окно имеет border
> WS_DLGFRAME - не может иметь border.
> Но WS_CAPTION =(WS_DLGFRAME or WS_BORDER)


WS_DLGFRAME - не может иметь Title bar

а какое здесь противоречие ? WS_CAPTION обрабатывается системой как совокупность битов, а не по отдельности.


Bless   (2003-09-22 15:46:00) [8]

Спасибо! Работает!
А как насчет остальных двух вопросов?
1)
Как объяснить противоречие:
WS_CAPTION - окно имеет border
WS_DLGFRAME - не может иметь border.
Но WS_CAPTION =(WS_DLGFRAME or WS_BORDER)

2)
Какой смысл в стиле WS_OVERLAPPED равном 0?


Игорь Шевченко   (2003-09-22 13:48:00) [9]

Без синей полоски могут быть только POPUP или CHILD окна.


mike.dld   (2003-09-22 13:32:00) [10]

А ты не пробовал передавать (WS_POPUP or WS_BORDER)???


Bless   (2003-09-22 10:04:00) [11]

>DVM © (19.09.03 19:33) [1]

>WS_BORDER или WS_CAPTION не использовать - заголовка и бордюра не
>будет.

Так я и не использую. Ставил ws_dlgframe. Все равно окно с "бордюром" получается.


DVM   (2003-09-19 19:33:00) [12]

WS_BORDER или WS_CAPTION не использовать - заголовка и бордюра не будет.


Наверх

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