imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 13.06.2004, 23:22     # 1
dex0r
Junior Member
 
Регистрация: 03.05.2004
Сообщения: 49

dex0r Нимб уже пробиваетсяdex0r Нимб уже пробивается
Окно на WinApi

Хочу написать программу, которая создает окно без рамки (и заголовка)
Код:
Inst := hInstance;
  with WinClass do
  begin
    //style              := CS_CLASSDC or CS_PARENTDC;
    style:=cs_hredraw or cs_vredraw;
    lpfnWndProc        := @WindowProc;
    hInstance          := Inst;
    hbrBackground      := color_btnface + 1;
    lpszClassname      := 'TESTWINDOW';
    hCursor            := LoadCursor(0, IDC_ARROW);
  end;
  RegisterClass(WinClass);

  Hwnd := CreateWindowEx(WS_EX_TOOLWINDOW,'TESTWINDOW', 'capt',  WS_popup,  363, 278, 505, 365, 0, 0, Inst, nil);
после запуска программы, весь таскбар 'виснет', т.е. не реагирует ни на какие сообщения... если добавить WS_CAPTION то программа работает нормально, но появляется проклятая рамка... может можно какнить по-другому сделать?
dex0r вне форума  
Старый 14.06.2004, 12:49     # 2
alexey_ma
Member
 
Регистрация: 10.03.2002
Адрес: Israel
Сообщения: 245

alexey_ma Нимб уже пробиваетсяalexey_ma Нимб уже пробивается
Можно попробовать создать окно с caption и поставить на него регион который прячет заголовок. Как ставить регионы обсуждалось пару дней назад : "Нестандартный вид формы " http://imho.ws/showthread.php?t=60808
__________________
Best Regards
alexey_ma вне форума  
Старый 03.07.2004, 22:34     # 3
edbond
Newbie
 
Регистрация: 05.04.2004
Сообщения: 24

edbond Нуль без палочки
попробуй вместо Ws_popup написать Ws_visible
__________________
edbond вне форума  
Старый 04.07.2004, 15:23     # 4
alexey_ma
Member
 
Регистрация: 10.03.2002
Адрес: Israel
Сообщения: 245

alexey_ma Нимб уже пробиваетсяalexey_ma Нимб уже пробивается
А толку то ? У него стиль Ws_ex_toolwindow создает окно с узким заголовком. А он хочет окно без заголовка и без бордера.
__________________
Best Regards
alexey_ma вне форума  
Старый 04.07.2004, 16:31     # 5
/7y3uK
Advanced Member
 
Аватар для /7y3uK
 
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498

/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)
Ой, точно

вот, правда запоздало, но вдруг поможет:

Ws_dlgframe - создание окна с двойной рамкой без заголовка.
Ws_overlapped - перекрывающееся окно
Ws_thickframe - окно с толстой рамкой, для изменения размеров окна.
Ws_visible
Ws_vscroll
..
ну и т.д.
/7y3uK вне форума  
Старый 12.07.2004, 12:43     # 6
pva++
Guest
 
Сообщения: n/a

проверенный способ

Если сейчас нигде не ошибусь, то попробуй вот как:

Код:
CreateWindowEx(0, "CLASSNAME"(*или как у тебя*), 0, WS_POPUP|WS_VISIBLE, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, 0, 0, GetModuleHandle(0), 0);
  • не забудь отрисоваться на WM_PAINT (от этого винда "виснет", а точнее гоняется по короткому циклу)
  • если хочешь рамку WS_BORDER

для паскальщиков считать '=", 0=Nil в нужных местах
 
Старый 12.07.2004, 19:30     # 7
dex0r
Junior Member
 
Регистрация: 03.05.2004
Сообщения: 49

dex0r Нимб уже пробиваетсяdex0r Нимб уже пробивается
pva++, Большое спасибо! всё отлично пахет!
dex0r вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 11:57.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.