Для дальнейших экпериментов мы создадим приложение на базе диалогового окна, на котором будем распологать кнопки. К кнопкам будем добавлять код, который будет показывать тот или иной способ работы с классом 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(); }