Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Win API


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / WinAPI

Выпуск № 200
от 25.02.2006, 18:57

Администратор:Калашников О.А.
В рассылке:Подписчиков: 268, Экспертов: 36
В номере:Вопросов: 1, Ответов: 2


Вопрос № 35824: Подскажите как можно вывести окно приложения без заголовка (без символов максимизации, минимизации, выключения и самое главное без самой строки заголовка). И как вывести окно заданных размеров. Если можно на C++. Спасибо. ...

Вопрос № 35.824
Подскажите как можно вывести окно приложения без заголовка (без символов максимизации, минимизации, выключения и самое главное без
самой строки заголовка). И как вывести окно заданных размеров.
Если можно на C++.
Спасибо.
Отправлен: 20.02.2006, 18:55
Вопрос задал: Sova (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Татьяна
Здравствуйте, Sova!
Для того чтобы убрать заголовок достаточно написать примерно так
SetWindowLong(hndl, GWL_STYLE, getWindowLong(hndl,GWL_STYLE) & (!WS_CAPTION))
т.е. здесь вы меняете стиль окна, устанавливаете стиль без заголовка
после чего окно нужно перерисовать, например так
SetWindowPos(hndl, 0, x, y, dx, dy, SWP_NOACTIVATE | SWP_NOZORDER);
кстати, с помощью этой же функции и изменяются размеры окна
более подробную информацию об этих функциях вы можете найти в мсдне или в любой другой информации, об этих функция написано много :)
Желаю удачи!
---------
Нет ничего невозможного!!!
Ответ отправила: Татьяна (статус: Студент)
Отправлен: 20.02.2006, 19:11
Оценка за ответ: 5
Комментарий оценки:
Способ работает.
А нельзя ли вывести окно без
заголовка, введя стиль в CreateWindow?
Мне почему-то это не удалось.
Спасибо за ответ.

Отвечает: koshi
Здравствуйте, Sova!
На самом деле, если я правильно тебя понимаю, все это можно задать параметрами функции CreateWindow. Цитаты из MSDN.

HWND CreateWindow( LPCTSTR lpClassName,
LPCTSTR lpWindowName,
DWORD dwStyle,
int x,
int y,
int nWidth,
int nHeight,
HWND hWndParent,
HMENU hMenu,
HINSTANCE hInstance,
LPVOID lpParam
);

3-ий параметр
dwStyle
[in] Specifies the style of the window being created. This parameter can be a combination of window styles, plus the control styles indicated in the Remarks section.
т.е. он задает стиль окна, которые бывают такие (см. приложение): четсно говоря не помню какой из них делает то что надо - попробуй различные.
4-й и 5-й параметры задают положение окна:
x
[in] Specifies the initial horizontal position of the window. For an overlapped or pop-up window, the x parameter is the initial x-coordinate of the window's upper-left corner, in screen coordinates. For a child window, x is the x-coordinate of the upper-left corner of the window relative to the upper-left corner of the parent window's client area. If this parameter is set to CW_USEDEFAULT, the system selects the default position for the window's upper-left corner and ignores the y parameter. CW_USEDEFAULT is valid only for overlapped windows; if it is specified for a pop-up or child window, the x and y parameters are set to zero.
y
[in] Specifies the initial vertical position of the window. For an overlapped or pop-up window, the y parameter is the initial y-coordinate of the window's upper-left corner, in screen coordinates. For a child window, y is the initial y-coordinate of the upper-left corner of the child window relative to the upper-left corner of the parent window's client area. For a list box, y is the initial y-coordinate of the upper-left corner of the list box's client area relative to the upper-left corner of the parent window's client area. If an overlapped window is created with the WS_VISIBLE style bit set and the x parameter is set to CW_USEDEFAULT, the system ignores the y parameter.

Как-то так, надеюсь, что помог!

Приложение:

---------
Don't worry by groovy

Ответ отправил: koshi (статус: 3-ий класс)
Отправлен: 20.02.2006, 23:20
Оценка за ответ: 3
Комментарий оценки:
Не получилось у меня вывести окно без заголовка установив стиль ...&~ WS_CAPTION


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.14 (бета) от 09.02.2006
Яндекс Rambler's Top100

В избранное