C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 67 - Как обработать сообщение смены иконы / Диалоговые окна / Visual C++

Шаг 67 - Как обработать сообщение смены иконы

Я уже говорил, что этого сообщения нет в описании сообщений. Придется все самому делать ручками. Описываем функцию реакции:

class CTestDialog : public CDialog
{
// Construction
public:
	CTestDialog(CWnd* pParent = NULL);   // standard constructor
	CStringArray *cs;
	void AFXAPI CTestDialog::DDX_Array(CDataExchange* pDx,int ID );
	afx_msg void OnSetIcon(WPARAM w, LPARAM i);
.......
};

Макрос перехвата сообщения:

BEGIN_MESSAGE_MAP(CTestDialog, CDialog)
	//{{AFX_MSG_MAP(CTestDialog)
	ON_WM_CREATE()
	ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
	ON_WM_CHAR()
	//}}AFX_MSG_MAP
	ON_MESSAGE(WM_SETICON,OnSetIcon)
END_MESSAGE_MAP()

Ну, и саму функцию:

void CTestDialog::OnSetIcon(WPARAM w, LPARAM i)
{
	AfxMessageBox("Icon");
}

Тут же запустив программу Вы увидите, что иконы нет.

67_1.gif (3799 b)

Хотя информация о вызове этого сообщения появляется при запуске диалога.

67_2.gif (4749 b)

Применить можно для запрета классам наследникам устанавливать икону или установки иконы связанной с классом окна.


| |
Автор Каев Артем.
[AD]