Re: Dialog Box Question

From: Charles Melice <mail_at_forthcad.com>
Date: Thu, 14 Oct 1999 10:34:47 +0100

Michael,

> Does anyone have a simple example of how to set a bitmap within a "Static
Control" in a dialog box "USING" the SendDlgItemMessage function?

You can search help on following static control style:

        SS_REALSIZEIMAGE
        SS_RIGHTJUST
        SS_CENTERIMAGE

and SS_BITMAP

Also, I have found the next 'C' code example in "Win32 SDK Online Help".

Regards,
Charles

----------------------

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

----------------------

.
Received on Thu Oct 14 1999 - 10:34:47 PDT


Subscribe to our e-mail list service. It's free for all SwiftForth and SwiftX users!

This archive was generated 09-Feb-2012. Archive updated nightly.