VOID RunLiveCD( PSTATE pState) { InitImageInfo(&pState->ImageInfo); while (pState->NextPage != DONE) { switch (pState->NextPage) { case LOCALEPAGE: DialogBoxParam(hInstance, MAKEINTRESOURCE(IDD_LOCALEPAGE), NULL, LocaleDlgProc, (LPARAM)pState); break; case STARTPAGE: DialogBoxParam(hInstance, MAKEINTRESOURCE(IDD_STARTPAGE), NULL, StartDlgProc, (LPARAM)pState); break; default: break; } } DeleteObject(pState->ImageInfo.hBitmap); }
bool AddLibInfo( bool already_stopping, bool *force_stop ) { unsigned long module; bool added; bool deleted; image_entry *image; added = false; deleted = false; module = 0; while( (module = RemoteGetLibName( module, TxtBuff, TXT_LEN )) != 0 ) { if( TxtBuff[0] == NULLCHAR ) { deleted = true; for( image = DbgImageList; image != NULL; image = image->link ) { if( image->system_handle == module ) { DUIImageLoaded( image, false, already_stopping, force_stop ); UnLoadImgSymInfo( image, false ); break; } } } else { added = true; image = CreateImage( TxtBuff, NULL ); if( image != NULL ) { image->system_handle = module; if( ReLoadImgSymInfo( image ) ) { InitImageInfo( image ); } DUIImageLoaded( image, true, already_stopping, force_stop ); } } } CheckSegAlias(); if( deleted ) { HookNotify( true, HOOK_DLL_END ); } if( added ) { HookNotify( true, HOOK_DLL_START ); } return( added ); }
bool LoadDeferredSymbols( void ) { image_entry *image; bool rc = false; bool defer; defer = _IsOn( SW_DEFER_SYM_LOAD ); _SwitchOff( SW_DEFER_SYM_LOAD ); for( image = DbgImageList; image != NULL; image = image->link ) { if( image->deferred_symbols ) { if( ReLoadImgSymInfo( image ) ) { InitImageInfo( image ); image->deferred_symbols = false; rc = true; } } } if( defer ) _SwitchOn( SW_DEFER_SYM_LOAD ); return( rc ); }
//static INT_PTR CALLBACK INT_PTR CALLBACK VolumeDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { static IMGINFO ImgInfo; PGLOBAL_DATA pGlobalData; UNREFERENCED_PARAMETER(lParam); UNREFERENCED_PARAMETER(wParam); pGlobalData = (PGLOBAL_DATA)GetWindowLongPtr(hwndDlg, DWLP_USER); switch(uMsg) { case MM_MIXM_LINE_CHANGE: { GetMuteState(pGlobalData); if (pGlobalData->muteVal) { SendDlgItemMessage(hwndDlg, IDC_MUTE_CHECKBOX, BM_SETCHECK, (WPARAM)BST_CHECKED, (LPARAM)0); SendDlgItemMessage(hwndDlg, IDC_MUTE_ICON, STM_SETIMAGE, IMAGE_ICON, (LPARAM)pGlobalData->hIconMuted); } else { SendDlgItemMessage(hwndDlg, IDC_MUTE_CHECKBOX, BM_SETCHECK, (WPARAM)BST_UNCHECKED, (LPARAM)0); SendDlgItemMessage(hwndDlg, IDC_MUTE_ICON, STM_SETIMAGE, IMAGE_ICON, (LPARAM)pGlobalData->hIconUnMuted); } break; } case MM_MIXM_CONTROL_CHANGE: { GetVolumeValue(pGlobalData); SendDlgItemMessage(hwndDlg, IDC_VOLUME_TRACKBAR, TBM_SETSEL, (WPARAM)FALSE, (LPARAM)MAKELONG(pGlobalData->volumeMinimum, pGlobalData->volumeValue/VOLUME_DIVIDER)); SendDlgItemMessage(hwndDlg, IDC_VOLUME_TRACKBAR, TBM_SETPOS, (WPARAM)TRUE, (LPARAM)pGlobalData->volumeValue/VOLUME_DIVIDER); break; } case WM_INITDIALOG: { pGlobalData = (GLOBAL_DATA*) HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(GLOBAL_DATA)); SetWindowLongPtr(hwndDlg, DWLP_USER, (LONG_PTR)pGlobalData); pGlobalData->hIconUnMuted = LoadImage(hApplet, MAKEINTRESOURCE(IDI_CPLICON), IMAGE_ICON, 32, 32, LR_DEFAULTCOLOR); pGlobalData->hIconMuted = LoadImage(hApplet, MAKEINTRESOURCE(IDI_MUTED_ICON), IMAGE_ICON, 32, 32, LR_DEFAULTCOLOR); pGlobalData->hIconNoHW = LoadImage(hApplet, MAKEINTRESOURCE(IDI_NO_HW), IMAGE_ICON, 32, 32, LR_DEFAULTCOLOR); InitImageInfo(&ImgInfo); InitVolumeControls(hwndDlg, pGlobalData); break; } case WM_DRAWITEM: { LPDRAWITEMSTRUCT lpDrawItem; lpDrawItem = (LPDRAWITEMSTRUCT) lParam; if(lpDrawItem->CtlID == IDC_SPEAKIMG) { HDC hdcMem; LONG left; /* Position image in centre of dialog */ left = (lpDrawItem->rcItem.right - ImgInfo.cxSource) / 2; hdcMem = CreateCompatibleDC(lpDrawItem->hDC); if (hdcMem != NULL) { SelectObject(hdcMem, ImgInfo.hBitmap); BitBlt(lpDrawItem->hDC, left, lpDrawItem->rcItem.top, lpDrawItem->rcItem.right - lpDrawItem->rcItem.left, lpDrawItem->rcItem.bottom - lpDrawItem->rcItem.top, hdcMem, 0, 0, SRCCOPY); DeleteDC(hdcMem); } } break; } case WM_COMMAND: { switch (LOWORD(wParam)) { case IDC_MUTE_CHECKBOX: if (HIWORD(wParam) == BN_CLICKED) { SwitchMuteState(pGlobalData); if (pGlobalData->muteVal) { SendDlgItemMessage(hwndDlg, IDC_MUTE_ICON, STM_SETIMAGE, IMAGE_ICON, (LPARAM)pGlobalData->hIconMuted); } else { SendDlgItemMessage(hwndDlg, IDC_MUTE_ICON, STM_SETIMAGE, IMAGE_ICON, (LPARAM)pGlobalData->hIconUnMuted); } PropSheet_Changed(GetParent(hwndDlg), hwndDlg); } break; case IDC_ICON_IN_TASKBAR: if (HIWORD(wParam) == BN_CLICKED) { PropSheet_Changed(GetParent(hwndDlg), hwndDlg); } break; case IDC_ADVANCED_BTN: LaunchSoundControl(hwndDlg); break; } break; } case WM_HSCROLL: { HWND hVolumeTrackbar = GetDlgItem(hwndDlg, IDC_VOLUME_TRACKBAR); if (hVolumeTrackbar == (HWND)lParam) { pGlobalData->volumeValue = (DWORD)SendDlgItemMessage(hwndDlg, IDC_VOLUME_TRACKBAR, TBM_GETPOS, 0, 0)*VOLUME_DIVIDER; SetVolumeValue(pGlobalData); SendDlgItemMessage(hwndDlg, IDC_VOLUME_TRACKBAR, TBM_SETSEL, (WPARAM)TRUE, (LPARAM)MAKELONG(pGlobalData->volumeMinimum, pGlobalData->volumeValue/VOLUME_DIVIDER)); } break; } case WM_DESTROY: mixerClose(pGlobalData->hMixer); DestroyIcon(pGlobalData->hIconMuted); DestroyIcon(pGlobalData->hIconUnMuted); DestroyIcon(pGlobalData->hIconNoHW); HeapFree(GetProcessHeap(), 0, pGlobalData); break; case WM_NOTIFY: if (((LPNMHDR)lParam)->code == (UINT)PSN_APPLY) { SaveData(hwndDlg); } return TRUE; } return FALSE; }
void DialogReplacePiece::SetDefaultImageInfo(const ImageInfo* pImageInfo) { if (!pImageInfo) return; InitImageInfo(pImageInfo); }
/* Property page dialog callback */ INT_PTR CALLBACK GeneralPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { UNREFERENCED_PARAMETER(lParam); UNREFERENCED_PARAMETER(wParam); switch (uMsg) { case WM_INITDIALOG: pImgInfo = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IMGINFO)); if (pImgInfo == NULL) { EndDialog(hwndDlg, 0); return FALSE; } InitImageInfo(pImgInfo); SetWindowLongPtr(GetDlgItem(hwndDlg, IDC_ROSIMG), GWL_WNDPROC, (LONG)RosImageProc); GetSystemInformation(hwndDlg); break; case WM_DESTROY: HeapFree(GetProcessHeap(), 0, pImgInfo); break; case WM_COMMAND: if (LOWORD(wParam) == IDC_LICENCE) { DialogBox(hApplet, MAKEINTRESOURCE(IDD_LICENCE), hwndDlg, LicenceDlgProc); return TRUE; } break; case WM_DRAWITEM: { LPDRAWITEMSTRUCT lpDrawItem; lpDrawItem = (LPDRAWITEMSTRUCT) lParam; if (lpDrawItem->CtlID == IDC_ROSIMG) { HDC hdcMem; LONG left; /* position image in centre of dialog */ left = (lpDrawItem->rcItem.right - pImgInfo->cxSource) / 2; hdcMem = CreateCompatibleDC(lpDrawItem->hDC); if (hdcMem != NULL) { SelectObject(hdcMem, pImgInfo->hBitmap); BitBlt(lpDrawItem->hDC, left, lpDrawItem->rcItem.top, lpDrawItem->rcItem.right - lpDrawItem->rcItem.left, lpDrawItem->rcItem.bottom - lpDrawItem->rcItem.top, hdcMem, 0, 0, SRCCOPY); DeleteDC(hdcMem); } } return TRUE; } case WM_NOTIFY: { NMHDR *nmhdr = (NMHDR *)lParam; if (nmhdr->idFrom == IDC_ROSHOMEPAGE_LINK && nmhdr->code == NM_CLICK) { PNMLINK nml = (PNMLINK)nmhdr; ShellExecuteW(hwndDlg, L"open", nml->item.szUrl, NULL, NULL, SW_SHOWNORMAL); } break; } } return FALSE; }