INT_PTR BinaryModeDlg::DlgProc(HWindow* pDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_INITDIALOG: pDlg->CheckDlgButton(iBinaryMode == ENDIAN_LITTLE ? IDC_BINMODE_LITTLEEND : IDC_BINMODE_BIGEND, BST_CHECKED); return TRUE; case WM_COMMAND: switch (wParam) { case IDOK: iBinaryMode = pDlg->IsDlgButtonChecked(IDC_BINMODE_LITTLEEND) ? ENDIAN_LITTLE : ENDIAN_BIG; save_ini_data(); // fall through case IDCANCEL: pDlg->EndDialog(wParam); return TRUE; } break; case WM_HELP: OnHelp(pDlg); break; } return FALSE; }
INT_PTR DragDropOptionsDlg::DlgProc(HWindow *pDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { UINT checked = 0; switch (uMsg) { case WM_INITDIALOG: checked = enable_drag ? BST_CHECKED : BST_UNCHECKED; pDlg->CheckDlgButton(IDC_ENABLE_DRAG, checked); checked = enable_drop ? BST_CHECKED : BST_UNCHECKED; pDlg->CheckDlgButton(IDC_ENABLE_DROP, checked); checked = enable_scroll_delay_dd ? BST_CHECKED : BST_UNCHECKED; pDlg->CheckDlgButton(IDC_EN_SD_DD, checked); checked = enable_scroll_delay_sel ? BST_CHECKED : BST_UNCHECKED; pDlg->CheckDlgButton(IDC_EN_SD_SEL, checked); checked = always_pick_move_copy ? BST_CHECKED : BST_UNCHECKED; pDlg->CheckDlgButton(IDC_ALWAYS_CHOOSE, checked); checked = prefer_CF_HDROP ? BST_CHECKED : BST_UNCHECKED; pDlg->CheckDlgButton(IDC_DROP_CF_HDROP, checked); checked = prefer_CF_BINARYDATA ? BST_CHECKED : BST_UNCHECKED; pDlg->CheckDlgButton(IDC_DROP_BIN_DATA, checked); checked = prefer_CF_TEXT ? BST_CHECKED : BST_UNCHECKED; pDlg->CheckDlgButton(IDC_DROP_CF_TEXT, checked); checked = output_CF_BINARYDATA ? BST_CHECKED : BST_UNCHECKED; pDlg->CheckDlgButton(IDC_DRAG_BIN_DATA, checked); checked = output_CF_TEXT ? BST_CHECKED : BST_UNCHECKED; pDlg->CheckDlgButton(IDC_DRAG_CF_TEXT, checked); pDlg->CheckDlgButton(output_text_special ? IDC_TEXT_SPECIAL : IDC_TEXT_HEXDUMP, BST_CHECKED); checked = output_text_hexdump_display ? BST_CHECKED : BST_UNCHECKED; pDlg->CheckDlgButton(IDC_TEXT_DISPLAY, checked); checked = output_CF_RTF ? BST_CHECKED : BST_UNCHECKED; pDlg->CheckDlgButton(IDC_DRAG_RTF, checked); return TRUE; case WM_COMMAND: switch (wParam) { case IDOK: enable_drag = pDlg->IsDlgButtonChecked(IDC_ENABLE_DRAG); enable_drop = pDlg->IsDlgButtonChecked(IDC_ENABLE_DROP); enable_scroll_delay_dd = pDlg->IsDlgButtonChecked(IDC_EN_SD_DD); enable_scroll_delay_sel = pDlg->IsDlgButtonChecked(IDC_EN_SD_SEL); always_pick_move_copy = pDlg->IsDlgButtonChecked(IDC_ALWAYS_CHOOSE); prefer_CF_HDROP = pDlg->IsDlgButtonChecked(IDC_DROP_CF_HDROP); prefer_CF_BINARYDATA = pDlg->IsDlgButtonChecked(IDC_DROP_BIN_DATA); prefer_CF_TEXT = pDlg->IsDlgButtonChecked(IDC_DROP_CF_TEXT); output_CF_BINARYDATA = pDlg->IsDlgButtonChecked(IDC_DRAG_BIN_DATA); output_CF_TEXT = pDlg->IsDlgButtonChecked(IDC_DRAG_CF_TEXT); output_text_special = pDlg->IsDlgButtonChecked(IDC_TEXT_SPECIAL); output_text_hexdump_display = pDlg->IsDlgButtonChecked(IDC_TEXT_DISPLAY); output_CF_RTF = pDlg->IsDlgButtonChecked(IDC_DRAG_RTF); DragAcceptFiles(pwnd->m_hWnd, !target || !enable_drop || enable_drop && prefer_CF_HDROP); if (target && enable_drop) RegisterDragDrop(pwnd->m_hWnd, target); else RevokeDragDrop(pwnd->m_hWnd); save_ini_data(); // fall through case IDCANCEL: pDlg->EndDialog(wParam); return TRUE; } break; case WM_HELP: OnHelp(pDlg); break; } return FALSE; }