Шаг 126 - Дальше CWinApp

Для дальнейших экпериментов мы создадим приложение на базе диалогового окна, на котором будем распологать кнопки. К кнопкам будем добавлять код, который будет показывать тот или иной способ работы с классом CWinApp.

Для организации курсора в виде песочных часов есть функция DoWaitCursor.

  virtual void DoWaitCursor( 
    int nCode // 1 часы - 0 нет часов.
   );
И пример реализации при нажатии на кнопку.
void CTestAppDlg::OnButton1() 
{
	CWinApp* cw=AfxGetApp();
	cw->DoWaitCursor(1);
	Sleep(1000);
	cw->DoWaitCursor(0); 
}

Функция LoadIcon позволяет прочитать иконку из файла ресурсов. Создайте в ресурсах иконку с идентификатором IDI_ICON1 по нажатию на кнопку, которую мы создадим, эта иконка будет иконкой приложения. Вот код.

void CTestAppDlg::OnButton2() 
{
	CWinApp* cw=AfxGetApp();
	HICON hc=cw->LoadIcon(IDI_ICON1); 
	if (hc!=NULL)
	{
		SetIcon(hc,false);
	}
}

Есть и еще одна функция LoadCursor(), которая читает курсор из файла ресурсов. Создайте курсор в файле ресурсов. И вот код немного не тривиальный, в смысле как из курсора сделать иконку.

void CTestAppDlg::OnButton3() 
{
	CWinApp* cw=AfxGetApp();
	HICON  hk=cw->LoadCursor(IDC_CURSOR1);
	if (hk!=NULL)
	{
		SetIcon(hk,false);
	}
}

Очень интересная функция HideApplication(). Она прячет окно и найти его можно будет только через Ctrl-Alt-Del. Создайте кнопку и текст кода.

void CTestAppDlg::OnButton4() 
{
	CWinApp* cw=AfxGetApp();
	cw->HideApplication();
	
}

Загрузить проект | Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.