
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
10.11.2007, 23:24:31
|
|||
|---|---|---|---|
WinAPI окно без заголовка |
|||
|
#18+
Привет. Подскажите как сделать окно без заголовка(типа BorderStyle=None в Delphi),C++ и чистый winAPI?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.11.2007, 23:49:29
|
|||
|---|---|---|---|
|
|||
WinAPI окно без заголовка |
|||
|
#18+
chikanok wrote: > Подскажите как сделать окно без заголовка(типа BorderStyle=None в > Delphi),C++ и чистый winAPI?! примерно - CreateWindow* БЕЗ стилей WS_CAPTION. Не помню точно, возможно нужно рубануть и WS_SYSMENU, WS_MINIMIZEBOX, WS_MAXIMIZEBOX. По стилям границ - тот же dwStyle и dwExStyle. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.11.2007, 14:42:53
|
|||
|---|---|---|---|
WinAPI окно без заголовка |
|||
|
#18+
teras chikanok wrote: > Подскажите как сделать окно без заголовка(типа BorderStyle=None в > Delphi),C++ и чистый winAPI?! примерно - CreateWindow* БЕЗ стилей WS_CAPTION. Не помню точно, возможно нужно рубануть и WS_SYSMENU, WS_MINIMIZEBOX, WS_MAXIMIZEBOX. По стилям границ - тот же dwStyle и dwExStyle. Даже с dwStyle=0,есть заголовок. Можно подробнее! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.11.2007, 14:50:40
|
|||
|---|---|---|---|
WinAPI окно без заголовка |
|||
|
#18+
DWORD dwStyle = (DWORD)::GetWindowLongPtr(/*хэндл твоего окна*/, GWL_STYLE); dwStyle &= ~WS_CAPTION||WS_MAXIMIZEBOX|WS_MAXIMIZEBOX; #pragma warning(disable:4244) ::SetWindowLongPtr(m_hWnd, GWL_STYLE, (LONG_PTR)dwStyle); #pragma warning(default:4244) -------------------------------------------------------------- [не претендую на уникальность] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.11.2007, 14:54:09
|
|||
|---|---|---|---|
|
|||
WinAPI окно без заголовка |
|||
|
#18+
chikanok wrote: > > Даже с dwStyle=0,есть заголовок. Лучше - WS_POPUP | WS_THICKFRAME. > Можно подробнее! MSDN? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.11.2007, 16:28:02
|
|||
|---|---|---|---|
WinAPI окно без заголовка |
|||
|
#18+
chikanok пишет: > Даже с dwStyle=0,есть заголовок. Наверное надо еще стиль WS_POPUP вместо WS_OVERLAPPED_WINDOW. У оверлапов нельзя наверное сделать окно БЕЗ заголовка. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.11.2007, 16:43:44
|
|||
|---|---|---|---|
WinAPI окно без заголовка |
|||
|
#18+
MasterZiv chikanok пишет: > Даже с dwStyle=0,есть заголовок. Наверное надо еще стиль WS_POPUP вместо WS_OVERLAPPED_WINDOW. У оверлапов нельзя наверное сделать окно БЕЗ заголовка. Posted via ActualForum NNTP Server 1.4 можно, как у меня в примере, только надо еще вызывать после этого SetWindowPos чтобы кэш обновить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.11.2007, 21:29:15
|
|||
|---|---|---|---|
WinAPI окно без заголовка |
|||
|
#18+
CerebrumDWORD dwStyle = (DWORD)::GetWindowLongPtr(/*хэндл твоего окна*/, GWL_STYLE); dwStyle &= ~WS_CAPTION||WS_MAXIMIZEBOX|WS_MAXIMIZEBOX; #pragma warning(disable:4244) ::SetWindowLongPtr(m_hWnd, GWL_STYLE, (LONG_PTR)dwStyle); #pragma warning(default:4244) Окно становиться,без границ и заголовка,т.е. все ок, но на месте заголовка появляется какая-то серая полоска с именем окна. Как её убрать? И вообще должен же быть какой-то стиль который бы позволил бы создать окно без заголовка!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.11.2007, 21:31:45
|
|||
|---|---|---|---|
WinAPI окно без заголовка |
|||
|
#18+
читай предыдущий пост SetWindowPos вызывай -------------------------------------------------------------- [не претендую на уникальность] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.11.2007, 14:32:33
|
|||
|---|---|---|---|
WinAPI окно без заголовка |
|||
|
#18+
У меня код конечно не многим отличается но всё же... =) Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.11.2007, 15:40:35
|
|||
|---|---|---|---|
WinAPI окно без заголовка |
|||
|
#18+
Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.11.2007, 16:26:40
|
|||
|---|---|---|---|
WinAPI окно без заголовка |
|||
|
#18+
maXmo Код: plaintext 1. Изменение стиля окна... Я угадал ??? =)))) НА самом деле пример из книжки, и вроде работает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.11.2007, 16:34:02
|
|||
|---|---|---|---|
WinAPI окно без заголовка |
|||
|
#18+
удивительно, что работает, вообще-то после этих манипуляций в wndStyle должна оказаться единица. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.11.2007, 16:42:35
|
|||
|---|---|---|---|
WinAPI окно без заголовка |
|||
|
#18+
вот отсюда Хотя да согласен, стиль меняется тупо на 0x0001, ну я тогда об этом как то особо не задумывался... автор~WS_CAPTION||WS_MAXIMIZEBOX|WS_MAXIMIZEBOX; этот код делает тоже самое, логичнее было бы просто убрать ненужные стили как нибудь так Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.11.2007, 16:46:55
|
|||
|---|---|---|---|
WinAPI окно без заголовка |
|||
|
#18+
автор~WS_CAPTION||WS_MAXIMIZEBOX|WS_MAXIMIZEBOX;это не код, это заговор сатанистов :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.11.2007, 16:48:58
|
|||
|---|---|---|---|
WinAPI окно без заголовка |
|||
|
#18+
вот как раз этот стиль Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.11.2007, 16:53:50
|
|||
|---|---|---|---|
|
|||
WinAPI окно без заголовка |
|||
|
#18+
pszMyNick wrote: > вот как раз этот стиль > > #define WS_EX_DLGMODALFRAME 0x00000001L > > гы Это dwExStyle. А работает, скорее всего потому, что и не WS_OVERLAPPED и нет WS_CAPTION. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.11.2007, 16:57:16
|
|||
|---|---|---|---|
WinAPI окно без заголовка |
|||
|
#18+
maXmo автор~WS_CAPTION||WS_MAXIMIZEBOX|WS_MAXIMIZEBOX;это не код, это заговор сатанистов :( подумаешь очепятался и два раза || зафигачил, главное - идея, не уж то еще и прописные истины объяснять человеку, взявшемуся за winapi? ps 3000 нах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.11.2007, 17:03:25
|
|||
|---|---|---|---|
WinAPI окно без заголовка |
|||
|
#18+
teras pszMyNick wrote: > вот как раз этот стиль > > #define WS_EX_DLGMODALFRAME 0x00000001L > > гы Это dwExStyle. А работает, скорее всего потому, что и не WS_OVERLAPPED и нет WS_CAPTION. Posted via ActualForum NNTP Server 1.4 НУ естественно нет, только этот стиль, то бишь единица и передается в SetWindowLong. В принципе с "^" шикарно работает, лишние стили убираются... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.11.2007, 20:49:06
|
|||
|---|---|---|---|
|
|||
WinAPI окно без заголовка |
|||
|
#18+
Cerebrum wrote: > maXmo > автор > ~WS_CAPTION||WS_MAXIMIZEBOX|WS_MAXIMIZEBOX; > > это не код, это заговор сатанистов :( > > > подумаешь очепятался и два раза || зафигачил, главное - идея, не уж то > еще и прописные истины объяснять человеку, взявшемуся за winapi? > Тут еще и приоритет операций неправильный. Код эквивалентен: (~WS_CAPTION)|WS_MAXIMIZEBOX|WS_MAXIMIZEBOX == ~WS_CAPTION Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.11.2007, 21:04:07
|
|||
|---|---|---|---|
|
|||
WinAPI окно без заголовка |
|||
|
#18+
pszMyNick wrote: >> teras >> >> pszMyNick wrote: >>> вот как раз этот стиль >>> >>> #define WS_EX_DLGMODALFRAME 0x00000001L >>> >>> гы >> >> Это dwExStyle. >> А работает, скорее всего потому, что и не WS_OVERLAPPED и нет WS_CAPTION. >> > НУ естественно нет, только этот стиль, то бишь единица и передается в > SetWindowLong. В принципе с "^" шикарно работает, лишние стили убираются... Что значит нет? WS_EX_DLGMODALFRAME передается через параметр dwExStyle функции CreateWindowEx, а ты упражняешься с параметром dwStyle. На самом деле, это флаг диалогового окна DS_ABSALIGN, не имеющий отношения к обычным окнам. В остальном - мне кажется, пусть даже это и работает, это подход не с той стороны. Поведение не описано, и гарантий, что такое будет продолжать работать в будущих версиях системы, когда микрософту надоест поддерживать совместимость - нет. По мне так, если нужно создать окно без заголовка - нужно СОЗДАВАТЬ окно без заголовка, пользуясь документированными средствами (WS_POPUP). Но, конечно, хозяин - барин. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.11.2007, 22:35:11
|
|||
|---|---|---|---|
WinAPI окно без заголовка |
|||
|
#18+
Всем спасибо. Проблему я решил. Тем что перехватываю WM_PAINT но не чего не делаю! Работает и ладно. Расскажите мне или где почитать скажите про создание POPUP окошек, и ему подобных!?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.11.2007, 03:19:06
|
|||
|---|---|---|---|
|
|||
WinAPI окно без заголовка |
|||
|
#18+
chikanok wrote: > Всем спасибо. > Проблему я решил. Тем что перехватываю WM_PAINT но не чего не делаю! > Работает и ладно. Да, решение... Окно поди таскается, на двойной клик отзывается, на alt+space тоже, если закрыть другим окошком, а потом открыть тоже красиво... > Расскажите мне или где почитать скажите про создание POPUP окошек, и ему > подобных!?! В документации на CreateWindow. Или здесь: http://www.frolov-lib.ru/books/bsp/v11/ch3.htm Там и пример приводится. Не забудь там WS_CAPTION убрать. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.11.2007, 06:35:46
|
|||
|---|---|---|---|
WinAPI окно без заголовка |
|||
|
#18+
2 teras Оно мне и не надо. Окошко появляется на короткое время. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=57&mobile=1&tid=2027824]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
178ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
71ms |
get tp. blocked users: |
2ms |
| others: | 196ms |
| total: | 483ms |

| 0 / 0 |
