|
|
|
WinAPI окно без заголовка
|
|||
|---|---|---|---|
|
#18+
Привет. Подскажите как сделать окно без заголовка(типа BorderStyle=None в Delphi),C++ и чистый winAPI?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2007, 23:24:31 |
|
||
|
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2007, 23:49:29 |
|
||
|
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:42:53 |
|
||
|
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:50:40 |
|
||
|
WinAPI окно без заголовка
|
|||
|---|---|---|---|
|
#18+
chikanok wrote: > > Даже с dwStyle=0,есть заголовок. Лучше - WS_POPUP | WS_THICKFRAME. > Можно подробнее! MSDN? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2007, 14:54:09 |
|
||
|
WinAPI окно без заголовка
|
|||
|---|---|---|---|
|
#18+
chikanok пишет: > Даже с dwStyle=0,есть заголовок. Наверное надо еще стиль WS_POPUP вместо WS_OVERLAPPED_WINDOW. У оверлапов нельзя наверное сделать окно БЕЗ заголовка. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2007, 16:28:02 |
|
||
|
WinAPI окно без заголовка
|
|||
|---|---|---|---|
|
#18+
MasterZiv chikanok пишет: > Даже с dwStyle=0,есть заголовок. Наверное надо еще стиль WS_POPUP вместо WS_OVERLAPPED_WINDOW. У оверлапов нельзя наверное сделать окно БЕЗ заголовка. Posted via ActualForum NNTP Server 1.4 можно, как у меня в примере, только надо еще вызывать после этого SetWindowPos чтобы кэш обновить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2007, 16:43:44 |
|
||
|
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:29:15 |
|
||
|
WinAPI окно без заголовка
|
|||
|---|---|---|---|
|
#18+
читай предыдущий пост SetWindowPos вызывай -------------------------------------------------------------- [не претендую на уникальность] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2007, 21:31:45 |
|
||
|
WinAPI окно без заголовка
|
|||
|---|---|---|---|
|
#18+
У меня код конечно не многим отличается но всё же... =) Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 14:32:33 |
|
||
|
WinAPI окно без заголовка
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 15:40:35 |
|
||
|
WinAPI окно без заголовка
|
|||
|---|---|---|---|
|
#18+
maXmo Код: plaintext 1. Изменение стиля окна... Я угадал ??? =)))) НА самом деле пример из книжки, и вроде работает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 16:26:40 |
|
||
|
WinAPI окно без заголовка
|
|||
|---|---|---|---|
|
#18+
удивительно, что работает, вообще-то после этих манипуляций в wndStyle должна оказаться единица. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 16:34:02 |
|
||
|
WinAPI окно без заголовка
|
|||
|---|---|---|---|
|
#18+
вот отсюда Хотя да согласен, стиль меняется тупо на 0x0001, ну я тогда об этом как то особо не задумывался... автор~WS_CAPTION||WS_MAXIMIZEBOX|WS_MAXIMIZEBOX; этот код делает тоже самое, логичнее было бы просто убрать ненужные стили как нибудь так Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 16:42:35 |
|
||
|
WinAPI окно без заголовка
|
|||
|---|---|---|---|
|
#18+
автор~WS_CAPTION||WS_MAXIMIZEBOX|WS_MAXIMIZEBOX;это не код, это заговор сатанистов :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 16:46:55 |
|
||
|
WinAPI окно без заголовка
|
|||
|---|---|---|---|
|
#18+
вот как раз этот стиль Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 16:48:58 |
|
||
|
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:53:50 |
|
||
|
WinAPI окно без заголовка
|
|||
|---|---|---|---|
|
#18+
maXmo автор~WS_CAPTION||WS_MAXIMIZEBOX|WS_MAXIMIZEBOX;это не код, это заговор сатанистов :( подумаешь очепятался и два раза || зафигачил, главное - идея, не уж то еще и прописные истины объяснять человеку, взявшемуся за winapi? ps 3000 нах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 16:57:16 |
|
||
|
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, 17:03:25 |
|
||
|
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, 20:49:06 |
|
||
|
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, 21:04:07 |
|
||
|
WinAPI окно без заголовка
|
|||
|---|---|---|---|
|
#18+
Всем спасибо. Проблему я решил. Тем что перехватываю WM_PAINT но не чего не делаю! Работает и ладно. Расскажите мне или где почитать скажите про создание POPUP окошек, и ему подобных!?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 22:35:11 |
|
||
|
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, 03:19:06 |
|
||
|
WinAPI окно без заголовка
|
|||
|---|---|---|---|
|
#18+
2 teras Оно мне и не надо. Окошко появляется на короткое время. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2007, 06:35:46 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34930670&tid=2027824]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
189ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
| others: | 224ms |
| total: | 518ms |

| 0 / 0 |
