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


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




 134 - Смена курсора / MFC шаг за шагом / Visual C++

Шаг 134 - Смена курсора

----Исходное сообщение-----
От: Yegor A. Blackheel 
Кому: kaev@yandex.ru 
Дата: 7 марта 2000 г. 13:31
Тема: MFCByStep 

Привет, Артем! Классный сайт!
Альтернативный способ смены курсора вида:
1. В любом нужном месте вида вставляем строки
/*наши курсоры*/
HCURSOR  newcursor, oldcursor;  
.................................
/* */
newcursor = AfxGetApp()->LoadCursor(IDC_ВАШКУРСОР);
/* если  надо - сохраняем старый */
oldcursor = ::GetCursor();
/*функция SetClassLong - принадледит глобальному 
пространству имен - используем :: */
/*GCL_HCURSOR означает, что мы меняем именно 
курсор, принадлежащий окну вида */
::SetClassLong(this->m_hWnd,GCL_HCURSOR,(long)newcursor);
2. Все!
Конечно, чем именно пользоваться, дело вкуса :) Но мне кажется,
что использование SetClassLong достаточно интересная тема для нового ШАГА. :)
С уважением, Yegor A. Blackheel
Ну что, давайте попробуем и этот вариант. Делаем приложение на базе диалогового окна. На это окно помещаем кнопку и код к ней. В ресурсы добавляем наш курсор.

134.gif (3767 b)

Нарисуйте что-нибудь на курсоре, например, фигу :-))) Давайте напишем код и посмотрим результат работы.

void CTestCursDlg::OnButton1() 
{
	HCURSOR cr;
	HCURSOR old;
	cr= AfxGetApp()->LoadCursor(IDC_CURSOR1);
	old = ::SetCursor(cr); 
	::SetClassLong(this->m_hWnd,GCL_HCURSOR,(long)cr);
}

Итак, создаем указатели на курсоры. Один на новый, второй на старый. Из ресурсов зачитываем курсор (LoadCursor). Дальше получаем указатель на старый курсор и устанавливаем новый (SetCursor). А вот теперь эта функция SetClassLong, которая помогает нам установить курсор. Результаты тестирования меня немного удивили :-))). Курсор устанавливается при перемещении над кнопкой в обычный вид, уберешь с кнопки - нормальный, который установили.


Загрузить проект | | |
Автор Каев Артем.
[AD]