На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

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);
}



Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz