BOOL CPageAdvanced::DlgProcInternal(HWND hWnd, UINT message, WPARAM wparam, LPARAM lparam) { switch (message) { case WM_NOTIFY: { // Property Sheet notifications switch (((LPPSHNOTIFY)lparam)->hdr.code) { case PSN_SETACTIVE: // About to become the active page m_PropertySheetHelper.SetLastPage(m_Page); InitOptions(hWnd); break; case PSN_KILLACTIVE: SetWindowLong(hWnd, DWL_MSGRESULT, FALSE); // Changes are valid break; case PSN_APPLY: DlgOK(hWnd); SetWindowLong(hWnd, DWL_MSGRESULT, PSNRET_NOERROR); // Changes are valid break; case PSN_QUERYCANCEL: // Can use this to ask user to confirm cancel break; case PSN_RESET: DlgCANCEL(hWnd); break; } } break; case WM_COMMAND: switch (LOWORD(wparam)) { case IDC_SAVESTATE_FILENAME: break; case IDC_SAVESTATE_BROWSE: if(m_PropertySheetHelper.SaveStateSelectImage(hWnd, TEXT("Select Save State file"), false)) SendDlgItemMessage(hWnd, IDC_SAVESTATE_FILENAME, WM_SETTEXT, 0, (LPARAM)m_PropertySheetHelper.GetSSNewFilename()); break; case IDC_PRINTER_DUMP_FILENAME_BROWSE: { std::string strPrinterDumpLoc = m_PropertySheetHelper.BrowseToFile(hWnd, TEXT("Select printer dump file"), REGVALUE_PRINTER_FILENAME, TEXT("Text files (*.txt)\0*.txt\0") TEXT("All Files\0*.*\0")); SendDlgItemMessage(hWnd, IDC_PRINTER_DUMP_FILENAME, WM_SETTEXT, 0, (LPARAM)strPrinterDumpLoc.c_str()); } break; case IDC_SAVESTATE_ON_EXIT: break; case IDC_SAVESTATE: m_PropertySheetHelper.GetConfigNew().m_uSaveLoadStateMsg = WM_USER_SAVESTATE; break; case IDC_LOADSTATE: m_PropertySheetHelper.GetConfigNew().m_uSaveLoadStateMsg = WM_USER_LOADSTATE; break; // case IDC_THE_FREEZES_F8_ROM_FW: { const UINT uNewState = IsDlgButtonChecked(hWnd, IDC_THE_FREEZES_F8_ROM_FW) ? 1 : 0; m_PropertySheetHelper.GetConfigNew().m_bEnableTheFreezesF8Rom = uNewState; } break; case IDC_CLONETYPE: if(HIWORD(wparam) == CBN_SELCHANGE) { const DWORD NewCloneMenuItem = (DWORD) SendDlgItemMessage(hWnd, IDC_CLONETYPE, CB_GETCURSEL, 0, 0); const eApple2Type NewCloneType = GetCloneType(NewCloneMenuItem); m_PropertySheetHelper.GetConfigNew().m_Apple2Type = NewCloneType; } break; } break; case WM_INITDIALOG: { SendDlgItemMessage(hWnd,IDC_SAVESTATE_FILENAME,WM_SETTEXT,0,(LPARAM)Snapshot_GetFilename()); CheckDlgButton(hWnd, IDC_SAVESTATE_ON_EXIT, g_bSaveStateOnExit ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hWnd, IDC_DUMPTOPRINTER, g_bDumpToPrinter ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hWnd, IDC_PRINTER_CONVERT_ENCODING, g_bConvertEncoding ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hWnd, IDC_PRINTER_FILTER_UNPRINTABLE, g_bFilterUnprintable ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hWnd, IDC_PRINTER_APPEND, g_bPrinterAppend ? BST_CHECKED : BST_UNCHECKED); SendDlgItemMessage(hWnd, IDC_SPIN_PRINTER_IDLE, UDM_SETRANGE, 0, MAKELONG(999,0)); SendDlgItemMessage(hWnd, IDC_SPIN_PRINTER_IDLE, UDM_SETPOS, 0, MAKELONG(Printer_GetIdleLimit (),0)); SendDlgItemMessage(hWnd, IDC_PRINTER_DUMP_FILENAME, WM_SETTEXT, 0, (LPARAM)Printer_GetFilename()); InitOptions(hWnd); m_PropertySheetHelper.ClearSSNewDirectory(); // Need to specify cmd-line switch: -printer-real to enable this control EnableWindow(GetDlgItem(hWnd, IDC_DUMPTOPRINTER), g_bEnableDumpToRealPrinter ? TRUE : FALSE); break; } } return FALSE; }
BOOL OnNotify(HWND hDlg, LPNMHDR lpNMHdr) { //DEBUGMESSAGE(("OnNotify")); UINT uiCode = lpNMHdr->code; switch (uiCode) { case PSN_APPLY: { DEBUGMESSAGE(("OnNotify - PSN_APPLY")); DocumentPropDialogData *data = (DocumentPropDialogData *) GetWindowLongPtr(hDlg, DWL_USER); if (data == NULL) { DEBUGMESSAGE(("DocPropDlgProc - invalid internal data pointer")); return FALSE; } // which format combo should we use? LPTSTR format = NULL; if (IsDlgButtonChecked(hDlg, IDC_VECTOR_FORMAT_RADIOBOX) == BST_CHECKED) { INT sel = GetComboCurSel(GetDlgItem(hDlg, IDC_COMBO_VECTOR_FORMAT)); format = strDuplicate(g_vectorFormats[sel].strName); } else if (IsDlgButtonChecked(hDlg, IDC_RASTER_FORMAT_RADIOBOX) == BST_CHECKED) { INT sel = GetComboCurSel(GetDlgItem(hDlg, IDC_COMBO_RASTER_FORMAT)); format = strDuplicate(g_rasterFormats[sel].strName); } else { DEBUGMESSAGE(("DocPropDlgProc - unexpected condition")); return FALSE; } // get the output folder & validate it LPTSTR folder = NULL; if (!GetEditControlText(&folder, GetDlgItem(hDlg, IDC_OUTPUT_FOLDER))) { DEBUGMESSAGE(("DocPropDlgProc - could not get output folder text")); return FALSE; } if (!FolderExists(folder)) { ErrorMessage(hDlg, TEXT("Warning"), TEXT("The given output directory does not exist!")); return FALSE; } // get the output filename & validate it LPTSTR filename = NULL; if (!GetEditControlText(&filename, GetDlgItem(hDlg, IDC_OUTPUT_FILENAME))) { DEBUGMESSAGE(("DocPropDlgProc - could not get output filename text")); return FALSE; } if (!IsValidFilename(filename)) { LPTSTR temp = strCat(TEXT("The given output filename is not valid!\n"), TEXT("It should not contain any of the '"), g_strFileNameForbiddenChars, TEXT("' characters."), NULL); ErrorMessage(hDlg, TEXT("Warning"), temp); strFree(temp); return FALSE; } // get the raster conv options LPTSTR rasteropt = NULL; if (!GetEditControlText(&rasteropt, GetDlgItem(hDlg, IDC_IMAGEMAGICK_OPTIONS))) { DEBUGMESSAGE(("DocPropDlgProc - could not get raster conv opt text")); return FALSE; } // get the postgen cmd LPTSTR postgen = NULL; if (!GetEditControlText(&postgen, GetDlgItem(hDlg, IDC_POSTGEN_CMD))) { DEBUGMESSAGE(("DocPropDlgProc - could not get postgen cmd text")); return FALSE; } // get override checkbox status BOOL override = IsDlgButtonChecked(hDlg, IDC_OVERRIDE_CHECKBOX) == BST_CHECKED; // get crop checkbox BOOL crop = IsDlgButtonChecked(hDlg, IDC_CROP_CHECKBOX) == BST_CHECKED; // get open-output checkbox BOOL openout = IsDlgButtonChecked(hDlg, IDC_OPEN_VIEWER_CHECKBOX) == BST_CHECKED; // save all data in the EXTDEVMODE extdmSetPrivateData(data->m_pExtdmCurrent, format, filename, folder, rasteropt, postgen, override, openout, crop); // cleanup strFree(format); strFree(filename); strFree(folder); strFree(postgen); strFree(rasteropt); // call the _SET_RESULT callback PFNCOMPROPSHEET pfnComPropSheet = data->m_pfnComPropSheet; LONG lTemp = pfnComPropSheet( data->m_hComPropSheet, CPSFUNC_SET_RESULT, (LPARAM) data->m_hPropSheetAdded, CPSUI_OK ); return TRUE; } break; case PSN_RESET: break; case PSN_SETACTIVE: break; default: break; } return FALSE; }
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * DIALOG_PROGRAM_DlgProc */ static INT_PTR CALLBACK DIALOG_PROGRAM_DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam) { CHAR buffer[MAX_STRING_LEN]; switch (msg) { case WM_INITDIALOG: SetDlgItemText(hDlg, PM_DESCRIPTION, ProgramAttributes.lpszTitle); SetDlgItemText(hDlg, PM_COMMAND_LINE, ProgramAttributes.lpszCmdLine); SetDlgItemText(hDlg, PM_DIRECTORY, ProgramAttributes.lpszWorkDir); if (!*ProgramAttributes.lpnHotKey) { LoadString(Globals.hInstance, IDS_NO_HOT_KEY, buffer, sizeof(buffer)); SetDlgItemText(hDlg, PM_HOT_KEY, buffer); } CheckDlgButton(hDlg, PM_SYMBOL, (*ProgramAttributes.lpnCmdShow == SW_SHOWMINIMIZED)); SendDlgItemMessage(hDlg, PM_ICON, STM_SETICON, (WPARAM) ProgramAttributes.hTmpIcon, 0); break; case WM_COMMAND: switch (wParam) { case PM_SYMBOL: CheckDlgButton(hDlg, PM_SYMBOL, !IsDlgButtonChecked(hDlg, PM_SYMBOL)); return TRUE; case PM_BROWSE: { CHAR filename[MAX_PATHNAME_LEN]; filename[0] = 0; if (DIALOG_BrowsePrograms(hDlg, filename, sizeof(filename))) SetDlgItemText(hDlg, PM_COMMAND_LINE, filename); return TRUE; } case PM_OTHER_SYMBOL: { DIALOG_Symbol(&ProgramAttributes.hTmpIcon, ProgramAttributes.lpszTmpIconFile, &ProgramAttributes.nTmpIconIndex, MAX_PATHNAME_LEN); SendDlgItemMessage(hDlg, PM_ICON, STM_SETICON, (WPARAM) ProgramAttributes.hTmpIcon, 0); return TRUE; } case IDOK: GetDlgItemText(hDlg, PM_DESCRIPTION, ProgramAttributes.lpszTitle, ProgramAttributes.nSize); GetDlgItemText(hDlg, PM_COMMAND_LINE, ProgramAttributes.lpszCmdLine, ProgramAttributes.nSize); GetDlgItemText(hDlg, PM_DIRECTORY, ProgramAttributes.lpszWorkDir, ProgramAttributes.nSize); if (ProgramAttributes.hTmpIcon) { #if 0 if (*ProgramAttributes.lphIcon) DestroyIcon(*ProgramAttributes.lphIcon); #endif *ProgramAttributes.lphIcon = ProgramAttributes.hTmpIcon; *ProgramAttributes.lpnIconIndex = ProgramAttributes.nTmpIconIndex; lstrcpyn(ProgramAttributes.lpszIconFile, ProgramAttributes.lpszTmpIconFile, ProgramAttributes.nSize); } *ProgramAttributes.lpnCmdShow = IsDlgButtonChecked(hDlg, PM_SYMBOL) ? SW_SHOWMINIMIZED : SW_SHOWNORMAL; EndDialog(hDlg, IDOK); return TRUE; case IDCANCEL: EndDialog(hDlg, IDCANCEL); return TRUE; } return FALSE; } return FALSE; }
void CAERDlg::OnResume() { m_enAER = AER_RESUME; m_bDontAskAgain = IsDlgButtonChecked (IDC_DONTASKAGAIN) == BST_CHECKED; EndDialog (IDOK); }
static INT_PTR CALLBACK DlgProcGenOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) { switch (msg) { case WM_USER + 1: { HANDLE hContact = (HANDLE) wParam; DBCONTACTWRITESETTING *ws = (DBCONTACTWRITESETTING *) lParam; if (hContact == NULL && ws != NULL && ws->szModule != NULL && ws->szSetting != NULL && lstrcmpiA(ws->szModule, "CList") == 0 && lstrcmpiA(ws->szSetting, "UseGroups") == 0 && IsWindowVisible(hwndDlg)) { CheckDlgButton(hwndDlg, IDC_DISABLEGROUPS, ws->value.bVal == 0); } break; } case WM_DESTROY: { UnhookEvent((HANDLE) GetWindowLongPtr(hwndDlg, GWLP_USERDATA)); break; } case WM_INITDIALOG: TranslateDialogDefault(hwndDlg); SetWindowLongPtr(hwndDlg, GWLP_USERDATA, (LONG_PTR) HookEventMessage(ME_DB_CONTACT_SETTINGCHANGED, hwndDlg, WM_USER + 1)); CheckDlgButton(hwndDlg, IDC_ONTOP, DBGetContactSettingByte(NULL, "CList", "OnTop", SETTING_ONTOP_DEFAULT) ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_HIDEOFFLINE, DBGetContactSettingByte(NULL, "CList", "HideOffline", SETTING_HIDEOFFLINE_DEFAULT) ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_HIDEEMPTYGROUPS, DBGetContactSettingByte(NULL, "CList", "HideEmptyGroups", SETTING_HIDEEMPTYGROUPS_DEFAULT) ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_DISABLEGROUPS, DBGetContactSettingByte(NULL, "CList", "UseGroups", SETTING_USEGROUPS_DEFAULT) ? BST_UNCHECKED : BST_CHECKED); CheckDlgButton(hwndDlg, IDC_SORTBYNAME, !DBGetContactSettingByte(NULL, "CList", "SortByStatus", SETTING_SORTBYSTATUS_DEFAULT) && !DBGetContactSettingByte(NULL, "CList", "SortByProto", SETTING_SORTBYPROTO_DEFAULT) ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_SORTBYSTATUS, DBGetContactSettingByte(NULL, "CList", "SortByStatus", SETTING_SORTBYSTATUS_DEFAULT) ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_SORTBYPROTO, DBGetContactSettingByte(NULL, "CList", "SortByProto", SETTING_SORTBYPROTO_DEFAULT) ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_CONFIRMDELETE, DBGetContactSettingByte(NULL, "CList", "ConfirmDelete", SETTING_CONFIRMDELETE_DEFAULT) ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_AUTOHIDE, DBGetContactSettingByte(NULL, "CList", "AutoHide", SETTING_AUTOHIDE_DEFAULT) ? BST_CHECKED : BST_UNCHECKED); EnableWindow(GetDlgItem(hwndDlg, IDC_HIDETIME), IsDlgButtonChecked(hwndDlg, IDC_AUTOHIDE)); EnableWindow(GetDlgItem(hwndDlg, IDC_HIDETIMESPIN), IsDlgButtonChecked(hwndDlg, IDC_AUTOHIDE)); { DWORD caps = CallService(MS_CLUI_GETCAPS, CLUICAPS_FLAGS1, 0); if (!(caps & CLUIF_HIDEEMPTYGROUPS)) ShowWindow(GetDlgItem(hwndDlg, IDC_HIDEEMPTYGROUPS), SW_HIDE); if (!(caps & CLUIF_DISABLEGROUPS)) ShowWindow(GetDlgItem(hwndDlg, IDC_DISABLEGROUPS), SW_HIDE); if (caps & CLUIF_HASONTOPOPTION) ShowWindow(GetDlgItem(hwndDlg, IDC_ONTOP), SW_HIDE); if (caps & CLUIF_HASAUTOHIDEOPTION) { ShowWindow(GetDlgItem(hwndDlg, IDC_AUTOHIDE), SW_HIDE); ShowWindow(GetDlgItem(hwndDlg, IDC_HIDETIME), SW_HIDE); ShowWindow(GetDlgItem(hwndDlg, IDC_HIDETIMESPIN), SW_HIDE); ShowWindow(GetDlgItem(hwndDlg, IDC_STAUTOHIDESECS), SW_HIDE); } } SendDlgItemMessage(hwndDlg, IDC_HIDETIMESPIN, UDM_SETRANGE, 0, MAKELONG(900, 1)); SendDlgItemMessage(hwndDlg, IDC_HIDETIMESPIN, UDM_SETPOS, 0, MAKELONG(DBGetContactSettingWord(NULL, "CList", "HideTime", SETTING_HIDETIME_DEFAULT), 0)); CheckDlgButton(hwndDlg, IDC_ONECLK, DBGetContactSettingByte(NULL, "CList", "Tray1Click", SETTING_TRAY1CLICK_DEFAULT) ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_ALWAYSSTATUS, DBGetContactSettingByte(NULL, "CList", "AlwaysStatus", SETTING_ALWAYSSTATUS_DEFAULT) ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_ALWAYSMULTI, !DBGetContactSettingByte(NULL, "CList", "AlwaysMulti", SETTING_ALWAYSMULTI_DEFAULT) ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_DONTCYCLE, DBGetContactSettingByte(NULL, "CList", "TrayIcon", SETTING_TRAYICON_DEFAULT) == SETTING_TRAYICON_SINGLE ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_CYCLE, DBGetContactSettingByte(NULL, "CList", "TrayIcon", SETTING_TRAYICON_DEFAULT) == SETTING_TRAYICON_CYCLE ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_MULTITRAY, DBGetContactSettingByte(NULL, "CList", "TrayIcon", SETTING_TRAYICON_DEFAULT) == SETTING_TRAYICON_MULTI ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_DISABLEBLINK, DBGetContactSettingByte(NULL, "CList", "DisableTrayFlash", 0) == 1 ? BST_CHECKED : BST_UNCHECKED); EnableWindow(GetDlgItem(hwndDlg, IDC_BLINKTIME), !IsDlgButtonChecked(hwndDlg, IDC_DISABLEBLINK)); EnableWindow(GetDlgItem(hwndDlg, IDC_BLINKSPIN), !IsDlgButtonChecked(hwndDlg, IDC_DISABLEBLINK)); EnableWindow(GetDlgItem(hwndDlg, IDC_STMSDELAY), !IsDlgButtonChecked(hwndDlg, IDC_DISABLEBLINK)); CheckDlgButton(hwndDlg, IDC_ICONBLINK, DBGetContactSettingByte(NULL, "CList", "NoIconBlink", 0) == 1 ? BST_CHECKED : BST_UNCHECKED); if (IsDlgButtonChecked(hwndDlg, IDC_DONTCYCLE)) { EnableWindow(GetDlgItem(hwndDlg, IDC_CYCLETIMESPIN), FALSE); EnableWindow(GetDlgItem(hwndDlg, IDC_CYCLETIME), FALSE); EnableWindow(GetDlgItem(hwndDlg, IDC_ALWAYSMULTI), FALSE); } if (IsDlgButtonChecked(hwndDlg, IDC_CYCLE)) { EnableWindow(GetDlgItem(hwndDlg, IDC_PRIMARYSTATUS), FALSE); EnableWindow(GetDlgItem(hwndDlg, IDC_ALWAYSMULTI), FALSE); } if (IsDlgButtonChecked(hwndDlg, IDC_MULTITRAY)) { EnableWindow(GetDlgItem(hwndDlg, IDC_CYCLETIMESPIN), FALSE); EnableWindow(GetDlgItem(hwndDlg, IDC_CYCLETIME), FALSE); EnableWindow(GetDlgItem(hwndDlg, IDC_PRIMARYSTATUS), FALSE); } SendDlgItemMessage(hwndDlg, IDC_CYCLETIMESPIN, UDM_SETRANGE, 0, MAKELONG(120, 1)); SendDlgItemMessage(hwndDlg, IDC_CYCLETIMESPIN, UDM_SETPOS, 0, MAKELONG(DBGetContactSettingWord(NULL, "CList", "CycleTime", SETTING_CYCLETIME_DEFAULT), 0)); { int i, count, item; PROTOACCOUNT **accs; DBVARIANT dbv = { DBVT_DELETED }; DBGetContactSetting(NULL, "CList", "PrimaryStatus", &dbv); CallService( MS_PROTO_ENUMACCOUNTS, (WPARAM)&count, (LPARAM)&accs); item = SendDlgItemMessage(hwndDlg, IDC_PRIMARYSTATUS, CB_ADDSTRING, 0, (LPARAM) TranslateT("Global")); SendDlgItemMessage(hwndDlg, IDC_PRIMARYSTATUS, CB_SETITEMDATA, item, (LPARAM) 0); for (i = 0; i < count; i++) { if (!IsAccountEnabled(accs[i]) || CallProtoService( accs[i]->szModuleName, PS_GETCAPS, PFLAGNUM_2, 0) == 0) continue; item = SendDlgItemMessage(hwndDlg, IDC_PRIMARYSTATUS, CB_ADDSTRING, 0, (LPARAM) accs[i]->tszAccountName); SendDlgItemMessage(hwndDlg, IDC_PRIMARYSTATUS, CB_SETITEMDATA, item, (LPARAM) accs[i]); if (dbv.type == DBVT_ASCIIZ && !lstrcmpA(dbv.pszVal, accs[i]->szModuleName)) SendDlgItemMessage(hwndDlg, IDC_PRIMARYSTATUS, CB_SETCURSEL, item, 0); } DBFreeVariant(&dbv); } if (-1 == (int) SendDlgItemMessage(hwndDlg, IDC_PRIMARYSTATUS, CB_GETCURSEL, 0, 0)) SendDlgItemMessage(hwndDlg, IDC_PRIMARYSTATUS, CB_SETCURSEL, 0, 0); SendDlgItemMessage(hwndDlg, IDC_BLINKSPIN, UDM_SETBUDDY, (WPARAM) GetDlgItem(hwndDlg, IDC_BLINKTIME), 0); // set buddy SendDlgItemMessage(hwndDlg, IDC_BLINKSPIN, UDM_SETRANGE, 0, MAKELONG(0x3FFF, 250)); SendDlgItemMessage(hwndDlg, IDC_BLINKSPIN, UDM_SETPOS, 0, MAKELONG(DBGetContactSettingWord(NULL, "CList", "IconFlashTime", 550), 0)); return TRUE; case WM_COMMAND: if (LOWORD(wParam) == IDC_AUTOHIDE) { EnableWindow(GetDlgItem(hwndDlg, IDC_HIDETIME), IsDlgButtonChecked(hwndDlg, IDC_AUTOHIDE)); EnableWindow(GetDlgItem(hwndDlg, IDC_HIDETIMESPIN), IsDlgButtonChecked(hwndDlg, IDC_AUTOHIDE)); } if (LOWORD(wParam) == IDC_DONTCYCLE || LOWORD(wParam) == IDC_CYCLE || LOWORD(wParam) == IDC_MULTITRAY) { EnableWindow(GetDlgItem(hwndDlg, IDC_PRIMARYSTATUS), IsDlgButtonChecked(hwndDlg, IDC_DONTCYCLE)); EnableWindow(GetDlgItem(hwndDlg, IDC_CYCLETIME), IsDlgButtonChecked(hwndDlg, IDC_CYCLE)); EnableWindow(GetDlgItem(hwndDlg, IDC_CYCLETIMESPIN), IsDlgButtonChecked(hwndDlg, IDC_CYCLE)); EnableWindow(GetDlgItem(hwndDlg, IDC_ALWAYSMULTI), IsDlgButtonChecked(hwndDlg, IDC_MULTITRAY)); } if (LOWORD(wParam) == IDC_DISABLEBLINK) { EnableWindow(GetDlgItem(hwndDlg, IDC_BLINKTIME), !IsDlgButtonChecked(hwndDlg, IDC_DISABLEBLINK)); EnableWindow(GetDlgItem(hwndDlg, IDC_BLINKSPIN), !IsDlgButtonChecked(hwndDlg, IDC_DISABLEBLINK)); EnableWindow(GetDlgItem(hwndDlg, IDC_STMSDELAY), !IsDlgButtonChecked(hwndDlg, IDC_DISABLEBLINK)); } if ((LOWORD(wParam) == IDC_HIDETIME || LOWORD(wParam) == IDC_CYCLETIME) && HIWORD(wParam) != EN_CHANGE) break; if (LOWORD(wParam) == IDC_PRIMARYSTATUS && HIWORD(wParam) != CBN_SELCHANGE) break; if ((LOWORD(wParam) == IDC_HIDETIME || LOWORD(wParam) == IDC_CYCLETIME) && (HIWORD(wParam) != EN_CHANGE || (HWND) lParam != GetFocus())) return 0; if (LOWORD(wParam) == IDC_BLINKTIME && HIWORD(wParam) != EN_CHANGE || (HWND) lParam != GetFocus()) return 0; // dont make apply enabled during buddy set crap SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); break; case WM_NOTIFY: switch (((LPNMHDR) lParam)->idFrom) { case 0: switch (((LPNMHDR) lParam)->code) { case PSN_APPLY: DBWriteContactSettingByte(NULL, "CList", "HideOffline", (BYTE) IsDlgButtonChecked(hwndDlg, IDC_HIDEOFFLINE)); { DWORD caps = CallService(MS_CLUI_GETCAPS, CLUICAPS_FLAGS1, 0); if (caps & CLUIF_HIDEEMPTYGROUPS) DBWriteContactSettingByte(NULL, "CList", "HideEmptyGroups", (BYTE) IsDlgButtonChecked(hwndDlg, IDC_HIDEEMPTYGROUPS)); if (caps & CLUIF_DISABLEGROUPS) DBWriteContactSettingByte(NULL, "CList", "UseGroups", (BYTE) ! IsDlgButtonChecked(hwndDlg, IDC_DISABLEGROUPS)); if (!(caps & CLUIF_HASONTOPOPTION)) { DBWriteContactSettingByte(NULL, "CList", "OnTop", (BYTE) IsDlgButtonChecked(hwndDlg, IDC_ONTOP)); SetWindowPos( pcli->hwndContactList, IsDlgButtonChecked(hwndDlg, IDC_ONTOP) ? HWND_TOPMOST : HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE); } if (!(caps & CLUIF_HASAUTOHIDEOPTION)) { DBWriteContactSettingByte(NULL, "CList", "AutoHide", (BYTE) IsDlgButtonChecked(hwndDlg, IDC_AUTOHIDE)); DBWriteContactSettingWord(NULL, "CList", "HideTime", (WORD) SendDlgItemMessage(hwndDlg, IDC_HIDETIMESPIN, UDM_GETPOS, 0, 0)); } } DBWriteContactSettingByte(NULL, "CList", "SortByStatus", (BYTE) IsDlgButtonChecked(hwndDlg, IDC_SORTBYSTATUS)); DBWriteContactSettingByte(NULL, "CList", "SortByProto", (BYTE) IsDlgButtonChecked(hwndDlg, IDC_SORTBYPROTO)); DBWriteContactSettingByte(NULL, "CList", "ConfirmDelete", (BYTE) IsDlgButtonChecked(hwndDlg, IDC_CONFIRMDELETE)); DBWriteContactSettingByte(NULL, "CList", "Tray1Click", (BYTE) IsDlgButtonChecked(hwndDlg, IDC_ONECLK)); DBWriteContactSettingByte(NULL, "CList", "AlwaysStatus", (BYTE) IsDlgButtonChecked(hwndDlg, IDC_ALWAYSSTATUS)); DBWriteContactSettingByte(NULL, "CList", "AlwaysMulti", (BYTE) ! IsDlgButtonChecked(hwndDlg, IDC_ALWAYSMULTI)); DBWriteContactSettingByte(NULL, "CList", "TrayIcon", (BYTE) (IsDlgButtonChecked(hwndDlg, IDC_DONTCYCLE) ? SETTING_TRAYICON_SINGLE : (IsDlgButtonChecked(hwndDlg, IDC_CYCLE) ? SETTING_TRAYICON_CYCLE : SETTING_TRAYICON_MULTI))); DBWriteContactSettingWord(NULL, "CList", "CycleTime", (WORD) SendDlgItemMessage(hwndDlg, IDC_CYCLETIMESPIN, UDM_GETPOS, 0, 0)); DBWriteContactSettingWord(NULL, "CList", "IconFlashTime", (WORD) SendDlgItemMessage(hwndDlg, IDC_BLINKSPIN, UDM_GETPOS, 0, 0)); DBWriteContactSettingByte(NULL, "CList", "DisableTrayFlash", (BYTE) IsDlgButtonChecked(hwndDlg, IDC_DISABLEBLINK)); DBWriteContactSettingByte(NULL, "CList", "NoIconBlink", (BYTE) IsDlgButtonChecked(hwndDlg, IDC_ICONBLINK)); { int cur = SendDlgItemMessage(hwndDlg, IDC_PRIMARYSTATUS, CB_GETCURSEL, 0, 0); PROTOACCOUNT* pa = ( PROTOACCOUNT* )SendDlgItemMessage(hwndDlg, IDC_PRIMARYSTATUS, CB_GETITEMDATA, cur, 0 ); if ( pa == NULL ) DBDeleteContactSetting(NULL, "CList", "PrimaryStatus"); else DBWriteContactSettingString(NULL, "CList", "PrimaryStatus", pa->szModuleName ); } pcli->pfnTrayIconIconsChanged(); pcli->pfnLoadContactTree(); /* this won't do job properly since it only really works when changes happen */ pcli->pfnInvalidateDisplayNameCacheEntry( INVALID_HANDLE_VALUE ); /* force reshuffle */ return TRUE; } break; } break; } return FALSE; }
void CPPagePlayback::OnUpdateLoopNum(CCmdUI* pCmdUI) { pCmdUI->Enable(!!IsDlgButtonChecked(IDC_RADIO1)); }
void CPPagePlayback::OnUpdateTrackOrder(CCmdUI* pCmdUI) { pCmdUI->Enable(!!IsDlgButtonChecked(IDC_CHECK4)); }
INT_PTR CALLBACK CConfig::NotificationsDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { char buf[128]; switch (uMsg) { case WM_INITDIALOG: { m_bInitializingDialog = true; // Translate the dialog TranslateDialogDefault(hwndDlg); // Initialize the protocol filter list SetWindowLongPtr(GetDlgItem(hwndDlg, IDC_PROTOCOLS), GWL_STYLE, GetWindowLongPtr(GetDlgItem(hwndDlg, IDC_PROTOCOLS), GWL_STYLE) | TVS_NOHSCROLL); int iRes = 0; HIMAGELIST himlCheckBoxes; himlCheckBoxes = ImageList_Create(GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), ILC_COLOR32 | ILC_MASK, 2, 2); iRes = ImageList_AddIcon(himlCheckBoxes, LoadIcon(hInstance, MAKEINTRESOURCE(IDI_NOTICK))); iRes = ImageList_AddIcon(himlCheckBoxes, LoadIcon(hInstance, MAKEINTRESOURCE(IDI_TICK))); TreeView_SetImageList(GetDlgItem(hwndDlg, IDC_PROTOCOLS), himlCheckBoxes, TVSIL_NORMAL); FillTree(GetDlgItem(hwndDlg, IDC_PROTOCOLS)); CheckDlgButton(hwndDlg, IDC_NOTIFY_TIMESTAMPS, m_abBoolSettings[NOTIFY_TIMESTAMPS] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_SHOWPROTO, m_abBoolSettings[NOTIFY_SHOWPROTO] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_CHANNELCUTOFF, m_abBoolSettings[NOTIFY_CHANNELCUTOFF] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_NICKCUTOFF, m_abBoolSettings[NOTIFY_NICKCUTOFF] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_IRC_MESSAGES, m_abBoolSettings[NOTIFY_IRC_MESSAGES] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_IRC_USERS, m_abBoolSettings[NOTIFY_IRC_USERS] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_IRC_EMOTES, m_abBoolSettings[NOTIFY_IRC_EMOTES] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_IRC_NOTICES, m_abBoolSettings[NOTIFY_IRC_NOTICES] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_IRC_CHANNEL, m_abBoolSettings[NOTIFY_IRC_CHANNEL] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_IRC_STATUS, m_abBoolSettings[NOTIFY_IRC_STATUS] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_PROTO_STATUS, m_abBoolSettings[NOTIFY_PROTO_STATUS] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_PROTO_SIGNON, m_abBoolSettings[NOTIFY_PROTO_SIGNON] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_PROTO_SIGNOFF, m_abBoolSettings[NOTIFY_PROTO_SIGNOFF] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_SIGNON, m_abBoolSettings[NOTIFY_SIGNON] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_SIGNOFF, m_abBoolSettings[NOTIFY_SIGNOFF] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_STATUS, m_abBoolSettings[NOTIFY_STATUS] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_MESSAGES, m_abBoolSettings[NOTIFY_MESSAGES] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_FILE, m_abBoolSettings[NOTIFY_FILE] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_CONTACTS, m_abBoolSettings[NOTIFY_CONTACTS] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_URL, m_abBoolSettings[NOTIFY_URL] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_NO_SKIP_REPLY, m_abBoolSettings[NOTIFY_NO_SKIP_REPLY] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_SKIP_SIGNON, m_abBoolSettings[NOTIFY_SKIP_SIGNON] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_SKIP_SIGNOFF, m_abBoolSettings[NOTIFY_SKIP_SIGNOFF] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_SKIP_STATUS, m_abBoolSettings[NOTIFY_SKIP_STATUS] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_SKIP_MESSAGES, m_abBoolSettings[NOTIFY_SKIP_MESSAGES] ? BST_CHECKED : BST_UNCHECKED); _itoa_s(m_aiIntSettings[NOTIFY_CHANNELCUTOFF_OFFSET], buf, _countof(buf), 10); SetDlgItemTextA(hwndDlg, IDC_NOTIFY_CHANNELCUTOFF_OFFSET, buf); _itoa_s(m_aiIntSettings[NOTIFY_NICKCUTOFF_OFFSET], buf, _countof(buf), 10); SetDlgItemTextA(hwndDlg, IDC_NOTIFY_NICKCUTOFF_OFFSET, buf); _itoa_s(m_aiIntSettings[NOTIFY_LOGSIZE], buf, _countof(buf), 10); SetDlgItemTextA(hwndDlg, IDC_NOTIFY_LOGSIZE, buf); _itoa_s(m_aiIntSettings[NOTIFY_DURATION], buf, _countof(buf), 10); SetDlgItemTextA(hwndDlg, IDC_NOTIFY_DURATION, buf); CheckDlgButton(hwndDlg, IDC_NOTIFY_TITLEHIDE, m_aiIntSettings[NOTIFY_TITLE] == NOTIFY_TITLE_HIDE ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_TITLENAME, m_aiIntSettings[NOTIFY_TITLE] == NOTIFY_TITLE_NAME ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_TITLEINFO, m_aiIntSettings[NOTIFY_TITLE] == NOTIFY_TITLE_INFO ? BST_CHECKED : BST_UNCHECKED); m_bInitializingDialog = false; break; } case WM_NOTIFY: { if (((LPNMHDR)lParam)->idFrom == IDC_PROTOCOLS) { if (((LPNMHDR)lParam)->code != NM_CLICK) return 0; TVHITTESTINFO hti; hti.pt.x = (short)LOWORD(GetMessagePos()); hti.pt.y = (short)HIWORD(GetMessagePos()); ScreenToClient(((LPNMHDR)lParam)->hwndFrom, &hti.pt); if (TreeView_HitTest(((LPNMHDR)lParam)->hwndFrom, &hti)) if (hti.flags&TVHT_ONITEMICON) { TVITEM tvi; tvi.mask = TVIF_HANDLE | TVIF_IMAGE | TVIF_SELECTEDIMAGE; tvi.hItem = hti.hItem; TreeView_GetItem(((LPNMHDR)lParam)->hwndFrom, &tvi); tvi.iImage = tvi.iSelectedImage = !tvi.iImage; ((CProtoFilter *)tvi.lParam)->bTempNotificationFilter = tvi.iImage != 0; TreeView_SetItem(((LPNMHDR)lParam)->hwndFrom, &tvi); SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); } break; } switch (((LPNMHDR)lParam)->code) { case PSN_APPLY: { m_abBoolSettings[NOTIFY_TIMESTAMPS] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_TIMESTAMPS) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_CHANNELCUTOFF] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_CHANNELCUTOFF) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_NICKCUTOFF] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_NICKCUTOFF) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_SHOWPROTO] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_SHOWPROTO) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_IRC_MESSAGES] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_IRC_MESSAGES) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_IRC_USERS] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_IRC_USERS) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_IRC_EMOTES] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_IRC_EMOTES) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_IRC_NOTICES] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_IRC_NOTICES) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_IRC_CHANNEL] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_IRC_CHANNEL) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_IRC_STATUS] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_IRC_STATUS) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_PROTO_STATUS] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_PROTO_STATUS) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_PROTO_SIGNON] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_PROTO_SIGNON) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_PROTO_SIGNOFF] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_PROTO_SIGNOFF) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_MESSAGES] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_MESSAGES) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_SIGNON] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_SIGNON) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_SIGNOFF] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_SIGNOFF) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_STATUS] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_STATUS) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_URL] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_URL) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_FILE] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_FILE) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_CONTACTS] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_CONTACTS) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_NO_SKIP_REPLY] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_NO_SKIP_REPLY) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_SKIP_MESSAGES] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_SKIP_MESSAGES) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_SKIP_SIGNON] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_SKIP_SIGNON) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_SKIP_SIGNOFF] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_SKIP_SIGNOFF) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_SKIP_STATUS] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_SKIP_STATUS) == BST_CHECKED ? true : false; GetDlgItemTextA(hwndDlg, IDC_NOTIFY_CHANNELCUTOFF_OFFSET, buf, _countof(buf)); m_aiIntSettings[NOTIFY_CHANNELCUTOFF_OFFSET] = atoi(buf) > 0 ? atoi(buf) : 1; GetDlgItemTextA(hwndDlg, IDC_NOTIFY_NICKCUTOFF_OFFSET, buf, _countof(buf)); m_aiIntSettings[NOTIFY_NICKCUTOFF_OFFSET] = atoi(buf) > 0 ? atoi(buf) : 1; GetDlgItemTextA(hwndDlg, IDC_NOTIFY_DURATION, buf, _countof(buf)); m_aiIntSettings[NOTIFY_DURATION] = atoi(buf) > 0 ? atoi(buf) : 1; GetDlgItemTextA(hwndDlg, IDC_NOTIFY_LOGSIZE, buf, _countof(buf)); m_aiIntSettings[NOTIFY_LOGSIZE] = atoi(buf) > 0 ? atoi(buf) : 1; if (IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_TITLEHIDE) == BST_CHECKED) m_aiIntSettings[NOTIFY_TITLE] = NOTIFY_TITLE_HIDE; else if (IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_TITLENAME) == BST_CHECKED) m_aiIntSettings[NOTIFY_TITLE] = NOTIFY_TITLE_NAME; else m_aiIntSettings[NOTIFY_TITLE] = NOTIFY_TITLE_INFO; // apply all contactlist protocol filters vector<CProtoFilter*>::iterator iter = m_ProtoList.begin(); while (iter != m_ProtoList.end()) { (*iter)->bNotificationFilter = (*iter)->bTempNotificationFilter; iter++; } CConfig::SaveSettings(); SendMessage(hwndDlg, WM_INITDIALOG, 0, 0); break; } } break; } case WM_COMMAND: { // Activate the apply button if (!m_bInitializingDialog && ((HIWORD(wParam) == EN_CHANGE) || (HIWORD(wParam) == BN_CLICKED))) SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); break; } } return 0; }
INT_PTR CALLBACK CConfig::ContactlistDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_INITDIALOG: { m_bInitializingDialog = true; // Translate the dialog TranslateDialogDefault(hwndDlg); // Initialize the protocol filter list SetWindowLongPtr(GetDlgItem(hwndDlg, IDC_CLIST_PROTOFILTER), GWL_STYLE, GetWindowLongPtr(GetDlgItem(hwndDlg, IDC_CLIST_PROTOFILTER), GWL_STYLE) | TVS_NOHSCROLL); int iRes = 0; HIMAGELIST himlCheckBoxes; himlCheckBoxes = ImageList_Create(GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), ILC_COLOR32 | ILC_MASK, 2, 2); iRes = ImageList_AddIcon(himlCheckBoxes, LoadIcon(hInstance, MAKEINTRESOURCE(IDI_NOTICK))); iRes = ImageList_AddIcon(himlCheckBoxes, LoadIcon(hInstance, MAKEINTRESOURCE(IDI_TICK))); TreeView_SetImageList(GetDlgItem(hwndDlg, IDC_CLIST_PROTOFILTER), himlCheckBoxes, TVSIL_NORMAL); FillTree(GetDlgItem(hwndDlg, IDC_CLIST_PROTOFILTER), true); CheckDlgButton(hwndDlg, IDC_CLIST_SELECTION, m_abBoolSettings[CLIST_SELECTION] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_CLIST_COLUMNS, m_abBoolSettings[CLIST_COLUMNS] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_CLIST_HIDEOFFLINE, m_abBoolSettings[CLIST_HIDEOFFLINE] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_CLIST_USEIGNORE, m_abBoolSettings[CLIST_USEIGNORE] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_CLIST_USEGROUPS, m_abBoolSettings[CLIST_USEGROUPS] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_CLIST_SHOWPROTO, m_abBoolSettings[CLIST_SHOWPROTO] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_CLIST_DRAWLINES, m_abBoolSettings[CLIST_DRAWLINES] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_CLIST_POSITION, m_abBoolSettings[CLIST_POSITION] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_CLIST_COUNTERS, m_abBoolSettings[CLIST_COUNTERS] ? BST_CHECKED : BST_UNCHECKED); if (m_aiIntSettings[CLIST_GA] == CLIST_GA_NONE) CheckDlgButton(hwndDlg, IDC_CLIST_GA_NONE, BST_CHECKED); else if (m_aiIntSettings[CLIST_GA] == CLIST_GA_COLLAPSE) CheckDlgButton(hwndDlg, IDC_CLIST_GA_COLLAPSE, BST_CHECKED); else CheckDlgButton(hwndDlg, IDC_CLIST_GA_EXPAND, BST_CHECKED); m_bInitializingDialog = false; break; } case WM_NOTIFY: { if (((LPNMHDR)lParam)->idFrom == IDC_CLIST_PROTOFILTER) { if (((LPNMHDR)lParam)->code != NM_CLICK) return 0; TVHITTESTINFO hti; hti.pt.x = (short)LOWORD(GetMessagePos()); hti.pt.y = (short)HIWORD(GetMessagePos()); ScreenToClient(((LPNMHDR)lParam)->hwndFrom, &hti.pt); if (TreeView_HitTest(((LPNMHDR)lParam)->hwndFrom, &hti)) if (hti.flags&TVHT_ONITEMICON) { TVITEM tvi; tvi.mask = TVIF_HANDLE | TVIF_IMAGE | TVIF_SELECTEDIMAGE; tvi.hItem = hti.hItem; TreeView_GetItem(((LPNMHDR)lParam)->hwndFrom, &tvi); tvi.iImage = tvi.iSelectedImage = !tvi.iImage; ((CProtoFilter *)tvi.lParam)->bTempContactlistFilter = tvi.iImage != 0; TreeView_SetItem(((LPNMHDR)lParam)->hwndFrom, &tvi); SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); } break; } switch (((LPNMHDR)lParam)->code) { case PSN_APPLY: { m_abBoolSettings[CLIST_SELECTION] = IsDlgButtonChecked(hwndDlg, IDC_CLIST_SELECTION) == BST_CHECKED ? true : false; m_abBoolSettings[CLIST_COLUMNS] = IsDlgButtonChecked(hwndDlg, IDC_CLIST_COLUMNS) == BST_CHECKED ? true : false; m_abBoolSettings[CLIST_HIDEOFFLINE] = IsDlgButtonChecked(hwndDlg, IDC_CLIST_HIDEOFFLINE) == BST_CHECKED ? true : false; m_abBoolSettings[CLIST_USEGROUPS] = IsDlgButtonChecked(hwndDlg, IDC_CLIST_USEGROUPS) == BST_CHECKED ? true : false; m_abBoolSettings[CLIST_USEIGNORE] = IsDlgButtonChecked(hwndDlg, IDC_CLIST_USEIGNORE) == BST_CHECKED ? true : false; m_abBoolSettings[CLIST_SHOWPROTO] = IsDlgButtonChecked(hwndDlg, IDC_CLIST_SHOWPROTO) == BST_CHECKED ? true : false; m_abBoolSettings[CLIST_DRAWLINES] = IsDlgButtonChecked(hwndDlg, IDC_CLIST_DRAWLINES) == BST_CHECKED ? true : false; m_abBoolSettings[CLIST_POSITION] = IsDlgButtonChecked(hwndDlg, IDC_CLIST_POSITION) == BST_CHECKED ? true : false; m_abBoolSettings[CLIST_COUNTERS] = IsDlgButtonChecked(hwndDlg, IDC_CLIST_COUNTERS) == BST_CHECKED ? true : false; if (IsDlgButtonChecked(hwndDlg, IDC_CLIST_GA_NONE) == BST_CHECKED) m_aiIntSettings[CLIST_GA] = CLIST_GA_NONE; else if (IsDlgButtonChecked(hwndDlg, IDC_CLIST_GA_COLLAPSE) == BST_CHECKED) m_aiIntSettings[CLIST_GA] = CLIST_GA_COLLAPSE; else m_aiIntSettings[CLIST_GA] = CLIST_GA_EXPAND; // apply all contactlist protocol filters vector<CProtoFilter*>::iterator iter = m_ProtoList.begin(); while (iter != m_ProtoList.end()) { (*iter)->bContactlistFilter = (*iter)->bTempContactlistFilter; iter++; } CConfig::SaveSettings(); SendMessage(hwndDlg, WM_INITDIALOG, 0, 0); break; } } break; } case WM_COMMAND: { // Activate the apply button if (!m_bInitializingDialog && ((HIWORD(wParam) == EN_CHANGE) || (HIWORD(wParam) == BN_CLICKED))) SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); break; } } return 0; }
INT_PTR CALLBACK CConfig::AppearanceDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_INITDIALOG: { m_bInitializingDialog = true; // Translate the dialog TranslateDialogDefault(hwndDlg); CheckDlgButton(hwndDlg, IDC_SKIP_DRIVER_ERROR, m_abBoolSettings[SKIP_DRIVER_ERROR] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_SCREENSAVER_LOCK, m_abBoolSettings[SCREENSAVER_LOCK] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_TRANSITIONS, m_abBoolSettings[TRANSITIONS] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_CONTROL_BACKLIGHTS, m_abBoolSettings[CONTROL_BACKLIGHTS] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_SHOW_LABELS, m_abBoolSettings[SHOW_LABELS] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_HOOK_VOLUMEWHEEL, m_abBoolSettings[HOOK_VOLUMEWHEEL] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_TIMESTAMP_SECONDS, m_abBoolSettings[TIMESTAMP_SECONDS] ? BST_CHECKED : BST_UNCHECKED); for (int i = 0; i < FONT_SETTINGS; i++) { m_templogfont[i] = m_logfont[i]; SendDlgItemMessage(hwndDlg, CConfig::GetSampleField(i), WM_SETFONT, (WPARAM)m_hSampleFont[i], (LPARAM)true); } // fill device box CConfig::hDeviceBox = GetDlgItem(hwndDlg, IDC_DEVICE); FillDeviceBox(CConfig::hDeviceBox); m_bInitializingDialog = false; break; } case WM_NOTIFY: { switch (((LPNMHDR)lParam)->code) { case PSN_APPLY: { m_abBoolSettings[SKIP_DRIVER_ERROR] = IsDlgButtonChecked(hwndDlg, IDC_SKIP_DRIVER_ERROR) == BST_CHECKED ? true : false; m_abBoolSettings[SCREENSAVER_LOCK] = IsDlgButtonChecked(hwndDlg, IDC_SCREENSAVER_LOCK) == BST_CHECKED ? true : false; m_abBoolSettings[TRANSITIONS] = IsDlgButtonChecked(hwndDlg, IDC_TRANSITIONS) == BST_CHECKED ? true : false; m_abBoolSettings[SHOW_LABELS] = IsDlgButtonChecked(hwndDlg, IDC_SHOW_LABELS) == BST_CHECKED ? true : false; m_abBoolSettings[CONTROL_BACKLIGHTS] = IsDlgButtonChecked(hwndDlg, IDC_CONTROL_BACKLIGHTS) == BST_CHECKED ? true : false; m_abBoolSettings[HOOK_VOLUMEWHEEL] = IsDlgButtonChecked(hwndDlg, IDC_HOOK_VOLUMEWHEEL) == BST_CHECKED ? true : false; m_abBoolSettings[TIMESTAMP_SECONDS] = IsDlgButtonChecked(hwndDlg, IDC_TIMESTAMP_SECONDS) == BST_CHECKED ? true : false; m_aiIntSettings[DEVICE] = SendDlgItemMessage(hwndDlg, IDC_DEVICE, CB_GETCURSEL, 0, 0); for (int i = 0; i < FONT_SETTINGS; i++) m_logfont[i] = m_templogfont[i]; CConfig::SaveSettings(); SendMessage(hwndDlg, WM_INITDIALOG, 0, 0); break; } } break; } case WM_COMMAND: { if (LOWORD(wParam) == IDC_CREDITS) { CAppletManager::GetInstance()->ActivateCreditsScreen(); break; } int iFont = LOWORD(wParam); switch (iFont) { case IDC_CHOOSEFONT1: iFont = 0; break; case IDC_CHOOSEFONT2: iFont = 1; break; case IDC_CHOOSEFONT3: iFont = 2; break; case IDC_CHOOSEFONT4: iFont = 3; break; case IDC_CHOOSEFONT5: iFont = 4; break; default: iFont = -1; }; if (iFont >= 0) { CHOOSEFONT cf = { 0 }; cf.lStructSize = sizeof(cf); cf.hwndOwner = hwndDlg; cf.lpLogFont = &m_templogfont[iFont]; cf.Flags = CF_FORCEFONTEXIST | CF_INITTOLOGFONTSTRUCT | CF_SCREENFONTS; if (ChooseFont(&cf)) { if (m_hSampleFont[iFont]) DeleteObject(m_hSampleFont[iFont]); m_hSampleFont[iFont] = CreateFontIndirect(&m_templogfont[iFont]); SendDlgItemMessage(hwndDlg, CConfig::GetSampleField(iFont), WM_SETFONT, (WPARAM)m_hSampleFont[iFont], (LPARAM)true); TRACE(_T("Font selected!")); } } if (LOWORD(wParam) == IDC_DEVICE && SendDlgItemMessage(hwndDlg, IDC_DEVICE, CB_GETCURSEL, 0, 0) != m_aiIntSettings[DEVICE]) { SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); } // Activate the apply button if (!m_bInitializingDialog && ((HIWORD(wParam) == EN_CHANGE) || (HIWORD(wParam) == BN_CLICKED))) { SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); } break; } } return 0; }
INT_PTR CALLBACK CConfig::ChatDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { char buf[128]; switch (uMsg) { case WM_INITDIALOG: { m_bInitializingDialog = true; // Translate the dialog TranslateDialogDefault(hwndDlg); CheckDlgButton(hwndDlg, IDC_MAXIMIZED_TITLE, m_abBoolSettings[MAXIMIZED_TITLE] ? BST_UNCHECKED : BST_CHECKED); CheckDlgButton(hwndDlg, IDC_MAXIMIZED_LABELS, m_abBoolSettings[MAXIMIZED_LABELS] ? BST_UNCHECKED : BST_CHECKED); CheckDlgButton(hwndDlg, IDC_SESSION_REPLY_MAXIMIZED, m_abBoolSettings[SESSION_REPLY_MAXIMIZED] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_SESSION_SCROLL_MAXIMIZED, m_abBoolSettings[SESSION_SCROLL_MAXIMIZED] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_SESSION_SHOWTYPING, m_abBoolSettings[SESSION_SHOWTYPING] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_SESSION_SENDTYPING, m_abBoolSettings[SESSION_SENDTYPING] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_SESSION_LOADDB, m_abBoolSettings[SESSION_LOADDB] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_SESSION_MARKREAD, m_abBoolSettings[SESSION_MARKREAD] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_SESSION_SYMBOLS, m_abBoolSettings[SESSION_SYMBOLS] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_SESSION_TIMESTAMPS, m_abBoolSettings[SESSION_TIMESTAMPS] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_SESSION_CLOSE, m_abBoolSettings[SESSION_CLOSE] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_SESSION_SENDRETURN, m_abBoolSettings[SESSION_SENDRETURN] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_SESSION_SCROLLNONE, m_aiIntSettings[SESSION_AUTOSCROLL] == SESSION_AUTOSCROLL_NONE ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_SESSION_SCROLLFIRST, m_aiIntSettings[SESSION_AUTOSCROLL] == SESSION_AUTOSCROLL_FIRST ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_SESSION_SCROLLLAST, m_aiIntSettings[SESSION_AUTOSCROLL] == SESSION_AUTOSCROLL_LAST ? BST_CHECKED : BST_UNCHECKED); _itoa_s(m_aiIntSettings[SESSION_LOGSIZE], buf, _countof(buf), 10); SetDlgItemTextA(hwndDlg, IDC_SESSION_LOGSIZE, buf); _itoa_s(m_aiIntSettings[SESSION_CLOSETIMER], buf, _countof(buf), 10); SetDlgItemTextA(hwndDlg, IDC_SESSION_CLOSETIMER, buf); m_bInitializingDialog = false; break; } case WM_NOTIFY: { switch (((LPNMHDR)lParam)->code) { case PSN_APPLY: { m_abBoolSettings[SESSION_SCROLL_MAXIMIZED] = IsDlgButtonChecked(hwndDlg, IDC_SESSION_SCROLL_MAXIMIZED) == BST_CHECKED ? true : false; m_abBoolSettings[SESSION_REPLY_MAXIMIZED] = IsDlgButtonChecked(hwndDlg, IDC_SESSION_REPLY_MAXIMIZED) == BST_CHECKED ? true : false; m_abBoolSettings[SESSION_SHOWTYPING] = IsDlgButtonChecked(hwndDlg, IDC_SESSION_SHOWTYPING) == BST_CHECKED ? true : false; m_abBoolSettings[SESSION_SENDTYPING] = IsDlgButtonChecked(hwndDlg, IDC_SESSION_SENDTYPING) == BST_CHECKED ? true : false; m_abBoolSettings[SESSION_LOADDB] = IsDlgButtonChecked(hwndDlg, IDC_SESSION_LOADDB) == BST_CHECKED ? true : false; m_abBoolSettings[SESSION_SENDRETURN] = IsDlgButtonChecked(hwndDlg, IDC_SESSION_SENDRETURN) == BST_CHECKED ? true : false; m_abBoolSettings[SESSION_MARKREAD] = IsDlgButtonChecked(hwndDlg, IDC_SESSION_MARKREAD) == BST_CHECKED ? true : false; m_abBoolSettings[SESSION_SYMBOLS] = IsDlgButtonChecked(hwndDlg, IDC_SESSION_SYMBOLS) == BST_CHECKED ? true : false; m_abBoolSettings[SESSION_TIMESTAMPS] = IsDlgButtonChecked(hwndDlg, IDC_SESSION_TIMESTAMPS) == BST_CHECKED ? true : false; m_abBoolSettings[SESSION_CLOSE] = IsDlgButtonChecked(hwndDlg, IDC_SESSION_CLOSE) == BST_CHECKED ? true : false; if (IsDlgButtonChecked(hwndDlg, IDC_SESSION_SCROLLNONE) == BST_CHECKED) m_aiIntSettings[SESSION_AUTOSCROLL] = SESSION_AUTOSCROLL_NONE; else if (IsDlgButtonChecked(hwndDlg, IDC_SESSION_SCROLLFIRST) == BST_CHECKED) m_aiIntSettings[SESSION_AUTOSCROLL] = SESSION_AUTOSCROLL_FIRST; else m_aiIntSettings[SESSION_AUTOSCROLL] = SESSION_AUTOSCROLL_LAST; m_abBoolSettings[MAXIMIZED_TITLE] = IsDlgButtonChecked(hwndDlg, IDC_MAXIMIZED_TITLE) == BST_UNCHECKED ? true : false; m_abBoolSettings[MAXIMIZED_LABELS] = IsDlgButtonChecked(hwndDlg, IDC_MAXIMIZED_LABELS) == BST_UNCHECKED ? true : false; GetDlgItemTextA(hwndDlg, IDC_SESSION_LOGSIZE, buf, _countof(buf)); m_aiIntSettings[SESSION_LOGSIZE] = atoi(buf) > 0 ? atoi(buf) : 1; GetDlgItemTextA(hwndDlg, IDC_SESSION_CLOSETIMER, buf, _countof(buf)); m_aiIntSettings[SESSION_CLOSETIMER] = atoi(buf) >= 0 ? atoi(buf) : 1; CConfig::SaveSettings(); SendMessage(hwndDlg, WM_INITDIALOG, 0, 0); break; } } break; } case WM_COMMAND: { // Activate the apply button if (!m_bInitializingDialog && ((HIWORD(wParam) == EN_CHANGE) || (HIWORD(wParam) == BN_CLICKED))) SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); break; } } return 0; }
BOOL CPPgWebServer::OnApply() { if(m_bModified) { CString sBuf; // get and check templatefile existance... GetDlgItem(IDC_TMPLPATH)->GetWindowText(sBuf); if ( IsDlgButtonChecked(IDC_WSENABLED) && !PathFileExists(sBuf)) { CString buffer; buffer.Format(GetResString(IDS_WEB_ERR_CANTLOAD),sBuf); AfxMessageBox(buffer,MB_OK); return FALSE; } thePrefs.SetTemplate(sBuf); theApp.webserver->ReloadTemplates(); uint16 oldPort=thePrefs.GetWSPort(); GetDlgItem(IDC_WSPASS)->GetWindowText(sBuf); if(sBuf != HIDDEN_PASSWORD) thePrefs.SetWSPass(sBuf); GetDlgItem(IDC_WSPASSLOW)->GetWindowText(sBuf); if(sBuf != HIDDEN_PASSWORD) thePrefs.SetWSLowPass(sBuf); GetDlgItem(IDC_WSPORT)->GetWindowText(sBuf); if (_tstoi(sBuf)!=oldPort) { thePrefs.SetWSPort((uint16)_tstoi(sBuf)); theApp.webserver->RestartServer(); } GetDlgItemText(IDC_WSTIMEOUT,sBuf); thePrefs.m_iWebTimeoutMins=_tstoi(sBuf); thePrefs.SetWSIsEnabled(IsDlgButtonChecked(IDC_WSENABLED)!=0); thePrefs.SetWSIsLowUserEnabled(IsDlgButtonChecked(IDC_WSENABLEDLOW)!=0); thePrefs.SetWebUseGzip(IsDlgButtonChecked(IDC_WS_GZIP)!=0); theApp.webserver->StartServer(); thePrefs.m_bAllowAdminHiLevFunc= (IsDlgButtonChecked(IDC_WS_ALLOWHILEVFUNC)!=0); // mobilemule GetDlgItem(IDC_MMPORT_FIELD)->GetWindowText(sBuf); if (_tstoi(sBuf)!= thePrefs.GetMMPort() ) { thePrefs.SetMMPort((uint16)_tstoi(sBuf)); theApp.mmserver->StopServer(); theApp.mmserver->Init(); } thePrefs.SetMMIsEnabled(IsDlgButtonChecked(IDC_MMENABLED)!=0); if (IsDlgButtonChecked(IDC_MMENABLED)) theApp.mmserver->Init(); else theApp.mmserver->StopServer(); GetDlgItem(IDC_MMPASSWORDFIELD)->GetWindowText(sBuf); if(sBuf != HIDDEN_PASSWORD) thePrefs.SetMMPass(sBuf); //MORPH START - UPnP #ifdef USE_OFFICIAL_UPNP if (IsDlgButtonChecked(IDC_WSUPNP)) { ASSERT( thePrefs.IsUPnPEnabled() ); if (!thePrefs.m_bWebUseUPnP && thePrefs.GetWSIsEnabled() && theApp.m_pUPnPFinder != NULL) // add the port to existing mapping without having šMule restarting (if all conditions are met) theApp.m_pUPnPFinder->GetImplementation()->LateEnableWebServerPort(thePrefs.GetWSPort()); thePrefs.m_bWebUseUPnP = true; } else thePrefs.m_bWebUseUPnP = false; #else if ((UINT)thePrefs.GetUPnPNatWeb() != IsDlgButtonChecked(IDC_WSUPNP)) { theApp.m_UPnP_IGDControlPoint->SetUPnPNat(thePrefs.IsUPnPNat()); // and start/stop nat. thePrefs.SetUPnPNatWeb(IsDlgButtonChecked(IDC_WSUPNP)!=0); } #endif //MORPH END - UPnP theApp.emuledlg->serverwnd->UpdateMyInfo(); SetModified(FALSE); SetTmplButtonState(); } return CPropertyPage::OnApply(); }
static BOOL StoreDBCheckState(FacebookProto* ppro, HWND hwnd, int idCtrl, const char* szSetting) { BOOL state = IsDlgButtonChecked(hwnd, idCtrl); ppro->setByte(szSetting, (BYTE)state); return state; }
// // Page Layout Dialog Box // BOOL FAR PASCAL _export PAGE::PageDialog ( HWND hDlg, WORD message, WORD wParam, LONG lParam ) { PAGE *page; switch ( message ) { case WM_INITDIALOG: page = (PAGE*)AObjGetRuntimeInfo((OBJECTID)lParam); SetWindowLong(hDlg, DWL_USER, (long)page); page->SetDialog(hDlg); page->hPen1 = CreatePen(PS_SOLID, 1, 0x00808080L); page->hPen2 = CreatePen(PS_SOLID, 2, 0x00808080L); page->InitDlgControl(); AUtlSetTitleFont(OTYPE_PAGE, NULL, GetDlgItem(hDlg, IDD_OBJECT)); AUtlCenterDialog(hDlg, 0); return TRUE; case WM_MOVE: page = (PAGE*)GetWindowLong(hDlg, DWL_USER); GetWindowRect(page->hLayout, &page->layoutRect); return 0; case WM_COMMAND: page = (PAGE*)GetWindowLong(hDlg, DWL_USER); switch ( wParam ) { case PAGEOK: SetFocus(GetDlgItem(hDlg, PAGEOK)); page->UpdateObject(); page->DeleteListData(); EndDialog(hDlg, 0); return TRUE; case PAGECANCEL: SetFocus(GetDlgItem(hDlg, PAGECANCEL)); page->DeleteListData(); EndDialog(hDlg, 0); return TRUE; case PAGEHELP: // WinHelp(hDlg, HELPFILE, HELP_CONTEXT, HELPID_OBJD_Page); return TRUE; case PAGEADD: page->Add(); return TRUE; case PAGEGRID: page->snap = IsDlgButtonChecked(hDlg, PAGEGRID); return TRUE; case PAGEREMOVE: page->Remove(); page->UpdateRemoveButton(); page->UpdateEditButton(); return TRUE; case PAGEEDIT: page->Edit(); return TRUE; case PAGEAVAIL: if (HIWORD(lParam) == LBN_SELCHANGE) page->UpdateAddButton(); if (HIWORD(lParam) == LBN_DBLCLK) page->Add(); return TRUE; case PAGESELECT: if (HIWORD(lParam) == LBN_SELCHANGE) { page->MakeWindowTop(); page->UpdateRemoveButton(); page->UpdateEditButton(); } if (HIWORD(lParam) == LBN_DBLCLK) page->Edit(); return TRUE; } break; case WM_PAINT: page = (PAGE*)GetWindowLong(hDlg, DWL_USER); page->DrawObjectName(); return FALSE; } return FALSE; }
INT_PTR CALLBACK DlgProcColorToolWindow(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) { static COLORCHOOSER* pCC = NULL; static int iCurrentHotTrack; static BOOL bChoosing; static int iRows; static int iColumns; static HWND hPreviousActiveWindow; switch(msg) { case WM_INITDIALOG: { RECT rc; int iSquareRoot; int width ; int height; TranslateDialogDefault(hwndDlg); pCC = (COLORCHOOSER*) lParam; iCurrentHotTrack = -2; bChoosing = FALSE; iSquareRoot = (int)sqrt(pCC->pModule->nColorCount); iColumns = iSquareRoot * iSquareRoot == pCC->pModule->nColorCount?iSquareRoot:iSquareRoot+1; iRows = iSquareRoot; rc.top = rc.left = 100; rc.right = 100 + iColumns * 25 + 1; rc.bottom = iRows * 20 + 100 + 20; AdjustWindowRectEx(&rc, GetWindowLongPtr(hwndDlg, GWL_STYLE), FALSE, GetWindowLongPtr(hwndDlg, GWL_EXSTYLE)); width = rc.right - rc.left; height = rc.bottom - rc.top; pCC->yPosition -= height; SetDlgItemText(hwndDlg, IDC_COLORTEXT, pCC->bForeground?TranslateT("Text colour"):TranslateT("Background colour")); SetWindowPos(GetDlgItem(hwndDlg, IDC_COLORTEXT), NULL, 0, 0, width, 20, 0); SetWindowPos(hwndDlg, NULL, pCC->xPosition, pCC->yPosition, width, height, SWP_SHOWWINDOW); } break; case WM_CTLCOLOREDIT: case WM_CTLCOLORSTATIC: if (( HWND )lParam == GetDlgItem( hwndDlg, IDC_COLORTEXT )) { SetTextColor((HDC)wParam,RGB(60,60,150)); SetBkColor((HDC)wParam,GetSysColor(COLOR_WINDOW)); return (INT_PTR)GetSysColorBrush(COLOR_WINDOW); } break; case WM_COMMAND: switch ( LOWORD( wParam )) { case IDOK: if (iCurrentHotTrack >= 0) PostMessage(hwndDlg, WM_LBUTTONUP, 0, 0); break; case IDCANCEL: DestroyWindow(hwndDlg); break; } break; case WM_LBUTTONUP: if (iCurrentHotTrack >= 0 && iCurrentHotTrack < pCC->pModule->nColorCount && pCC->hWndTarget != NULL) { HWND hWindow; CHARFORMAT2 cf; cf.cbSize = sizeof(CHARFORMAT2); cf.dwMask = 0; cf.dwEffects = 0; hWindow = GetParent( pCC->hWndTarget ); if ( pCC->bForeground ) { pCC->si->bFGSet = TRUE; pCC->si->iFG = iCurrentHotTrack; if ( IsDlgButtonChecked( hWindow, IDC_COLOR )) { cf.dwMask = CFM_COLOR; cf.crTextColor = pCC->pModule->crColors[iCurrentHotTrack]; SendMessage(pCC->hWndTarget, EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM)&cf); } } else { pCC->si->bBGSet = TRUE; pCC->si->iBG = iCurrentHotTrack; if ( IsDlgButtonChecked( hWindow, IDC_BKGCOLOR )) { cf.dwMask = CFM_BACKCOLOR; cf.crBackColor = pCC->pModule->crColors[iCurrentHotTrack]; SendMessage(pCC->hWndTarget, EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM)&cf); } } } PostMessage(hwndDlg, WM_CLOSE, 0, 0); break; case WM_ACTIVATE: if (wParam == WA_INACTIVE) PostMessage(hwndDlg, WM_CLOSE, 0, 0); else if ((wParam == WA_ACTIVE) || (wParam == WA_CLICKACTIVE)) hPreviousActiveWindow = (HWND)lParam; break; case WM_MOUSEMOVE: { HDC hdc = GetDC(hwndDlg); POINT pt; RECT rect; int but; pt.x = LOWORD(lParam); pt.y = HIWORD(lParam); if (iCurrentHotTrack == -2) return 0; // prevent focussing when not drawn yet! but = CalculateCoordinatesToButton(pCC, pt); // weird stuff if (but != iCurrentHotTrack) { if (iCurrentHotTrack >= 0) { rect = CalculateButtonToCoordinates(pCC, iCurrentHotTrack); DrawFocusRect(hdc, &rect); iCurrentHotTrack = -1; } iCurrentHotTrack = but; if (iCurrentHotTrack >= 0) { rect = CalculateButtonToCoordinates(pCC, iCurrentHotTrack); DrawFocusRect(hdc, &rect); } } ReleaseDC(hwndDlg, hdc); } break; case WM_PAINT: { PAINTSTRUCT ps; HDC hdc; RECT rc; int i = 0; int iThisRow = 1; int iThisColumn = 0; GetClientRect(hwndDlg, &rc); rc.top += 20; hdc = BeginPaint(hwndDlg, &ps); // fill background FillRect(hdc, &rc, GetSysColorBrush(COLOR_WINDOW)); for (i; i < pCC->pModule->nColorCount; i++) { HBRUSH hbr; // decide place to draw the color block in the window iThisColumn ++; if (iThisColumn > iColumns) { iThisColumn = 1; iThisRow++; } if ( pCC->bForeground && pCC->si->bFGSet && pCC->si->iFG == i || !pCC->bForeground && pCC->si->bBGSet && pCC->si->iBG == i ) { rc.top = (iThisRow-1) * 20+ 1 +20 ; rc.left = (iThisColumn-1) * 25 + 1 + 1 ; rc.bottom = iThisRow * 20- 1 + 20 ; rc.right = iThisColumn * 25-1 ; DrawEdge(hdc, &rc, EDGE_RAISED, BF_TOP|BF_LEFT|BF_RIGHT|BF_BOTTOM); } rc.top = (iThisRow-1) * 20+ 3 +20 ; rc.left = (iThisColumn-1) * 25 + 3 + 1 ; rc.bottom = iThisRow * 20- 3 + 20 ; rc.right = iThisColumn * 25-3 ; FillRect(hdc, &rc, GetStockObject(BLACK_BRUSH)); hbr = CreateSolidBrush(pCC->pModule->crColors[i]); rc.top = (iThisRow-1) * 20+4 +20; rc.left = (iThisColumn-1) * 25+ 4 + 1; rc.bottom = iThisRow * 20-4 + 20; rc.right = iThisColumn * 25-4; FillRect(hdc, &rc, hbr); DeleteObject(hbr); } EndPaint(hwndDlg, &ps); iCurrentHotTrack = -1; } break; case WM_CLOSE: SetFocus(pCC->hWndTarget); DestroyWindow(hwndDlg); break; case WM_DESTROY: mir_free( pCC ); return TRUE; } return FALSE; }
BOOL CPPgGeneral::OnApply() { CString strNick; GetDlgItem(IDC_NICK)->GetWindowText(strNick); strNick.Trim(); if (!IsValidEd2kString(strNick)) strNick.Empty(); if (strNick.IsEmpty()) { strNick = DEFAULT_NICK; GetDlgItem(IDC_NICK)->SetWindowText(strNick); } //Xman DLP check the nick CString strNicktocheck=strNick + _T(" [xxx]"); if(theApp.dlp->IsDLPavailable() && (theApp.dlp->DLPCheckUsername_Hard(strNicktocheck) || theApp.dlp->DLPCheckUsername_Soft(strNicktocheck))) { AfxMessageBox(_T("This nick is not allowed")); strNick = DEFAULT_NICK; GetDlgItem(IDC_NICK)->SetWindowText(strNick); } //Xman end thePrefs.SetUserNick(strNick); if (m_language.GetCurSel() != CB_ERR) { WORD wNewLang = (WORD)m_language.GetItemData(m_language.GetCurSel()); if (thePrefs.GetLanguageID() != wNewLang) { thePrefs.SetLanguageID(wNewLang); thePrefs.SetLanguage(); #ifdef _DEBUG // Can't yet be switched on-the-fly, too much unresolved issues.. if (thePrefs.GetRTLWindowsLayout()) { ModifyAllWindowStyles(theApp.emuledlg, WS_EX_LAYOUTRTL | WS_EX_RTLREADING | WS_EX_RIGHT | WS_EX_LEFTSCROLLBAR, 0); ModifyAllWindowStyles(theApp.emuledlg->preferenceswnd, WS_EX_LAYOUTRTL | WS_EX_RTLREADING | WS_EX_RIGHT | WS_EX_LEFTSCROLLBAR, 0); theApp.DisableRTLWindowsLayout(); thePrefs.m_bRTLWindowsLayout = false; } #endif theApp.emuledlg->preferenceswnd->Localize(); theApp.emuledlg->statisticswnd->CreateMyTree(); theApp.emuledlg->statisticswnd->Localize(); theApp.emuledlg->statisticswnd->ShowStatistics(true); theApp.emuledlg->serverwnd->Localize(); theApp.emuledlg->transferwnd->Localize(); theApp.emuledlg->transferwnd->UpdateCatTabTitles(); theApp.emuledlg->searchwnd->Localize(); theApp.emuledlg->sharedfileswnd->Localize(); theApp.emuledlg->chatwnd->Localize(); theApp.emuledlg->Localize(); theApp.emuledlg->ircwnd->Localize(); theApp.emuledlg->kademliawnd->Localize(); } } thePrefs.startMinimized = IsDlgButtonChecked(IDC_STARTMIN)!=0; thePrefs.m_bAutoStart = IsDlgButtonChecked(IDC_STARTWIN)!=0; if( thePrefs.m_bAutoStart ) AddAutoStart(); else RemAutoStart(); thePrefs.confirmExit = IsDlgButtonChecked(IDC_EXIT)!=0; thePrefs.splashscreen = IsDlgButtonChecked(IDC_SPLASHON)!=0; thePrefs.bringtoforeground = IsDlgButtonChecked(IDC_BRINGTOFOREGROUND)!=0; thePrefs.updatenotify = IsDlgButtonChecked(IDC_CHECK4UPDATE)!=0; //Xman versions check thePrefs.updatenotifymod= IsDlgButtonChecked(IDC_CHECK4UPDATEMOD)!=0; //Xman end thePrefs.onlineSig = IsDlgButtonChecked(IDC_ONLINESIG)!=0; thePrefs.versioncheckdays = ((CSliderCtrl*)GetDlgItem(IDC_CHECKDAYS))->GetPos(); thePrefs.m_bEnableMiniMule = IsDlgButtonChecked(IDC_MINIMULE) != 0; thePrefs.m_bPreventStandby = IsDlgButtonChecked(IDC_PREVENTSTANDBY) != 0; LoadSettings(); SetModified(FALSE); return CPropertyPage::OnApply(); }
/*------------------------------------------------------------------------------* | <<< ダイアログのイベント処理 >>> *------------------------------------------------------------------------------*/ static BOOL CALLBACK D3CtrlProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { #ifdef IDC_ADAPTER_COMBO switch(msg) { case WM_INITDIALOG: //static bool isLocked = false; // 初期化時にはスイッチの動作を抑制 //isLocked = true; CTRL_WINDOW_RECT_SET(hWnd); // ウィンドウの中央へ hDialog = hWnd; d3.bWindow = true; // 起動時は強制時にウィンドウとする CtrlSet(d3.bWindow); //isLocked = false; break; case WM_COMMAND: switch(LOWORD(wParam)) { case IDC_ADAPTER_COMBO: // アダプター case IDC_ADAPTERFORMAT_COMBO: // アダプターの画像フォーマット case IDC_RESOLUTION_COMBO: // 描画サイズ //case IDC_VERTEXPROCESSING_COMBO: // 頂点の計算方法 if(CBN_SELCHANGE == HIWORD(wParam)) { ComboSet(LOWORD(wParam)); CtrlSet(IsDlgButtonChecked(hWnd, IDC_WINDOW) == BST_CHECKED); } break; case IDC_WINDOW: d3.fmtBackBuffer = d3.fmtDisplay = d3.deskTopDisplayMode.Format; ComboSet(LOWORD(wParam)); CtrlSet(true); EnableWindow(GetDlgItem(hWnd, IDC_ADAPTERFORMAT_COMBO), false); CheckRadioButton(hWnd, IDC_WINDOW, IDC_FULLSCREEN, IDC_WINDOW); break; case IDC_FULLSCREEN: d3.fmtBackBuffer = d3.fmtDisplay = d3.deskTopDisplayMode.Format; ComboSet(LOWORD(wParam)); CtrlSet(false); EnableWindow(GetDlgItem(hWnd, IDC_ADAPTERFORMAT_COMBO), true); CheckRadioButton(hWnd, IDC_WINDOW, IDC_FULLSCREEN, IDC_FULLSCREEN); break; case IDOK: // OK ボタンを押した ChangeSet(); SendMessage(hDialog, WM_CLOSE, 0, 0L); break; case IDCANCEL: // CANCEL を押した memcpy(&d3, &d3_bak, sizeof(D3_WORK)); SendMessage(hDialog, WM_CLOSE, 0, 0L); break; } break; case WM_CLOSE: EndDialog(hDialog, IDOK); hDialog = NULL; break; default: return FALSE; } #endif return TRUE; }
HRESULT CALLBACK DlgProc_Browse (HWND hDlg, UINT msg, WPARAM wp, LPARAM lp) { BROWSEDIALOGPARAMS *pbdp; if (AfsAppLib_HandleHelp (IDD_APPLIB_BROWSE, hDlg, msg, wp, lp)) { return FALSE; } if (msg == WM_INITDIALOG) { SetWindowLongPtr (hDlg, DWLP_USER, lp); } if ((pbdp = (BROWSEDIALOGPARAMS *)GetWindowLongPtr (hDlg, DWLP_USER)) != NULL) { switch (msg) { case WM_INITDIALOG: DlgProc_Browse_OnInitDialog (hDlg, pbdp); break; case WM_NOTIFY: switch (((LPNMHDR)lp)->code) { case LVN_ITEMCHANGED: if ( ((LPNM_LISTVIEW)lp)->uNewState & LVIS_SELECTED ) { DlgProc_Browse_SelectedEntry (hDlg, pbdp); } break; case NM_DBLCLK: PostMessage (hDlg, WM_COMMAND, MAKELONG(IDC_BROWSE_SELECT,BN_CLICKED), (LPARAM)GetDlgItem(hDlg,IDC_BROWSE_SELECT)); break; } break; case WM_DESTROY: DlgProc_Browse_StopSearch (pbdp); if (pbdp->hImages != NULL) { ListView_SetImageList (GetDlgItem (hDlg, IDC_BROWSE_LIST), 0, 0); ImageList_Destroy (pbdp->hImages); } break; case WM_FOUNDNAME: { LPTSTR pszName = (LPTSTR)lp; if (pszName != NULL) { HWND hList = GetDlgItem (hDlg, IDC_BROWSE_LIST); LV_AddItem (hList, 1, INDEX_SORT, 0, 0, pszName); FreeString (pszName); } break; } case WM_THREADSTART: { TCHAR szText[ cchRESOURCE ]; GetString (szText, IDS_BROWSE_WAITING); SetDlgItemText (pbdp->hDlg, IDC_BROWSE_STATUS, szText); break; } case WM_THREADDONE: { SetDlgItemText (pbdp->hDlg, IDC_BROWSE_STATUS, TEXT("")); break; } case WM_COMMAND: switch (LOWORD(wp)) { case IDCANCEL: EndDialog (hDlg, LOWORD(wp)); break; case IDC_BROWSE_SELECT: if ( (GetDlgItem (pbdp->hDlg, IDC_BROWSE_NONE) != NULL) && (IsDlgButtonChecked (pbdp->hDlg, IDC_BROWSE_NONE)) ) { pbdp->szCell[0] = TEXT('\0'); pbdp->szNamed[0] = TEXT('\0'); } else { GetDlgItemText (hDlg, IDC_BROWSE_CELL, pbdp->szCell, cchNAME); GetDlgItemText (hDlg, IDC_BROWSE_NAMED, pbdp->szNamed, cchRESOURCE); } EndDialog (hDlg, IDOK); break; case IDC_BROWSE_CELL: if (HIWORD(wp) == CBN_SELCHANGE) { GetDlgItemText (hDlg, IDC_BROWSE_CELL, pbdp->szCell, cchNAME); DlgProc_Browse_StartSearch (pbdp, FALSE); } break; case IDC_BROWSE_RESTART: GetDlgItemText (hDlg, IDC_BROWSE_CELL, pbdp->szCell, cchNAME); DlgProc_Browse_StartSearch (pbdp, FALSE); PostMessage (hDlg, WM_NEXTDLGCTL, (WPARAM)GetDlgItem (hDlg, IDC_BROWSE_NAMED), (LPARAM)TRUE); break; case IDC_BROWSE_NAMED: if (HIWORD(wp) == EN_UPDATE) // has the user hit Enter here? { TCHAR szTest[ cchRESOURCE ]; GetDlgItemText (hDlg, IDC_BROWSE_NAMED, szTest, cchRESOURCE); if ( (lstrlen (szTest) > 0) && (szTest[ lstrlen(szTest)-1 ] == TEXT('\n')) ) { szTest[ lstrlen(szTest)-1 ] = TEXT('\0'); if ( (lstrlen (szTest) > 0) && (szTest[ lstrlen(szTest)-1 ] == TEXT('\r')) ) { szTest[ lstrlen(szTest)-1 ] = TEXT('\0'); } SetDlgItemText (hDlg, IDC_BROWSE_NAMED, szTest); PostMessage (hDlg, WM_COMMAND, MAKELONG(IDC_BROWSE_SELECT,BN_CLICKED), (LPARAM)GetDlgItem(hDlg,IDC_BROWSE_SELECT)); } } break; case IDC_BROWSE_NONE: DlgProc_Browse_OnNone (hDlg, pbdp); break; } break; } } return FALSE; }
void CPPagePlayback::OnUpdateAutoZoomCombo(CCmdUI* pCmdUI) { pCmdUI->Enable(!!IsDlgButtonChecked(IDC_CHECK5)); }
void CPPgScheduler::OnDisableTime2() { GetDlgItem(IDC_DATETIMEPICKER2)->EnableWindow( IsDlgButtonChecked(IDC_CHECKNOENDTIME)==0 ); }
void CAERDlg::OnStop() { m_enAER = AER_STOP; m_bDontAskAgain = IsDlgButtonChecked (IDC_DONTASKAGAIN) == BST_CHECKED; EndDialog (IDOK); }
BOOL CALLBACK PreferencesDialog1Proc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_COMMAND: /* Process control messages */ { switch (LOWORD(wParam)) { case ID_AUTOUPDATECHK: case ID_OVERWRITEEMPTYDOCSCHK: case ID_HIDEEXPLORERCHK: case ID_OPENEXPFILEONSELCHK: case ID_RENAMEEXPONSELCHK: { if (HIWORD(wParam) == BN_CLICKED) { SendMessage(GetParent(hDlg), PSM_CHANGED, (WPARAM)hDlg, 0); } break; } case ID_AUTOHIDEEXPLORERCHK: { if (HIWORD(wParam) == BN_CLICKED) { bool Checked = IsDlgButtonChecked(hDlg, LOWORD(wParam)) == BST_CHECKED; EnableWindow(GetDlgItem(hDlg, ID_AUTOHIDEDELAYEDT), Checked); SendMessage(GetParent(hDlg), PSM_CHANGED, (WPARAM)hDlg, 0); } break; } case ID_DEFAULTBROWSERCHK: { if (HIWORD(wParam) == BN_CLICKED) { bool Checked = IsDlgButtonChecked(hDlg, LOWORD(wParam)) == BST_CHECKED; EnableWindow(GetDlgItem(hDlg, ID_INTERNETBROWSEREDT), !Checked); EnableWindow(GetDlgItem(hDlg, ID_INTERNETBROWSERBTN), !Checked); SendMessage(GetParent(hDlg), PSM_CHANGED, (WPARAM)hDlg, 0); } break; } case ID_AUTOHIDEDELAYEDT: case ID_INTERNETBROWSEREDT: { if (HIWORD(wParam) == EN_CHANGE) { SendMessage(GetParent(hDlg), PSM_CHANGED, (WPARAM)hDlg, 0); } break; } } return TRUE; } case WM_INITDIALOG: { /* Set up controls */ MakeEditScrollable(GetDlgItem(hDlg, ID_AUTOHIDEDELAYEDT)); /* Display Preferences */ CheckDlgButton(hDlg, ID_MULTIPLEINSTANCESCHK, AllowMultipleInstance ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hDlg, ID_AUTOUPDATECHK, AutoUpdate ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hDlg, ID_OVERWRITEEMPTYDOCSCHK, Editor->OverwriteEmptyDocs ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hDlg, ID_OPENUNSUPPORTEDDOCSCHK, OpenUnsupportedFiles ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hDlg, ID_HIDEEXPLORERCHK, (Explorer->GetHide() & HideSplitter) ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hDlg, ID_OPENEXPFILEONSELCHK, Explorer->SingleClickOpen ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hDlg, ID_RENAMEEXPONSELCHK, Explorer->RenameOnClick ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hDlg, ID_AUTOHIDEEXPLORERCHK, Explorer->GetAutoHide() ? BST_CHECKED : BST_UNCHECKED); SetDlgItemInt(hDlg, ID_AUTOHIDEDELAYEDT, Explorer->AutoHideDelay/1000, TRUE); CheckDlgButton(hDlg, ID_DEFAULTBROWSERCHK, DefaultInternetBrowser ? BST_CHECKED : BST_UNCHECKED); SetWindowText(GetDlgItem(hDlg, ID_INTERNETBROWSEREDT), InternetBrowser.c_str()); /* Apply control modifiations */ SendMessage(hDlg, WM_COMMAND, MAKEWPARAM(ID_DEFAULTBROWSERCHK, BN_CLICKED), (LPARAM)GetDlgItem(hDlg, ID_DEFAULTBROWSERCHK)); SendMessage(hDlg, WM_COMMAND, MAKEWPARAM(ID_AUTOHIDEEXPLORERCHK, BN_CLICKED), (LPARAM)GetDlgItem(hDlg, ID_AUTOHIDEEXPLORERCHK)); return TRUE; } case WM_NOTIFY: { switch (((NMHDR *)lParam)->code) { case PSN_APPLY: { /* Save Preferences */ AllowMultipleInstance = IsDlgButtonChecked(hDlg, ID_MULTIPLEINSTANCESCHK) == BST_CHECKED; AutoUpdate = IsDlgButtonChecked(hDlg, ID_AUTOUPDATECHK) == BST_CHECKED; Editor->OverwriteEmptyDocs = IsDlgButtonChecked(hDlg, ID_OVERWRITEEMPTYDOCSCHK) == BST_CHECKED; OpenUnsupportedFiles = IsDlgButtonChecked(hDlg, ID_OPENUNSUPPORTEDDOCSCHK) == BST_CHECKED; HideSplitter = IsDlgButtonChecked(hDlg, ID_HIDEEXPLORERCHK) == BST_CHECKED; Explorer->SetHide(HideSplitter); Explorer->SingleClickOpen = IsDlgButtonChecked(hDlg, ID_OPENEXPFILEONSELCHK) == BST_CHECKED; Explorer->RenameOnClick = IsDlgButtonChecked(hDlg, ID_RENAMEEXPONSELCHK) == BST_CHECKED; Explorer->SetAutoHide(IsDlgButtonChecked(hDlg, ID_AUTOHIDEEXPLORERCHK) == BST_CHECKED); Explorer->AutoHideDelay = GetDlgItemInt(hDlg, ID_AUTOHIDEDELAYEDT, NULL, FALSE)*1000; DefaultInternetBrowser = IsDlgButtonChecked(hDlg, ID_DEFAULTBROWSERCHK) == BST_CHECKED; InternetBrowser = GetWindowText(GetDlgItem(hDlg, ID_INTERNETBROWSEREDT)); return TRUE; } } return FALSE; } default: return FALSE; } }
void CLuzj_ZTEDlg::OnStart() { UpdateStatus(TRUE); ////////////////////////////////////////////////////////////////////////// // 先存放设置参数 CString strTemp; //取得用户名密码 GetDlgItem(IDC_USERNAME)->GetWindowText((char*)m_username, sizeof(m_username)); m_usernameLen=strlen((char*)m_username); GetDlgItem(IDC_PWD)->GetWindowText((char*)m_password, sizeof(m_password)); m_passwordLen=strlen((char*)m_password); if (m_usernameLen<1 || m_passwordLen<1) { this->Log(I_ERR, "用户名或者密码太短!"); UpdateStatus(FALSE); return; } Config.m_csNetCard=m_csAdapters[((CComboBox*)GetDlgItem(IDC_NETCARD))->GetCurSel()]; if (IsDlgButtonChecked(IDC_REMEMBER)) { Config.m_bRememberPWD=TRUE; } else { Config.m_bRememberPWD=FALSE; } Config.m_csLastUser=(char*)m_username; if(Config.m_bRememberPWD) Config.m_UserInfo[(char*)m_username]=(char*)m_password; Config.SaveConfig(); ////////////////////////////////////////////////////////////////////////// SetBubble("提示",STR_AppName" 开始联网认证……"); char m_errorBuffer[PCAP_ERRBUF_SIZE]; int retcode = 0; ///////////////////////////////////////////////////////////////////////// //寻找所选的网卡的MAC if (GetMacIP(Config.m_csNetCard, NULL, m_MacAdd) != 0) { if(m_MacAdd[0] == 0 && m_MacAdd[1] == 0 && m_MacAdd[2] == 0 && m_MacAdd[3] == 0 && m_MacAdd[4] == 0 && m_MacAdd[5] == 0) { Log(I_ERR, "GetMacIP:no mac address."); UpdateStatus(FALSE); return; } } else { Log(I_INFO, "MAC:%02X-%02X-%02X-%02X-%02X-%02X", m_MacAdd[0], m_MacAdd[1], m_MacAdd[2], m_MacAdd[3], m_MacAdd[4], m_MacAdd[5]); } ////////////////////////////////////////////////////////////////////////// // 打开指定适配器 m_adapterHandle=pcap_open_live(ToNPFName(Config.m_csNetCard),65536,1,Config.m_iTimeout,m_errorBuffer); if(m_adapterHandle == NULL) { Log(I_INFO, "pcap_open_live:%s", m_errorBuffer); UpdateStatus(FALSE); return; } char FilterStr[100]; //包过滤字符串 struct bpf_program mfcode; sprintf(FilterStr, "(ether proto 0x888e) and (ether dst host %02x:%02x:%02x:%02x:%02x:%02x)", m_MacAdd[0],m_MacAdd[1],m_MacAdd[2],m_MacAdd[3],m_MacAdd[4],m_MacAdd[5]); if((retcode=pcap_compile(m_adapterHandle, &mfcode, FilterStr, 1, 0xff))==-1 ||(retcode=pcap_setfilter(m_adapterHandle, &mfcode))==-1) { Log(I_INFO, "pcap_compile & pcap_setfilter:%s", pcap_strerror(retcode)); pcap_close(m_adapterHandle); UpdateStatus(FALSE); return; } status = AUTHING; CPacket packet; ////////////////////////////////////////////////////////////////////////// ///开始认证包 if(!(retcode=packet.send_packet_start(m_adapterHandle,m_MacAdd))) { Log(I_INFO, "send_packet_start:(%d)%s", retcode, pcap_geterr(m_adapterHandle)); UpdateStatus(FALSE); return; } Log(I_INFO, "Client:EAPOL_START..."); m_AuthThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)eap_thread, this, 0, 0); if(m_AuthThread == NULL) Log(I_INFO, "CreateThread:(%d)", GetLastError()); }
BOOL CALLBACK PreferencesDialog2Proc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_COMMAND: /* Process control messages */ { switch (LOWORD(wParam)) { case ID_OVERWRITESELECTIONCHK: case ID_OVERWRITETEXTCHK: case ID_AUTOINDENTCHK: case ID_GROUPUNDOCHK: case ID_DBLCLKSELLINECHK: case ID_SPACESEPARATEDWORDSCHK: case ID_TABINDENTSLINESCHK: { if (HIWORD(wParam) == BN_CLICKED) { SendMessage(GetParent(hDlg), PSM_CHANGED, (WPARAM)hDlg, 0); } break; } case ID_DEFAULTSCROLLCOUNTCHK: { if (HIWORD(wParam) == BN_CLICKED) { bool Checked = IsDlgButtonChecked(hDlg, LOWORD(wParam)) == BST_CHECKED; EnableWindow(GetDlgItem(hDlg, ID_SCROLLLINECOUNTEDT), !Checked); SendMessage(GetParent(hDlg), PSM_CHANGED, (WPARAM)hDlg, 0); } break; } case ID_INDENTSIZEEDT: case ID_SCROLLLINECOUNTEDT: { if (HIWORD(wParam) == EN_CHANGE) { SendMessage(GetParent(hDlg), PSM_CHANGED, (WPARAM)hDlg, 0); } break; } } return TRUE; } case WM_INITDIALOG: { /* Set up controls */ MakeEditScrollable(GetDlgItem(hDlg, ID_INDENTSIZEEDT)); MakeEditScrollable(GetDlgItem(hDlg, ID_SCROLLLINECOUNTEDT)); /* Display Preferences */ CheckDlgButton(hDlg, ID_OVERWRITESELECTIONCHK, Editor->OverwriteSelection ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hDlg, ID_OVERWRITETEXTCHK, Editor->OverwriteMode ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hDlg, ID_AUTOINDENTCHK, Editor->AutoIndent ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hDlg, ID_GROUPUNDOCHK, Editor->GroupUndo ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hDlg, ID_DBLCLKSELLINECHK, Editor->DoubleClickLine ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hDlg, ID_SPACESEPARATEDWORDSCHK, Editor->SpaceSeparatedWords ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hDlg, ID_TABINDENTSLINESCHK, Editor->TabIndentsLines ? BST_CHECKED : BST_UNCHECKED); SetDlgItemInt(hDlg, ID_INDENTSIZEEDT, Editor->TabSize, TRUE); CheckDlgButton(hDlg, ID_DEFAULTSCROLLCOUNTCHK, Editor->DefaultScrollLineCount ? BST_CHECKED : BST_UNCHECKED); char* Str = IntToStr(Editor->ScrollLineCount); SetWindowText(GetDlgItem(hDlg, ID_SCROLLLINECOUNTEDT), Str); delete[] Str; /* Apply control modifiations */ SendMessage(hDlg, WM_COMMAND, MAKEWPARAM(ID_DEFAULTSCROLLCOUNTCHK, BN_CLICKED), (LPARAM)GetDlgItem(hDlg, ID_DEFAULTSCROLLCOUNTCHK)); return TRUE; } case WM_NOTIFY: { switch (((NMHDR *)lParam)->code) { case PSN_APPLY: { /* Save Preferences */ Editor->OverwriteSelection = IsDlgButtonChecked(hDlg, ID_OVERWRITESELECTIONCHK) == BST_CHECKED; Editor->OverwriteMode = IsDlgButtonChecked(hDlg, ID_OVERWRITETEXTCHK) == BST_CHECKED; Editor->AutoIndent = IsDlgButtonChecked(hDlg, ID_AUTOINDENTCHK) == BST_CHECKED; Editor->GroupUndo = IsDlgButtonChecked(hDlg, ID_GROUPUNDOCHK) == BST_CHECKED; Editor->DoubleClickLine = IsDlgButtonChecked(hDlg, ID_DBLCLKSELLINECHK) == BST_CHECKED; Editor->SpaceSeparatedWords = IsDlgButtonChecked(hDlg, ID_SPACESEPARATEDWORDSCHK) == BST_CHECKED; Editor->TabIndentsLines = IsDlgButtonChecked(hDlg, ID_TABINDENTSLINESCHK) == BST_CHECKED; Editor->TabSize = GetDlgItemInt(hDlg, ID_INDENTSIZEEDT, NULL, FALSE); Editor->DefaultScrollLineCount = IsDlgButtonChecked(hDlg, ID_DEFAULTSCROLLCOUNTCHK) == BST_CHECKED; Editor->ScrollLineCount = GetDlgItemInt(hDlg, ID_SCROLLLINECOUNTEDT, NULL, FALSE); return TRUE; } } return FALSE; } default: return FALSE; } }
static INT_PTR CALLBACK BombParamProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam) { BombObject *bo = DLGetWindowLongPtr<BombObject *>(hWnd); if (!bo && message != WM_INITDIALOG) return FALSE; switch ( message ) { case WM_INITDIALOG: bo = (BombObject *)lParam; DLSetWindowLongPtr(hWnd, bo); bo->strengthSpin = GetISpinner(GetDlgItem(hWnd,IDC_STRENGTHSPIN)); bo->strengthSpin->SetLimits(-9999999, 9999999, FALSE); bo->strengthSpin->SetAutoScale(); bo->strengthSpin->SetValue(bo->GetStrength(bo->ip->GetTime()),FALSE); bo->strengthSpin->LinkToEdit(GetDlgItem(hWnd,IDC_STRENGTH),EDITTYPE_FLOAT); bo->gravSpin = GetISpinner(GetDlgItem(hWnd,IDC_GRAVITYSPIN)); bo->gravSpin->SetLimits( -9999999, 9999999, FALSE); bo->gravSpin->SetScale(0.01f); bo->gravSpin->SetValue(bo->GetGravity(bo->ip->GetTime()),FALSE); bo->gravSpin->LinkToEdit(GetDlgItem(hWnd,IDC_GRAVITY),EDITTYPE_FLOAT); bo->detSpin = GetISpinner(GetDlgItem(hWnd,IDC_DETONATIONSPIN)); bo->detSpin->SetLimits(-9999999,9999999,FALSE); bo->detSpin->SetScale(10.0f); bo->detSpin->SetValue(bo->GetDetonation(bo->ip->GetTime()), FALSE); bo->detSpin->LinkToEdit(GetDlgItem(hWnd,IDC_DETONATION),EDITTYPE_TIME); bo->chaosSpin = GetISpinner(GetDlgItem(hWnd,IDC_BOMB_CHAOSSPIN)); bo->chaosSpin->SetLimits(0,10,FALSE); bo->chaosSpin->SetScale(0.01f); bo->chaosSpin->SetValue(bo->GetChaos(bo->ip->GetTime()), FALSE); bo->chaosSpin->LinkToEdit(GetDlgItem(hWnd,IDC_BOMB_CHAOS),EDITTYPE_FLOAT); bo->spinSpin = GetISpinner(GetDlgItem(hWnd,IDC_SPINSPIN)); bo->spinSpin->SetLimits(0.0f,9999999.0f,FALSE); bo->spinSpin->SetScale(0.01f); bo->spinSpin->LinkToEdit(GetDlgItem(hWnd,IDC_SPIN),EDITTYPE_FLOAT); bo->spinSpin->SetValue(bo->GetSpin(bo->ip->GetTime()), FALSE); bo->falloffSpin = GetISpinner(GetDlgItem(hWnd,IDC_FALLOFFSPIN)); bo->falloffSpin->SetLimits(0.0f,9999999.0f,FALSE); bo->falloffSpin->SetAutoScale(); bo->falloffSpin->LinkToEdit(GetDlgItem(hWnd,IDC_FALLOFF),EDITTYPE_UNIVERSE); bo->falloffSpin->SetValue(bo->GetFalloff(bo->ip->GetTime()), FALSE); bo->minFragSpin = GetISpinner(GetDlgItem(hWnd,IDC_MINFRAGSPIN)); bo->minFragSpin->SetLimits(1,9999999,FALSE); bo->minFragSpin->SetScale(0.1f); bo->minFragSpin->LinkToEdit(GetDlgItem(hWnd,IDC_MINFRAG),EDITTYPE_INT); bo->minFragSpin->SetValue(bo->GetMinFrag(bo->ip->GetTime()), FALSE); bo->maxFragSpin = GetISpinner(GetDlgItem(hWnd,IDC_MAXFRAGSPIN)); bo->maxFragSpin->SetLimits(1,9999999,FALSE); bo->maxFragSpin->SetScale(0.1f); bo->maxFragSpin->LinkToEdit(GetDlgItem(hWnd,IDC_MAXFRAG),EDITTYPE_INT); bo->maxFragSpin->SetValue(bo->GetMaxFrag(bo->ip->GetTime()), FALSE); bo->seedSpin = GetISpinner(GetDlgItem(hWnd,IDC_SEEDSPIN)); bo->seedSpin->SetLimits(0,9999999,FALSE); bo->seedSpin->SetScale(0.1f); bo->seedSpin->LinkToEdit(GetDlgItem(hWnd,IDC_SEED),EDITTYPE_INT); bo->seedSpin->SetValue(bo->GetSeed(bo->ip->GetTime()), FALSE); CheckDlgButton(hWnd,IDC_FALLOFF_ON,bo->GetFalloffOn(bo->ip->GetTime())); bo->EnableControls(); return TRUE; case WM_DESTROY: ReleaseISpinner(bo->strengthSpin); ReleaseISpinner(bo->gravSpin); ReleaseISpinner(bo->detSpin); ReleaseISpinner(bo->chaosSpin); ReleaseISpinner(bo->spinSpin); ReleaseISpinner(bo->falloffSpin); ReleaseISpinner(bo->minFragSpin); ReleaseISpinner(bo->maxFragSpin); ReleaseISpinner(bo->seedSpin); return FALSE; case CC_SPINNER_BUTTONDOWN: theHold.Begin(); return TRUE; case CC_SPINNER_CHANGE: if (!theHold.Holding()) theHold.Begin(); switch (LOWORD(wParam) ) { case IDC_STRENGTHSPIN: bo->SetStrength(bo->ip->GetTime(),bo->strengthSpin->GetFVal()); break; case IDC_GRAVITYSPIN: bo->SetGravity(bo->ip->GetTime(),bo->gravSpin->GetFVal()); break; case IDC_DETONATIONSPIN: bo->SetDetonation(bo->ip->GetTime(),bo->detSpin->GetIVal()); break; case IDC_BOMB_CHAOSSPIN: bo->SetChaos(bo->ip->GetTime(),bo->chaosSpin->GetFVal()); break; case IDC_SPINSPIN: bo->SetSpin(bo->ip->GetTime(),bo->spinSpin->GetFVal()); break; case IDC_FALLOFFSPIN: bo->SetFalloff(bo->ip->GetTime(),bo->falloffSpin->GetFVal()); break; case IDC_MINFRAGSPIN: bo->SetMinFrag(bo->ip->GetTime(),bo->minFragSpin->GetIVal()); break; case IDC_MAXFRAGSPIN: bo->SetMaxFrag(bo->ip->GetTime(),bo->maxFragSpin->GetIVal()); break; case IDC_SEEDSPIN: bo->SetSeed(bo->ip->GetTime(),bo->seedSpin->GetIVal()); break; } bo->ip->RedrawViews(bo->ip->GetTime(),REDRAW_INTERACTIVE); return TRUE; case WM_CUSTEDIT_ENTER: case CC_SPINNER_BUTTONUP: if (!HIWORD(wParam) && message!=WM_CUSTEDIT_ENTER) { theHold.Cancel(); } else { theHold.Accept(GetString (IDS_PARAM_CHANGE)); } bo->ip->RedrawViews(bo->ip->GetTime(),REDRAW_END); return TRUE; case WM_COMMAND: switch (LOWORD(wParam)) { case IDC_FALLOFF_ON: bo->SetFalloffOn(bo->ip->GetTime(),IsDlgButtonChecked(hWnd,IDC_FALLOFF_ON)); bo->ip->RedrawViews(bo->ip->GetTime(),REDRAW_END); bo->EnableControls(); break; } return TRUE; case WM_LBUTTONDOWN: case WM_LBUTTONUP: case WM_MOUSEMOVE: bo->ip->RollupMouseMessage(hWnd,message,wParam,lParam); return FALSE; default: return FALSE; } }
BOOL CALLBACK PreferencesDialog3Proc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_COMMAND: /* Process control messages */ { switch (LOWORD(wParam)) { case ID_SHOWGUTTERCHK: case ID_SHOWMARGINCHK: case ID_SHOWLINENUMBERSCHK: case ID_AUTOSIZEGUTTERCHK: { if (HIWORD(wParam) == BN_CLICKED) { SendMessage(GetParent(hDlg), PSM_CHANGED, (WPARAM)hDlg, 0); } break; } case ID_GUTTERSIZEEDT: case ID_MARGINSIZEEDT: { if (HIWORD(wParam) == EN_CHANGE) { SendMessage(GetParent(hDlg), PSM_CHANGED, (WPARAM)hDlg, 0); } break; } case ID_EDITORFONTCMB: { if (HIWORD(wParam) == CBN_SELCHANGE) { int Index = SendMessage((HWND)lParam, CB_GETCURSEL, 0, 0); if (SendMessage((HWND)lParam, CB_GETLBTEXTLEN, Index, 0) <= 32) { SendMessage((HWND)lParam, CB_GETLBTEXT, Index, (LPARAM)EditorFont.Name); ListFontSizes(GetDlgItem(hDlg, ID_EDITORFONTSIZECMB), EditorFont.Name); PreviewFont(GetDlgItem(hDlg, ID_EDITORFONTPREVIEWLBL), &EditorFont); SendMessage(GetParent(hDlg), PSM_CHANGED, (WPARAM)hDlg, 0); } } break; } case ID_EDITORFONTSIZECMB: { if (HIWORD(wParam) == CBN_SELCHANGE) { int Index = SendMessage((HWND)lParam, CB_GETCURSEL, 0, 0); char* Size = new char[33]; SendMessage((HWND)lParam, CB_GETLBTEXT, Index, (LPARAM)Size); EditorFont.Size = atoi(Size); delete[] Size; PreviewFont(GetDlgItem(hDlg, ID_EDITORFONTPREVIEWLBL), &EditorFont); SendMessage(GetParent(hDlg), PSM_CHANGED, (WPARAM)hDlg, 0); } else if (HIWORD(wParam) == CBN_EDITCHANGE) { char* Size = GetWindowText((HWND)lParam); EditorFont.Size = atoi(Size); delete[] Size; PreviewFont(GetDlgItem(hDlg, ID_EDITORFONTPREVIEWLBL), &EditorFont); SendMessage(GetParent(hDlg), PSM_CHANGED, (WPARAM)hDlg, 0); } break; } case ID_GUTTERFONTCMB: { if (HIWORD(wParam) == CBN_SELCHANGE) { int Index = SendMessage((HWND)lParam, CB_GETCURSEL, 0, 0); if (SendMessage((HWND)lParam, CB_GETLBTEXTLEN, Index, 0) <= 32) { SendMessage((HWND)lParam, CB_GETLBTEXT, Index, (LPARAM)GutterFont.Name); ListFontSizes(GetDlgItem(hDlg, ID_GUTTERFONTSIZECMB), GutterFont.Name); PreviewFont(GetDlgItem(hDlg, ID_GUTTERFONTPREVIEWLBL), &GutterFont); SendMessage(GetParent(hDlg), PSM_CHANGED, (WPARAM)hDlg, 0); } } break; } case ID_GUTTERFONTSIZECMB: { if (HIWORD(wParam) == CBN_SELCHANGE) { int Index = SendMessage((HWND)lParam, CB_GETCURSEL, 0, 0); char* Size = new char[33]; SendMessage((HWND)lParam, CB_GETLBTEXT, Index, (LPARAM)Size); GutterFont.Size = atoi(Size); delete[] Size; PreviewFont(GetDlgItem(hDlg, ID_GUTTERFONTPREVIEWLBL), &GutterFont); SendMessage(GetParent(hDlg), PSM_CHANGED, (WPARAM)hDlg, 0); } else if (HIWORD(wParam) == CBN_EDITCHANGE) { char* Size = GetWindowText((HWND)lParam); GutterFont.Size = atoi(Size); delete[] Size; PreviewFont(GetDlgItem(hDlg, ID_GUTTERFONTPREVIEWLBL), &GutterFont); SendMessage(GetParent(hDlg), PSM_CHANGED, (WPARAM)hDlg, 0); } break; } } return TRUE; } case WM_INITDIALOG: { EditorFont = Editor->GetFont(); GutterFont = Editor->GetGutterFont(); /* Set up controls */ MakeEditScrollable(GetDlgItem(hDlg, ID_GUTTERSIZEEDT)); MakeEditScrollable(GetDlgItem(hDlg, ID_MARGINSIZEEDT)); ListFonts(GetDlgItem(hDlg, ID_EDITORFONTCMB)); ListFontSizes(GetDlgItem(hDlg, ID_EDITORFONTSIZECMB), EditorFont.Name); PreviewFont(GetDlgItem(hDlg, ID_EDITORFONTPREVIEWLBL), &EditorFont); ListFonts(GetDlgItem(hDlg, ID_GUTTERFONTCMB)); ListFontSizes(GetDlgItem(hDlg, ID_GUTTERFONTSIZECMB), GutterFont.Name); PreviewFont(GetDlgItem(hDlg, ID_GUTTERFONTPREVIEWLBL), &GutterFont); /* Display Preferences */ CheckDlgButton(hDlg, ID_SHOWGUTTERCHK, Editor->GetGutterVisible() ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hDlg, ID_SHOWMARGINCHK, Editor->GetMarginVisible() ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hDlg, ID_SHOWLINENUMBERSCHK, Editor->GetLineNumbersVisible() ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hDlg, ID_AUTOSIZEGUTTERCHK, Editor->GetAutoSizeGutter() ? BST_CHECKED : BST_UNCHECKED); SetDlgItemInt(hDlg, ID_GUTTERSIZEEDT, Editor->GetGutterSize(), FALSE); SetDlgItemInt(hDlg, ID_MARGINSIZEEDT, Editor->GetMarginSize(), FALSE); SendDlgItemMessage(hDlg, ID_EDITORFONTCMB, CB_SELECTSTRING, (WPARAM)-1, (LPARAM)EditorFont.Name); char* Str = IntToStr(EditorFont.Size); if (SendDlgItemMessage(hDlg, ID_EDITORFONTSIZECMB, CB_SELECTSTRING, (WPARAM)0, (LPARAM)Str) == CB_ERR) SetDlgItemText(hDlg, ID_EDITORFONTSIZECMB, Str); delete[] Str; SendDlgItemMessage(hDlg, ID_GUTTERFONTCMB, CB_SELECTSTRING, (WPARAM)-1, (LPARAM)GutterFont.Name); Str = IntToStr(GutterFont.Size); if (SendDlgItemMessage(hDlg, ID_GUTTERFONTSIZECMB, CB_SELECTSTRING, (WPARAM)0, (LPARAM)Str) == CB_ERR) SetDlgItemText(hDlg, ID_GUTTERFONTSIZECMB, Str); delete[] Str; /* Apply control modifiations */ SendMessage(hDlg, WM_COMMAND, MAKEWPARAM(ID_SHOWMARGINCHK, BN_CLICKED), (LPARAM)GetDlgItem(hDlg, ID_SHOWMARGINCHK)); SendMessage(hDlg, WM_COMMAND, MAKEWPARAM(ID_SHOWGUTTERCHK, BN_CLICKED), (LPARAM)GetDlgItem(hDlg, ID_SHOWGUTTERCHK)); SendMessage(hDlg, WM_COMMAND, MAKEWPARAM(ID_SHOWLINENUMBERSCHK, BN_CLICKED), (LPARAM)GetDlgItem(hDlg, ID_SHOWLINENUMBERSCHK)); SendMessage(hDlg, WM_COMMAND, MAKEWPARAM(ID_AUTOSIZEGUTTERCHK, BN_CLICKED), (LPARAM)GetDlgItem(hDlg, ID_AUTOSIZEGUTTERCHK)); return TRUE; } case WM_NOTIFY: { switch (((NMHDR *)lParam)->code) { case PSN_APPLY: { /* Save Preferences */ Editor->SetGutterVisible(IsDlgButtonChecked(hDlg, ID_SHOWGUTTERCHK) == BST_CHECKED); Editor->SetMarginVisible(IsDlgButtonChecked(hDlg, ID_SHOWMARGINCHK) == BST_CHECKED); Editor->SetLineNumbersVisible(IsDlgButtonChecked(hDlg, ID_SHOWLINENUMBERSCHK) == BST_CHECKED); Editor->SetAutoSizeGutter(IsDlgButtonChecked(hDlg, ID_AUTOSIZEGUTTERCHK) == BST_CHECKED); Editor->SetGutterSize(GetDlgItemInt(hDlg, ID_GUTTERSIZEEDT, NULL, FALSE)); Editor->SetMarginSize(GetDlgItemInt(hDlg, ID_MARGINSIZEEDT, NULL, FALSE)); Editor->SetFont(EditorFont); Editor->SetGutterFont(GutterFont); return TRUE; } } return FALSE; } default: return FALSE; } }
/* * AliasDialogProc: Dialog procedure for alias dialog. */ BOOL CALLBACK AliasDialogProc(HWND hDlg, UINT message, UINT wParam, LONG lParam) { int i; HWND hEdit; WORD command; switch (message) { case WM_INITDIALOG: // Show current aliases for (i=0; i < NUM_ALIASES; i++) { hEdit = GetDlgItem(hDlg, IDC_ALIASF1 + i); SetWindowText(hEdit, aliases[i].text); Edit_LimitText(hEdit, MAX_ALIASLEN - 1); SetWindowFont(hEdit, GetFont(FONT_LIST), FALSE); CheckDlgButton(hDlg, IDC_CHECK_F1 + i, aliases[i].cr); } hAliasDialog = hDlg; hAliasDialog1 = hDlg; if (hAliasDialog2) DestroyWindow(GetDlgItem(hDlg, IDC_TUNNEL)); CenterWindow(hDlg, GetParent(hDlg)); return TRUE; case WM_COMMAND: switch(GET_WM_COMMAND_ID(wParam, lParam)) { case IDOK: // Read aliases for (i=0; i < NUM_ALIASES; i++) { GetDlgItemText(hDlg, IDC_ALIASF1 + i, aliases[i].text, MAX_ALIASLEN - 1); aliases[i].cr = IsDlgButtonChecked(hDlg, IDC_CHECK_F1 + i); if (aliases[i].cr) command = A_TEXTCOMMAND; else command = A_TEXTINSERT; AliasSetKey(interface_key_table, aliases[i].key, KEY_NONE, command, aliases[i].text); AliasSetKey(inventory_key_table, aliases[i].key, KEY_NONE, command, aliases[i].text); } EndDialog(hDlg, IDOK); return TRUE; case IDCANCEL: EndDialog(hDlg, IDCANCEL); return TRUE; case IDC_TUNNEL: if (!hAliasDialog2 && IDOK == DialogBox(hInst, MAKEINTRESOURCE(IDD_CMDALIAS), hDlg, VerbAliasDialogProc)) { AliasSave(); SetFocus(GetDlgItem(hDlg, IDOK)); } } break; case WM_DESTROY: hAliasDialog = NULL; hAliasDialog1 = NULL; return TRUE; } return FALSE; }
BOOL CALLBACK PreferencesDialog5Proc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_COMMAND: /* Process control messages */ { switch (LOWORD(wParam)) { case ID_TEXTFILESCHK: case ID_HTMLFILESCHK: case ID_STYLESHEETFILESCHK: case ID_JAVASCRIPTFILESCHK: case ID_PHPFILESCHK: { if (HIWORD(wParam) == BN_CLICKED) { SendMessage(GetParent(hDlg), PSM_CHANGED, (WPARAM)hDlg, 0); } break; } case ID_ALLFILESBTN: { if (HIWORD(wParam) == BN_CLICKED) { CheckDlgButton(hDlg, ID_TEXTFILESCHK, BST_CHECKED); CheckDlgButton(hDlg, ID_HTMLFILESCHK, BST_CHECKED); CheckDlgButton(hDlg, ID_STYLESHEETFILESCHK, BST_CHECKED); CheckDlgButton(hDlg, ID_JAVASCRIPTFILESCHK, BST_CHECKED); CheckDlgButton(hDlg, ID_PHPFILESCHK, BST_CHECKED); SendMessage(GetParent(hDlg), PSM_CHANGED, (WPARAM)hDlg, 0); } break; } case ID_NOFILESBTN: { if (HIWORD(wParam) == BN_CLICKED) { CheckDlgButton(hDlg, ID_TEXTFILESCHK, BST_UNCHECKED); CheckDlgButton(hDlg, ID_HTMLFILESCHK, BST_UNCHECKED); CheckDlgButton(hDlg, ID_STYLESHEETFILESCHK, BST_UNCHECKED); CheckDlgButton(hDlg, ID_JAVASCRIPTFILESCHK, BST_UNCHECKED); CheckDlgButton(hDlg, ID_PHPFILESCHK, BST_UNCHECKED); SendMessage(GetParent(hDlg), PSM_CHANGED, (WPARAM)hDlg, 0); } break; } } return TRUE; } case WM_INITDIALOG: { /* Set up controls */ /* Display Preferences */ int Count = IsAssociateTo(".txt", true) + IsAssociateTo(".ini", true) + IsAssociateTo(".inf", true) + IsAssociateTo(".log", true); if (Count == 4) CheckDlgButton(hDlg, ID_TEXTFILESCHK, BST_CHECKED); else if (Count > 0) CheckDlgButton(hDlg, ID_TEXTFILESCHK, BST_INDETERMINATE); else CheckDlgButton(hDlg, ID_TEXTFILESCHK, BST_UNCHECKED); Count = IsAssociateTo(".html", true) + IsAssociateTo(".htm", true) + IsAssociateTo(".htt", true) + IsAssociateTo(".shtml", true) + IsAssociateTo(".xht", true) + IsAssociateTo(".xhtml", true) + IsAssociateTo(".xml", true); if (Count == 7) CheckDlgButton(hDlg, ID_HTMLFILESCHK, BST_CHECKED); else if (Count > 0) CheckDlgButton(hDlg, ID_HTMLFILESCHK, BST_INDETERMINATE); else CheckDlgButton(hDlg, ID_HTMLFILESCHK, BST_UNCHECKED); Count = IsAssociateTo(".css", true) + IsAssociateTo(".xsl", true); if (Count == 2) CheckDlgButton(hDlg, ID_STYLESHEETFILESCHK, BST_CHECKED); else if (Count > 0) CheckDlgButton(hDlg, ID_STYLESHEETFILESCHK, BST_INDETERMINATE); else CheckDlgButton(hDlg, ID_STYLESHEETFILESCHK, BST_UNCHECKED); Count = IsAssociateTo(".js", true); if (Count == 1) CheckDlgButton(hDlg, ID_JAVASCRIPTFILESCHK, BST_CHECKED); else if (Count > 0) CheckDlgButton(hDlg, ID_JAVASCRIPTFILESCHK, BST_INDETERMINATE); else CheckDlgButton(hDlg, ID_JAVASCRIPTFILESCHK, BST_UNCHECKED); Count = IsAssociateTo(".php", true) + IsAssociateTo(".php4", true); if (Count == 2) CheckDlgButton(hDlg, ID_PHPFILESCHK, BST_CHECKED); else if (Count > 0) CheckDlgButton(hDlg, ID_PHPFILESCHK, BST_INDETERMINATE); else CheckDlgButton(hDlg, ID_PHPFILESCHK, BST_UNCHECKED); return TRUE; } case WM_NOTIFY: { switch (((NMHDR *)lParam)->code) { case PSN_APPLY: { /* Save file associations*/ AssociateTo(".lpg", true); if (IsDlgButtonChecked(hDlg, ID_TEXTFILESCHK) == BST_CHECKED) { AssociateTo(".txt", true); AssociateTo(".ini", true); AssociateTo(".inf", true); AssociateTo(".log", true); } else if (IsDlgButtonChecked(hDlg, ID_TEXTFILESCHK) == BST_UNCHECKED) { RemoveAssociation(".txt", true); RemoveAssociation(".ini", true); RemoveAssociation(".inf", true); RemoveAssociation(".log", true); } if (IsDlgButtonChecked(hDlg, ID_HTMLFILESCHK) == BST_CHECKED) { AssociateTo(".html", false); AssociateTo(".htm", false); AssociateTo(".htt", true); AssociateTo(".shtml", false); AssociateTo(".xht", false); AssociateTo(".xhtml", false); AssociateTo(".xml", false); } else if (IsDlgButtonChecked(hDlg, ID_HTMLFILESCHK) == BST_UNCHECKED) { RemoveAssociation(".html", false); RemoveAssociation(".htm", false); RemoveAssociation(".htt", true); RemoveAssociation(".shtml", false); RemoveAssociation(".xht", false); RemoveAssociation(".xhtml", false); RemoveAssociation(".xml", false); } if (IsDlgButtonChecked(hDlg, ID_STYLESHEETFILESCHK) == BST_CHECKED) { AssociateTo(".css", true); AssociateTo(".xsl", false); } else if (IsDlgButtonChecked(hDlg, ID_STYLESHEETFILESCHK) == BST_UNCHECKED) { RemoveAssociation(".css", true); RemoveAssociation(".xsl", false); } if (IsDlgButtonChecked(hDlg, ID_JAVASCRIPTFILESCHK) == BST_CHECKED) { AssociateTo(".js", true); } else if (IsDlgButtonChecked(hDlg, ID_JAVASCRIPTFILESCHK) == BST_UNCHECKED) { RemoveAssociation(".js", true); } if (IsDlgButtonChecked(hDlg, ID_PHPFILESCHK) == BST_CHECKED) { AssociateTo(".php", true); AssociateTo(".php4", true); } else if (IsDlgButtonChecked(hDlg, ID_PHPFILESCHK) == BST_UNCHECKED) { RemoveAssociation(".php", true); RemoveAssociation(".php4", true); } return TRUE; } } return FALSE; } default: return FALSE; } }
static INT_PTR CALLBACK DlgProcMsnConnOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) { DBVARIANT dbv; switch (msg) { case WM_INITDIALOG: TranslateDialogDefault(hwndDlg); { SetWindowLongPtr(hwndDlg, GWLP_USERDATA, lParam); CMsnProto* proto = (CMsnProto*)lParam; if (!proto->getString("DirectServer", &dbv)) { SetDlgItemTextA(hwndDlg, IDC_DIRECTSERVER, dbv.pszVal); db_free(&dbv); } else SetDlgItemTextA(hwndDlg, IDC_DIRECTSERVER, MSN_DEFAULT_LOGIN_SERVER); if (!proto->getString("GatewayServer", &dbv)) { SetDlgItemTextA(hwndDlg, IDC_GATEWAYSERVER, dbv.pszVal); db_free(&dbv); } else SetDlgItemTextA(hwndDlg, IDC_GATEWAYSERVER, MSN_DEFAULT_GATEWAY); CheckDlgButton(hwndDlg, IDC_SLOWSEND, proto->getByte("SlowSend", 0) ? BST_CHECKED : BST_UNCHECKED); SendDlgItemMessage(hwndDlg, IDC_HOSTOPT, CB_ADDSTRING, 0, (LPARAM)TranslateT("Automatically obtain host/port")); SendDlgItemMessage(hwndDlg, IDC_HOSTOPT, CB_ADDSTRING, 0, (LPARAM)TranslateT("Manually specify host/port")); SendDlgItemMessage(hwndDlg, IDC_HOSTOPT, CB_ADDSTRING, 0, (LPARAM)TranslateT("Disable")); unsigned gethst = proto->getByte("AutoGetHost", 1); if (gethst < 2) gethst = !gethst; char ipaddr[256] = ""; if (gethst == 1) if (db_get_static(NULL, proto->m_szModuleName, "YourHost", ipaddr, sizeof(ipaddr))) gethst = 0; if (gethst == 0) strncpy_s(ipaddr, (proto->msnLoggedIn ? proto->MyConnection.GetMyExtIPStr() : ""), _TRUNCATE); SendDlgItemMessage(hwndDlg, IDC_HOSTOPT, CB_SETCURSEL, gethst, 0); if (ipaddr[0]) SetDlgItemTextA(hwndDlg, IDC_YOURHOST, ipaddr); else SetDlgItemText(hwndDlg, IDC_YOURHOST, TranslateT("IP info available only after login")); EnableWindow(GetDlgItem(hwndDlg, IDC_YOURHOST), gethst == 1); } return TRUE; case WM_COMMAND: switch (LOWORD(wParam)) { case IDC_RESETSERVER: SetDlgItemTextA(hwndDlg, IDC_DIRECTSERVER, MSN_DEFAULT_LOGIN_SERVER); SetDlgItemTextA(hwndDlg, IDC_GATEWAYSERVER, MSN_DEFAULT_GATEWAY); SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); break; } if (HIWORD(wParam) == EN_CHANGE && (HWND)lParam == GetFocus()) switch (LOWORD(wParam)) { case IDC_DIRECTSERVER: case IDC_GATEWAYSERVER: case IDC_YOURHOST: SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); } if (HIWORD(wParam) == CBN_SELCHANGE && LOWORD(wParam) == IDC_HOSTOPT) { unsigned gethst = SendMessage((HWND)lParam, CB_GETCURSEL, 0, 0); EnableWindow(GetDlgItem(hwndDlg, IDC_YOURHOST), gethst == 1); SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); } if (HIWORD(wParam) == BN_CLICKED) { switch (LOWORD(wParam)) { case IDC_SLOWSEND: SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); break; } } break; case WM_NOTIFY: if (((LPNMHDR)lParam)->code == (UINT)PSN_APPLY) { char str[MAX_PATH]; CMsnProto* proto = (CMsnProto*)GetWindowLongPtr(hwndDlg, GWLP_USERDATA); GetDlgItemTextA(hwndDlg, IDC_DIRECTSERVER, str, _countof(str)); if (mir_strcmp(str, MSN_DEFAULT_LOGIN_SERVER)) proto->setString("DirectServer", str); else proto->delSetting("DirectServer"); GetDlgItemTextA(hwndDlg, IDC_GATEWAYSERVER, str, _countof(str)); if (mir_strcmp(str, MSN_DEFAULT_GATEWAY)) proto->setString("GatewayServer", str); else proto->delSetting("GatewayServer"); proto->setByte("SlowSend", (BYTE)IsDlgButtonChecked(hwndDlg, IDC_SLOWSEND)); if (proto->getByte("SlowSend", FALSE)) { if (db_get_dw(NULL, "SRMsg", "MessageTimeout", 60000) < 60000 || db_get_dw(NULL, "SRMM", "MessageTimeout", 60000) < 60000) { MessageBox(NULL, TranslateT("MSN Protocol requires message timeout to be not less then 60 sec. Correct the timeout value."), TranslateT("MSN Protocol"), MB_OK | MB_ICONINFORMATION); } } #ifdef OBSOLETE unsigned gethst2 = proto->getByte("AutoGetHost", 1); #endif unsigned gethst = SendDlgItemMessage(hwndDlg, IDC_HOSTOPT, CB_GETCURSEL, 0, 0); if (gethst < 2) gethst = !gethst; proto->setByte("AutoGetHost", (BYTE)gethst); if (gethst == 0) { GetDlgItemTextA(hwndDlg, IDC_YOURHOST, str, _countof(str)); proto->setString("YourHost", str); } else proto->delSetting("YourHost"); #ifdef OBSOLETE if (gethst != gethst2) proto->ForkThread(&CMsnProto::MSNConnDetectThread, NULL); #endif proto->LoadOptions(); return TRUE; } } return FALSE; }
void GetNewsData(TCHAR *tszUrl, char **szData, MCONTACT hContact, HWND hwndDlg) { Netlib_LogfT(hNetlibUser, _T("Getting feed data %s."), tszUrl); NETLIBHTTPREQUEST nlhr = { 0 }; // initialize the netlib request nlhr.cbSize = sizeof(nlhr); nlhr.requestType = REQUEST_GET; nlhr.flags = NLHRF_DUMPASTEXT | NLHRF_HTTP11 | NLHRF_REDIRECT; if (_tcsstr(tszUrl, _T("https://")) != NULL) nlhr.flags |= NLHRF_SSL; char *szUrl = mir_t2a(tszUrl); nlhr.szUrl = szUrl; nlhr.nlc = hNetlibHttp; // change the header so the plugin is pretended to be IE 6 + WinXP NETLIBHTTPHEADER headers[5]; nlhr.headersCount = 4; nlhr.headers = headers; nlhr.headers[0].szName = "User-Agent"; nlhr.headers[0].szValue = NETLIB_USER_AGENT; nlhr.headers[1].szName = "Cache-Control"; nlhr.headers[1].szValue = "no-cache"; nlhr.headers[2].szName = "Pragma"; nlhr.headers[2].szValue = "no-cache"; nlhr.headers[3].szName = "Connection"; nlhr.headers[3].szValue = "close"; char auth[256]; if (db_get_b(hContact, MODULE, "UseAuth", 0) || IsDlgButtonChecked(hwndDlg, IDC_USEAUTH)) { nlhr.headersCount++; nlhr.headers[4].szName = "Authorization"; CreateAuthString(auth, hContact, hwndDlg); nlhr.headers[4].szValue = auth; } // download the page NETLIBHTTPREQUEST *nlhrReply = (NETLIBHTTPREQUEST *)CallService(MS_NETLIB_HTTPTRANSACTION, (WPARAM)hNetlibUser, (LPARAM)&nlhr); if (nlhrReply) { // if the recieved code is 200 OK if (nlhrReply->resultCode == 200 && nlhrReply->dataLength > 0) { Netlib_LogfT(hNetlibUser, _T("Code 200: Succeeded getting feed data %s."), tszUrl); // allocate memory and save the retrieved data *szData = (char *)mir_alloc((size_t)(nlhrReply->dataLength + 2)); memcpy(*szData, nlhrReply->pData, (size_t)nlhrReply->dataLength); (*szData)[nlhrReply->dataLength] = 0; } else if (nlhrReply->resultCode == 401) { Netlib_LogfT(hNetlibUser, _T("Code 401: feed %s needs auth data."), tszUrl); ItemInfo SelItem = { 0 }; SelItem.hwndList = hwndDlg; SelItem.hContact = hContact; if (DialogBoxParam(hInst, MAKEINTRESOURCE(IDD_AUTHENTICATION), hwndDlg, AuthenticationProc, (LPARAM)&SelItem) == IDOK) GetNewsData(tszUrl, szData, hContact, hwndDlg); } else Netlib_LogfT(hNetlibUser, _T("Code %d: Failed getting feed data %s."), nlhrReply->resultCode, tszUrl); CallService(MS_NETLIB_FREEHTTPREQUESTSTRUCT, 0, (LPARAM)nlhrReply); } else Netlib_LogfT(hNetlibUser, _T("Failed getting feed data %s, no response."), tszUrl); mir_free(szUrl); }