HRGN hRgn;
hRgn = CreateEllipticRgn(10,10,10,10);
SetWindowRgn(this, hRgn, TRUE);
Как изменить интерфейс окна?
Такое плавное окошко, совсем не такое как блокнот и т.д. (я не считаю XP).
Ну вот! Я хочу сделать для своего приложения другой интерфейс - не такой как в винде!
Как это можно сделать, подскажите или ссылочку киньте я сам посмотрю.
Спасибо
допустим такой
HRGN hRgn = CreateEllepticRegion(...);
потом вызываешь функцию
SetWindowsRgn(hWwnd,hRgn,флаги) //флагами поиграйся сам
Да и потом можещь обрезать битмаку и подставить её на окно и т.д., т.е
все ложиться на твою фантазию работы с GDI:)
допустим такой
HRGN hRgn = CreateEllepticRegion(...);
потом вызываешь функцию
SetWindowsRgn(hWwnd,hRgn,флаги) //флагами поиграйся сам
[/QUOTE]
А если серьёзно? :D
Ну ты пробуй или накатать простой код
Он серьёзно.
С помощью регионов можно создать окошко любой формы, я как-то ради прикола делал ушастое. Причём не обязательно все части должны быть увязаны, можно сделать окно "карта мира" с просвечивающим рабочим столом вместо окиянов :). А вот насчёт остальных контролов при создании своего стиля рекомендую фишку Owner Drawn. И не забудь регионы и для контролов тоже.
С помощью регионов можно создать окошко любой формы, я как-то ради прикола делал ушастое. Причём не обязательно все части должны быть увязаны, можно сделать окно "карта мира" с просвечивающим рабочим столом вместо окиянов :). А вот насчёт остальных контролов при создании своего стиля рекомендую фишку Owner Drawn. И не забудь регионы и для контролов тоже.[/QUOTE]
Форму я тоже обрезал. Мне надо было именно другой дизайн формы. Я подумал - может есть какая-нибудь тулса для этого, вот и спросил.
А этим способом наверное придется свою компоненту писать?
Или может я ошибаюсь?
А можно ссылочку на Owner Drawn?
Или на словах, если это не долго объяснять! :D
Спасибо!
Я попробовал... (у мне я VS2005) и когда я указал функции SetWindowRgn 3 параметра, компилятор сказал, что 3 параметра много - надо 2.
Почему?
Даже в MSDN`e смотрел прототип этой функции, там было написано 3 параметра: хэндл, HRGN и редроу.
А этим способом наверное придется свою компоненту писать?
Или может я ошибаюсь?
А можно ссылочку на Owner Drawn?
Или на словах, если это не долго объяснять! :D
Спасибо![/QUOTE]
*_OWNERDRAW - стиль для контролов (BS_OWNERDRAW,LBS_OWNERDRAWFIXED,LBS_OWNERDRAWVARIABLE к примеру), при котором родительское окно получает WM_DRAWITEM(иногда вместе с WM_MEASUREITEM) вместо обработки самим контролом сообщения WM_PAINT. Рисование осуществляет родительское окно - твоё окно в общем случае. А для кустомного стиля тебе в любом случае стандартные окна, и соответственно их стили, не годятся.
Цитата:
Я попробовал... (у мне я VS2005) и когда я указал функции SetWindowRgn 3 параметра, компилятор сказал, что 3 параметра много - надо 2.
Почему?
Даже в MSDN`e смотрел прототип этой функции, там было написано 3 параметра: хэндл, HRGN и редроу.
Код в студию.
Вот код:
Код:
this - это дескриптор диалога.
Пишет ошибку: Error 1 error C2660: 'CWnd::SetWindowRgn' : function does not take 3 arguments
Тобишь эта функция не может принимать 3 аргумента. Вообщем ХЗ.
Я тебе дал WinApi функцию а ты пытаешся её использовать как метод класса CWnd, конечно будет ругать этот меьтод будет использовать hwnd определённый в классе CWnd
Русский язык: не аттестован.
Он пытался сказать что как метод Cwnd, SetWindowRgn не требует HWND.
[QUOTE=Ireul]Он пытался сказать что как метод Cwnd, SetWindowRgn не требует HWND.[/QUOTE]
Точно!!!
Как MessageBox...
Спасибо!
Кроме как: поиск по заголовку и т.д...
то
HWND GetDlgItem(HWND, int);
возвращает хендл елемента
принимает хендл родителя и ID дочернего елемента
либо FindFindow используй если ничего не знаешь про дилог
Спасибо! :D
Ребята, а как на созданное нестандартное окно прилипить такую же нестандартную кнопку?
Тоесть создай свой класс кнопки отнаследованный например от MFCшного или WTLного CButton. И рисуй кнопку вручную так же как и окно на сколько фантазии хватит.