static void TrackLossless(HWND hwndDlg) { const bool lossy = !GET_CHECK(OUT_Lossless_Check); ENABLE_ITEM(OUT_Quality_Label, lossy); ENABLE_ITEM(OUT_Quality_Slider, lossy); ENABLE_ITEM(OUT_Quality_Readout, lossy); }
static void TrackLossless(HWND hwndDlg) { bool lossy = GET_CHECK(OUT_Lossy_Radio); ENABLE_ITEM(OUT_Quality_Field, lossy); ENABLE_ITEM(OUT_Quality_Slider, lossy); bool alpha = !GET_CHECK(OUT_Alpha_Radio_None); ENABLE_ITEM(OUT_Lossy_Alpha_Check, (lossy && alpha)); }
static void TrackAlpha(HWND hwndDlg) { if( GET_CHECK(OUT_Alpha_Radio_None) ) { ENABLE_ITEM(OUT_Alpha_Cleanup_Check, FALSE); ENABLE_ITEM(OUT_Lossy_Alpha_Check, FALSE); } else { ENABLE_ITEM(OUT_Alpha_Cleanup_Check, GET_CHECK(OUT_Alpha_Radio_Transparency)); ENABLE_ITEM(OUT_Lossy_Alpha_Check, GET_CHECK(OUT_Lossy_Radio)); } }
static BOOL CALLBACK DialogProc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM lParam) { BOOL fError; switch(message) { case WM_INITDIALOG: SET_CHECK( (g_alpha == DIALOG_ALPHA_TRANSPARENCY ? IN_Alpha_Radio_Transparent : g_alpha == DIALOG_ALPHA_CHANNEL ? IN_Alpha_Radio_Channel : IN_Alpha_Radio_Transparent), TRUE); SET_CHECK(IN_Multiply_Checkbox, g_mult); SET_CHECK(IN_Auto_Checkbox, g_autoD); ENABLE_ITEM(IN_Multiply_Checkbox, (g_alpha == DIALOG_ALPHA_CHANNEL)); return TRUE; case WM_NOTIFY: return FALSE; case WM_COMMAND: g_alpha = GET_CHECK(IN_Alpha_Radio_Transparent) ? DIALOG_ALPHA_TRANSPARENCY : GET_CHECK(IN_Alpha_Radio_Channel) ? DIALOG_ALPHA_CHANNEL : DIALOG_ALPHA_TRANSPARENCY; g_mult = GET_CHECK(IN_Multiply_Checkbox); g_autoD = GET_CHECK(IN_Auto_Checkbox); g_item_clicked = LOWORD(wParam); switch(g_item_clicked) { case IN_OK: case IN_Cancel: EndDialog(hwndDlg, 0); return TRUE; case IN_Set_Defaults_Button: WriteAlphaPrefs(); WriteAutoPrefs(); return TRUE; case IN_Alpha_Radio_Transparent: case IN_Alpha_Radio_Channel: ENABLE_ITEM(IN_Multiply_Checkbox, (g_alpha == DIALOG_ALPHA_CHANNEL)); return TRUE; } } return FALSE; }
void CEpgDataCap_BonDlg::BtnUpdate(DWORD guiMode) { switch(guiMode){ case GUI_NORMAL: ENABLE_ITEM(IDC_COMBO_TUNER, TRUE); ENABLE_ITEM(IDC_COMBO_SERVICE, TRUE); ENABLE_ITEM(IDC_BUTTON_CHSCAN, TRUE); ENABLE_ITEM(IDC_BUTTON_EPG, TRUE); ENABLE_ITEM(IDC_BUTTON_SET, TRUE); ENABLE_ITEM(IDC_BUTTON_REC, TRUE); ENABLE_ITEM(IDC_COMBO_REC_H, FALSE); ENABLE_ITEM(IDC_COMBO_REC_M, FALSE); ENABLE_ITEM(IDC_CHECK_REC_SET, FALSE); Button_SetCheck(GetDlgItem(IDC_CHECK_REC_SET), BST_UNCHECKED); ENABLE_ITEM(IDC_BUTTON_CANCEL, FALSE); ENABLE_ITEM(IDC_BUTTON_VIEW, TRUE); ENABLE_ITEM(IDC_CHECK_UDP, TRUE); ENABLE_ITEM(IDC_CHECK_TCP, TRUE); break; case GUI_CANCEL_ONLY: ENABLE_ITEM(IDC_COMBO_TUNER, FALSE); ENABLE_ITEM(IDC_COMBO_SERVICE, FALSE); ENABLE_ITEM(IDC_BUTTON_CHSCAN, FALSE); ENABLE_ITEM(IDC_BUTTON_EPG, FALSE); ENABLE_ITEM(IDC_BUTTON_SET, FALSE); ENABLE_ITEM(IDC_BUTTON_REC, FALSE); ENABLE_ITEM(IDC_COMBO_REC_H, FALSE); ENABLE_ITEM(IDC_COMBO_REC_M, FALSE); ENABLE_ITEM(IDC_CHECK_REC_SET, FALSE); ENABLE_ITEM(IDC_BUTTON_CANCEL, TRUE); ENABLE_ITEM(IDC_BUTTON_VIEW, TRUE); ENABLE_ITEM(IDC_CHECK_UDP, TRUE); ENABLE_ITEM(IDC_CHECK_TCP, TRUE); break; case GUI_OPEN_FAIL: ENABLE_ITEM(IDC_COMBO_TUNER, TRUE); ENABLE_ITEM(IDC_COMBO_SERVICE, FALSE); ENABLE_ITEM(IDC_BUTTON_CHSCAN, FALSE); ENABLE_ITEM(IDC_BUTTON_EPG, FALSE); ENABLE_ITEM(IDC_BUTTON_SET, TRUE); ENABLE_ITEM(IDC_BUTTON_REC, FALSE); ENABLE_ITEM(IDC_COMBO_REC_H, FALSE); ENABLE_ITEM(IDC_COMBO_REC_M, FALSE); ENABLE_ITEM(IDC_CHECK_REC_SET, FALSE); ENABLE_ITEM(IDC_BUTTON_CANCEL, FALSE); ENABLE_ITEM(IDC_BUTTON_VIEW, TRUE); ENABLE_ITEM(IDC_CHECK_UDP, FALSE); ENABLE_ITEM(IDC_CHECK_TCP, FALSE); break; case GUI_REC: ENABLE_ITEM(IDC_COMBO_TUNER, FALSE); ENABLE_ITEM(IDC_COMBO_SERVICE, FALSE); ENABLE_ITEM(IDC_BUTTON_CHSCAN, FALSE); ENABLE_ITEM(IDC_BUTTON_EPG, FALSE); ENABLE_ITEM(IDC_BUTTON_SET, FALSE); ENABLE_ITEM(IDC_BUTTON_REC, FALSE); ENABLE_ITEM(IDC_COMBO_REC_H, TRUE); ENABLE_ITEM(IDC_COMBO_REC_M, TRUE); ENABLE_ITEM(IDC_CHECK_REC_SET, TRUE); Button_SetCheck(GetDlgItem(IDC_CHECK_REC_SET), BST_UNCHECKED); ENABLE_ITEM(IDC_BUTTON_CANCEL, TRUE); ENABLE_ITEM(IDC_BUTTON_VIEW, TRUE); ENABLE_ITEM(IDC_CHECK_UDP, TRUE); ENABLE_ITEM(IDC_CHECK_TCP, TRUE); break; case GUI_REC_SET_TIME: ENABLE_ITEM(IDC_COMBO_TUNER, FALSE); ENABLE_ITEM(IDC_COMBO_SERVICE, FALSE); ENABLE_ITEM(IDC_BUTTON_CHSCAN, FALSE); ENABLE_ITEM(IDC_BUTTON_EPG, FALSE); ENABLE_ITEM(IDC_BUTTON_SET, FALSE); ENABLE_ITEM(IDC_BUTTON_REC, FALSE); ENABLE_ITEM(IDC_COMBO_REC_H, FALSE); ENABLE_ITEM(IDC_COMBO_REC_M, FALSE); ENABLE_ITEM(IDC_CHECK_REC_SET, TRUE); ENABLE_ITEM(IDC_BUTTON_CANCEL, TRUE); ENABLE_ITEM(IDC_BUTTON_VIEW, TRUE); ENABLE_ITEM(IDC_CHECK_UDP, TRUE); ENABLE_ITEM(IDC_CHECK_TCP, TRUE); break; case GUI_OTHER_CTRL: ENABLE_ITEM(IDC_COMBO_TUNER, FALSE); ENABLE_ITEM(IDC_COMBO_SERVICE, FALSE); ENABLE_ITEM(IDC_BUTTON_CHSCAN, FALSE); ENABLE_ITEM(IDC_BUTTON_EPG, FALSE); ENABLE_ITEM(IDC_BUTTON_SET, FALSE); ENABLE_ITEM(IDC_BUTTON_REC, FALSE); ENABLE_ITEM(IDC_COMBO_REC_H, FALSE); ENABLE_ITEM(IDC_COMBO_REC_M, FALSE); ENABLE_ITEM(IDC_CHECK_REC_SET, FALSE); ENABLE_ITEM(IDC_BUTTON_CANCEL, TRUE); ENABLE_ITEM(IDC_BUTTON_VIEW, TRUE); ENABLE_ITEM(IDC_CHECK_UDP, TRUE); ENABLE_ITEM(IDC_CHECK_TCP, TRUE); break; case GUI_REC_STANDBY: ENABLE_ITEM(IDC_COMBO_TUNER, FALSE); ENABLE_ITEM(IDC_COMBO_SERVICE, FALSE); ENABLE_ITEM(IDC_BUTTON_CHSCAN, FALSE); ENABLE_ITEM(IDC_BUTTON_EPG, FALSE); ENABLE_ITEM(IDC_BUTTON_SET, FALSE); ENABLE_ITEM(IDC_BUTTON_REC, FALSE); ENABLE_ITEM(IDC_COMBO_REC_H, FALSE); ENABLE_ITEM(IDC_COMBO_REC_M, FALSE); ENABLE_ITEM(IDC_CHECK_REC_SET, FALSE); ENABLE_ITEM(IDC_BUTTON_CANCEL, FALSE); ENABLE_ITEM(IDC_BUTTON_VIEW, TRUE); ENABLE_ITEM(IDC_CHECK_UDP, TRUE); ENABLE_ITEM(IDC_CHECK_TCP, TRUE); break; default: break; } }
static BOOL CALLBACK DialogProc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM lParam) { BOOL fError; switch(message) { case WM_INITDIALOG: SET_CHECK(OUT_Lossless_Radio, g_lossless); SET_CHECK(OUT_Lossy_Radio, !g_lossless); SendMessage(GET_ITEM(OUT_Quality_Slider),(UINT)TBM_SETRANGEMIN, (WPARAM)(BOOL)FALSE, (LPARAM)0); SendMessage(GET_ITEM(OUT_Quality_Slider),(UINT)TBM_SETRANGEMAX, (WPARAM)(BOOL)FALSE, (LPARAM)100); SendMessage(GET_ITEM(OUT_Quality_Slider),(UINT)TBM_SETPOS, (WPARAM)(BOOL)TRUE, (LPARAM)g_quality); if(!g_have_transparency) { ENABLE_ITEM(OUT_Alpha_Radio_Transparency, FALSE); if(g_alpha == DIALOG_ALPHA_TRANSPARENCY) { g_alpha = (g_alpha_name != NULL ? DIALOG_ALPHA_CHANNEL : DIALOG_ALPHA_NONE); } } if(g_alpha_name == NULL) { ENABLE_ITEM(OUT_Alpha_Radio_Channel, FALSE); if(g_alpha == DIALOG_ALPHA_CHANNEL) { g_alpha = (g_have_transparency ? DIALOG_ALPHA_TRANSPARENCY : DIALOG_ALPHA_NONE); } } else { SetDlgItemText(hwndDlg, OUT_Alpha_Radio_Channel, g_alpha_name); } SET_CHECK( (g_alpha == DIALOG_ALPHA_NONE ? OUT_Alpha_Radio_None : g_alpha == DIALOG_ALPHA_TRANSPARENCY ? OUT_Alpha_Radio_Transparency : g_alpha == DIALOG_ALPHA_CHANNEL ? OUT_Alpha_Radio_Channel : OUT_Alpha_Radio_None), TRUE); SET_CHECK(OUT_Alpha_Cleanup_Check, g_alpha_cleanup); SET_CHECK(OUT_Lossy_Alpha_Check, g_lossy_alpha); SET_CHECK(OUT_Save_Metadata_Check, g_save_metadata); TrackLossless(hwndDlg); TrackSlider(hwndDlg); TrackAlpha(hwndDlg); return TRUE; case WM_NOTIFY: switch(LOWORD(wParam)) { case OUT_Quality_Slider: TrackSlider(hwndDlg); return TRUE; } return FALSE; case WM_COMMAND: g_item_clicked = LOWORD(wParam); switch(g_item_clicked) { case OUT_OK: case OUT_Cancel: // do the same thing, but g_item_clicked will be different g_lossless = GET_CHECK(OUT_Lossless_Radio); g_quality = SendMessage(GET_ITEM(OUT_Quality_Slider), TBM_GETPOS, (WPARAM)0, (LPARAM)0 ); g_alpha = GET_CHECK(OUT_Alpha_Radio_None) ? DIALOG_ALPHA_NONE : GET_CHECK(OUT_Alpha_Radio_Transparency) ? DIALOG_ALPHA_TRANSPARENCY : GET_CHECK(OUT_Alpha_Radio_Channel) ? DIALOG_ALPHA_CHANNEL : DIALOG_ALPHA_TRANSPARENCY; g_alpha_cleanup = GET_CHECK(OUT_Alpha_Cleanup_Check); g_lossy_alpha = GET_CHECK(OUT_Lossy_Alpha_Check); g_save_metadata = GET_CHECK(OUT_Save_Metadata_Check); EndDialog(hwndDlg, 0); return TRUE; case OUT_Lossless_Radio: case OUT_Lossy_Radio: TrackLossless(hwndDlg); return TRUE; case OUT_Alpha_Radio_None: case OUT_Alpha_Radio_Transparency: case OUT_Alpha_Radio_Channel: TrackAlpha(hwndDlg); case OUT_Quality_Field: TrackField(hwndDlg); return TRUE; } } return FALSE; }