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 руб./мес


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




 61 - Свой курсор в диалоговом окне / Диалоговые окна / Visual C++

Шаг 61 - Свой курсор в диалоговом окне

Сначала создадим свой курсор в ресурсах.

61_1.gif (12908 b)

Теперь нам нужно перегрузить сообщение смены курсора. Хитрость в том, чтобы это сообщение увидеть. Для этого нужно установить фильтр сообщений - Windows.

61_2.gif (13092 b)

У вас появится макрос обработки сообщения смены курсора.

BEGIN_MESSAGE_MAP(CTestDDVDlg, CDialog)
	//{{AFX_MSG_MAP(CTestDDVDlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
	ON_WM_SETCURSOR()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

Описание функции.

class CTestDDVDlg : public CDialog
{
// Construction
.........
protected:
	HICON m_hIcon;

	// Generated message map functions
	//{{AFX_MSG(CTestDDVDlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	afx_msg void OnButton1();
	afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

Ну и сама функцияб внутри которой нужно вызывать функцию установки курсора.

BOOL CTestDDVDlg::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) 
{
	// TODO: Add your message handler code here and/or call default
	SetCursor(AfxGetApp()->LoadCursor(IDC_POINTER));
	return TRUE;
}

Запустим и посмотрим.

61_3.gif (3919 b)


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