powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Смена фона окна с МФС
7 сообщений из 7, страница 1 из 1
Смена фона окна с МФС
    #34270043
Полинтернета перерыл и ничего доброго - кроме как переписать OnEraseBkgnd чот не нашел.
Но этот метод не очень понравился - перехватывается событие и пересоздается стандартный бакграунд. а хочется чтоб этот бакграунд сразу же был такой какой надо. Опыты по регистрации своего класса окна командой

AfxRegisterWndClass(CS_DBLCLKS /* | CS_VREDRAW | CS_HREDRAW */,
::LoadCursor(NULL, IDC_ARROW),
(HBRUSH) (COLOR_BTNFACE + 1),
::LoadIcon(NULL, IDI_APPLICATION));

и последующей передачей полученного в PreCreateWindow тоже к особым усмпехам не привела: если использовать этот класс при создании CChildFrame или наследника от CView результата вообще никакого. При использовании их в обоих классах бакграун пропадает напрочь....
Как быть, чо делать, если хочется такого странного?
...
Рейтинг: 0 / 0
Смена фона окна с МФС
    #34270453
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_любитель_винды пишет:

> Но этот метод не очень понравился - перехватывается событие и
> пересоздается стандартный бакграунд. а хочется чтоб этот бакграунд сразу
> же был такой какой надо. Опыты по регистрации своего класса окна командой

Не существует никакого стандартного бэкграунда. Есть только кисть в классе
окна, которой , если ты это не делаешь сам, закрашивается клиентская
область окна. Но там может быть только кисть, если тебе над что-то
более сложное, надо рисовать самому.

> и последующей передачей полученного в PreCreateWindow тоже к особым
> усмпехам не привела: если использовать этот класс при создании
> CChildFrame или наследника от CView результата вообще никакого.

Вообще странные какие-то слова, у фрейма и вьюхи вообще-то
разные бэкграунды (при этом бэкграунд фрейма почти никогда
не виден). Не, мысть правильная - задать в классе окна
кисть. Но не все можно нарисовать с помощью кисти,
поэтому если тебе нужно что-то сложнее - рисуй сам.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Смена фона окна с МФС
    #34270558
MElin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
_любитель_винды пишет:

> Но этот метод не очень понравился - перехватывается событие и
> пересоздается стандартный бакграунд. а хочется чтоб этот бакграунд сразу
> же был такой какой надо. Опыты по регистрации своего класса окна командой

Не существует никакого стандартного бэкграунда. Есть только кисть в классе
окна, которой , если ты это не делаешь сам, закрашивается клиентская
область окна. Но там может быть только кисть, если тебе над что-то
более сложное, надо рисовать самому.

> и последующей передачей полученного в PreCreateWindow тоже к особым
> усмпехам не привела: если использовать этот класс при создании
> CChildFrame или наследника от CView результата вообще никакого.

Вообще странные какие-то слова, у фрейма и вьюхи вообще-то
разные бэкграунды (при этом бэкграунд фрейма почти никогда
не виден). Не, мысть правильная - задать в классе окна
кисть. Но не все можно нарисовать с помощью кисти,
поэтому если тебе нужно что-то сложнее - рисуй сам.
Posted via ActualForum NNTP Server 1.3

вот вот. Кисть. У класса. Как поменять кисть у класса?
с COLOR_WINDOW на COLOR_BTNFACE.

Верней так - Как зарегестрировать и потом использовать свой класс так, что б его понимал MFC
...
Рейтинг: 0 / 0
Смена фона окна с МФС
    #34271753
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MElin пишет:

> Верней так - Как зарегестрировать и потом использовать свой класс так,
> что б его понимал MFC

Вообще MFC понимает любой зарегистрированный класс окна.
Но есть AfxRegisterWindowClass, если нужно.
Использовать - задать в PreCreateWindow.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Смена фона окна с МФС
    #34272955
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MElin....У класса. Как поменять кисть у класса?...

у класса НЕТ никаких кистей...
Есть у объектов вывода..например графика, печать и иже... Контекс вывода должен обладать такй возможностью - задать кисть, фонт, цвет и т.п..

с уважением
(круглый)
...
Рейтинг: 0 / 0
Смена фона окна с МФС
    #34273414
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolobok0 пишет:

> у класса НЕТ никаких кистей...

MSDN
typedef struct {
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HINSTANCE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCTSTR lpszMenuName;
LPCTSTR lpszClassName;
} WNDCLASS, *PWNDCLASS;


hbrBackground
Handle to the class background brush. This member can be a handle to the
physical brush to be used for painting the background, or it can be a color
value. A color value must be one of the following standard system colors (the
value 1 must be added to the chosen color). If a color value is given, you must
convert it to one of the following
....


Все еще нету ?

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Смена фона окна с МФС
    #34288860
MElin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
MElin пишет:

> Верней так - Как зарегестрировать и потом использовать свой класс так,
> что б его понимал MFC

Вообще MFC понимает любой зарегистрированный класс окна.
Но есть AfxRegisterWindowClass, если нужно.
Использовать - задать в PreCreateWindow.
Posted via ActualForum NNTP Server 1.3

В первом посте именно эта ситуация и обсуждалась - регестрировался класс, и использовался в PreCreateWubdiw. Результат получился достаточно странный.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Смена фона окна с МФС
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]