//--------------------------------------------------------------------------; // // File: Roland.cpp // // Copyright (c) 1997 Microsoft Corporation. All rights reserved // //--------------------------------------------------------------------------; #include "mmcpl.h" #include #include #include #include #include //////////// // Functions //////////// INT_PTR CALLBACK RolandDlgHandler(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam) { BOOL fReturnVal = FALSE; static HBITMAP hLogo = NULL; switch (msg) { default: fReturnVal = FALSE; break; case WM_SYSCOLORCHANGE: { if (hLogo) { DeleteObject( (HGDIOBJ) hLogo); hLogo = NULL; } hLogo = (HBITMAP) LoadImage(ghInstance,MAKEINTATOM(IDB_ROLAND), IMAGE_BITMAP, 0, 0, LR_LOADTRANSPARENT | LR_LOADMAP3DCOLORS); if (hLogo) { SendDlgItemMessage(hDlg, IDC_LOGO_FRAME, STM_SETIMAGE, IMAGE_BITMAP, (LPARAM) hLogo); } fReturnVal = TRUE; } break; case WM_DESTROY: { if (hLogo) { DeleteObject( (HGDIOBJ) hLogo); hLogo = NULL; } } break; case WM_INITDIALOG: { if (lParam) { SetWindowText(GetDlgItem(hDlg, IDC_RENDERER), (TCHAR *) lParam); } hLogo = (HBITMAP) LoadImage(ghInstance,MAKEINTATOM(IDB_ROLAND), IMAGE_BITMAP, 0, 0, LR_LOADTRANSPARENT | LR_LOADMAP3DCOLORS); if (hLogo) { SendDlgItemMessage(hDlg, IDC_LOGO_FRAME, STM_SETIMAGE, IMAGE_BITMAP, (LPARAM) hLogo); } fReturnVal = TRUE; } break; case WM_COMMAND: { switch (LOWORD(wParam)) { case IDCANCEL: case IDOK: EndDialog(hDlg, TRUE); break; } break; } } return fReturnVal; } STDAPI_(void) RolandProp(HWND hwnd, HINSTANCE hInst, TCHAR *szName) { DialogBoxParam(hInst,MAKEINTRESOURCE(IDD_ROLAND),hwnd, RolandDlgHandler, (LPARAM) szName); }