|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
Using Static Controls
The following example uses a timer and the STM_SETIMAGE message to animate an icon in a dialog box. The icon handles and the icon identifier (IDI_ICON) are defined in a global header file.
LRESULT APIENTRY StaticProc(hDlg, message, wParam, lParam) HWND hDlg; /* window handle of dialog box */ UINT message; /* type of message */ UINT wParam; /* message-specific information */ LONG lParam; { UINT idTimer = 1; static UINT i; static HICON aIcons[11]; switch (message) { case WM_INITDIALOG: /* initialize dialog box */ i = 0; /* Load icons("hinst" is defined globally). */
hiconOne = LoadIcon(hinst, "OneIco"); aIcons[i] = hiconOne; hiconTwo = LoadIcon(hinst, "TwoIco"); aIcons[++i] = hiconTwo; . . /* Continue with the remaining icons. */ . i = 0; /* * Use STM_SETIMAGE to associate an icon with the * IDI_ICON identifier. */ SendDlgItemMessage(hDlg, /* dialog box window handle */
IDI_ICON, /* icon identifier */ STM_SETIMAGE, /* message to send */ (WPARAM) IMAGE_ICON, /* image type */ (LPARAM) aIcons[i++]); /* icon handle */ /* Set a timer for 50-millisecond intervals. */ SetTimer(hDlg, idTimer, 50, (TIMERPROC) NULL); return TRUE; case WM_TIMER: /*
* Use STM_SETIMAGE to associate a new icon with * the IDI_ICON identifier whenever a WM_TIMER * message is received. */ SendDlgItemMessage(hDlg, /* dialog box window handle */ IDI_ICON, /* icon identifier */ STM_SETIMAGE, /* message to send */ (WPARAM) IMAGE_ICON, /* image type */ (LPARAM) aIcons[i++]); /* new icon handle */
if (i == 10) i = 0; break; case WM_COMMAND: if (wParam == IDOK || wParam == IDCANCEL) { EndDialog(hDlg, TRUE); return TRUE; } return 0; case WM_DESTROY: /* clean up */ KillTimer(hDlg, idTimer); DeleteObject(hiconOne); DeleteObject(hiconTwo); . . /* Continue with the remaining icons. */
. return 0; } return FALSE; UNREFERENCED_PARAMETER(lParam); }
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
Использование Статических Элементов управления
Следующий пример использует таймер и сообщение STM_SETIMAGE, чтобы оживлять икону в диалоговом ящике. Икона оперируется и иконный идентификатор (IDI_ICON) определен в глобальном файле заголовка.
LRESULT APIENTRY StaticProc(hDlg, СООБЩЕНИЕ, wParam, lParam) HWND hDlg; /* ручка окна диалогового ящика */ сообщение UINT; /* тип сообщения */ UINT wParam; /* сообщеняя-специфическая информация */ ДОЛГО (ДЛИНОЙ) lParam; { UINT idTimer = 1; статический i UINT; статический HICON aIcons[11]; ключ (сообщение) { случай WM_INITDIALOG: /* инициализируйте диалогового блока */ i = 0; /* Иконки Загрузки("hinst" определяется глобально */
hiconOne = LoadIcon(hinst, "OneIco"); aIcons[i] = hiconOne; hiconTwo = LoadIcon(hinst, "TwoIco"); aIcons[++i] = hiconTwo; . . /* Продолжите остальное icons. */ . я = 0; /* * Используйте STM_SETIMAGE, чтобы соединять иконку с the * идентификатор IDI_ICON. */ SendDlgItemMessage(hDlg, /* РУЧКА окна диалогового блока */
IDI_ICON, /* иконный идентификатор */ STM_SETIMAGE, /* сообщение, чтобы посылать */ (WPARAM) IMAGE_ICON, /* тип образа */ (LPARAM) aIcons[я++]); /* иконная ручка */ /* Установите таймер в течение 50- миллисекунды intervals. */ SetTimer(hDlg, idTimer, 50, (TIMERPROC) НЕДЕЙСТВИТЕЛЬНЫЙ); возвращайтесь ВЕРНО; случай WM_TIMER: /*
* Используйте STM_SETIMAGE, чтобы соединять новую иконку с * идентификатор IDI_ICON всякий раз, когда WM_TIMER * сообщение получено. */ SendDlgItemMessage(hDlg, /* РУЧКА окна диалогового блока */ IDI_ICON, /* иконный идентификатор */ STM_SETIMAGE, /* сообщение, чтобы посылать */ (WPARAM) IMAGE_ICON, /* тип образа */ (LPARAM) aIcons[я++]); /* новая иконная ручка */
если (i == 10) i = 0; прерывание; случай WM_COMMAND: если (wParam == IDOK || wParam == IDCANCEL) { EndDialog(hDlg, TRUE); возвращайтесь ВЕРНО; } возврат 0; случай WM_DESTROY: /* наведите порядок */ KillTimer(hDlg, idTimer); DeleteObject(hiconOne); DeleteObject(hiconTwo); . . /* Продолжите остальное icons. */
. возврат 0; } обратная ЛОЖЬ; UNREFERENCED_PARAMETER(lParam); }
|
|
|
|
| |