static INT_PTR CALLBACK LoggedOutWindowProc( IN HWND hwndDlg, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam) { PGINA_CONTEXT pgContext; pgContext = (PGINA_CONTEXT)GetWindowLongPtr(hwndDlg, GWL_USERDATA); switch (uMsg) { case WM_INITDIALOG: /* FIXME: take care of NoDomainUI */ pgContext = (PGINA_CONTEXT)lParam; SetWindowLongPtr(hwndDlg, GWL_USERDATA, (DWORD_PTR)pgContext); if (pgContext->bDontDisplayLastUserName == FALSE) SetDlgItemTextW(hwndDlg, IDC_USERNAME, pgContext->UserName); if (pgContext->bDisableCAD == TRUE) EnableWindow(GetDlgItem(hwndDlg, IDCANCEL), FALSE); if (pgContext->bShutdownWithoutLogon == FALSE) EnableWindow(GetDlgItem(hwndDlg, IDC_SHUTDOWN), FALSE); SetDomainComboBox(GetDlgItem(hwndDlg, IDC_LOGON_TO), pgContext); SetFocus(GetDlgItem(hwndDlg, pgContext->bDontDisplayLastUserName ? IDC_USERNAME : IDC_PASSWORD)); pgContext->hBitmap = LoadImage(hDllInstance, MAKEINTRESOURCE(IDI_ROSLOGO), IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR); return TRUE; case WM_PAINT: { PAINTSTRUCT ps; HDC hdc; if (pgContext->hBitmap) { hdc = BeginPaint(hwndDlg, &ps); DrawStateW(hdc, NULL, NULL, (LPARAM)pgContext->hBitmap, (WPARAM)0, 0, 0, 0, 0, DST_BITMAP); EndPaint(hwndDlg, &ps); } return TRUE; } case WM_DESTROY: DeleteObject(pgContext->hBitmap); return TRUE; case WM_COMMAND: switch (LOWORD(wParam)) { case IDOK: if (DoLogon(hwndDlg, pgContext)) EndDialog(hwndDlg, WLX_SAS_ACTION_LOGON); return TRUE; case IDCANCEL: EndDialog(hwndDlg, WLX_SAS_ACTION_NONE); return TRUE; case IDC_SHUTDOWN: if (OnShutDown(hwndDlg, pgContext) == IDOK) EndDialog(hwndDlg, pgContext->nShutdownAction); return TRUE; } break; } return FALSE; }
LRESULT CSettingConfig::OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) { stdstr ConfigRomTitle, GameIni(g_Settings->LoadStringVal(Game_IniKey)); if (!GameIni.empty()) { ConfigRomTitle.Format("Config: %s",g_Settings->LoadStringVal(Game_GoodName).c_str()); } RECT rcSettingInfo; ::GetWindowRect(GetDlgItem(IDC_SETTING_INFO),&rcSettingInfo); ::MapWindowPoints(NULL,m_hWnd,(LPPOINT)&rcSettingInfo,2); CConfigSettingSection * SettingsSection; //Set the text for all gui Items SetDlgItemTextW(m_hWnd, IDC_RESET_PAGE, GS(BOTTOM_RESET_PAGE)); SetDlgItemTextW(m_hWnd, IDC_RESET_ALL, GS(BOTTOM_RESET_ALL)); SetDlgItemTextW(m_hWnd, IDOK, GS(CHEAT_OK)); SetDlgItemTextW(m_hWnd, IDCANCEL, GS(CHEAT_CANCEL)); SetDlgItemTextW(m_hWnd, IDAPPLY, GS(BOTTOM_APPLY)); if (m_GameConfig) { if (g_Settings->LoadBool(Setting_RdbEditor)) { SetWindowText(stdstr_f("%s ** RDB Edit Mode **",ConfigRomTitle.c_str()).c_str()); } else { SetWindowText(ConfigRomTitle.c_str()); } } else { if (g_Settings->LoadBool(Setting_RdbEditor)) { SetWindowText(stdstr_f("%ws ** RDB Edit Mode **",GS(OPTIONS_TITLE)).c_str()); } else { ::SetWindowTextW(m_hWnd, GS(OPTIONS_TITLE)); } if (g_Settings->LoadBool(Setting_PluginPageFirst)) { SettingsSection = new CConfigSettingSection(GS(TAB_PLUGIN)); SettingsSection->AddPage(new COptionPluginPage(this->m_hWnd,rcSettingInfo )); m_Sections.push_back(SettingsSection); } m_GeneralOptionsPage = new CGeneralOptionsPage(this,this->m_hWnd,rcSettingInfo ); m_AdvancedPage = new CAdvancedOptionsPage(this->m_hWnd,rcSettingInfo ); SettingsSection = new CConfigSettingSection(GS(TAB_OPTIONS)); SettingsSection->AddPage(m_GeneralOptionsPage); SettingsSection->AddPage(m_AdvancedPage); SettingsSection->AddPage(new COptionsDirectoriesPage(this->m_hWnd,rcSettingInfo )); m_Sections.push_back(SettingsSection); SettingsSection = new CConfigSettingSection(GS(TAB_ROMSELECTION)); SettingsSection->AddPage(new COptionsGameBrowserPage(this->m_hWnd,rcSettingInfo )); m_Sections.push_back(SettingsSection); SettingsSection = new CConfigSettingSection(GS(TAB_SHORTCUTS)); SettingsSection->AddPage(new COptionsShortCutsPage(this->m_hWnd,rcSettingInfo )); m_Sections.push_back(SettingsSection); if (!g_Settings->LoadBool(Setting_PluginPageFirst)) { SettingsSection = new CConfigSettingSection(GS(TAB_PLUGIN)); SettingsSection->AddPage(new COptionPluginPage(this->m_hWnd,rcSettingInfo )); m_Sections.push_back(SettingsSection); } } //Game Settings if (!GameIni.empty()) { CConfigSettingSection * GameSettings = new CConfigSettingSection(ConfigRomTitle.ToUTF16().c_str()); GameSettings->AddPage(new CGameGeneralPage(this->m_hWnd,rcSettingInfo )); GameSettings->AddPage(new CGameRecompilePage(this->m_hWnd,rcSettingInfo )); GameSettings->AddPage(new CGamePluginPage(this->m_hWnd,rcSettingInfo )); if (g_Settings->LoadBool(Setting_RdbEditor)) { GameSettings->AddPage(new CGameStatusPage(this->m_hWnd,rcSettingInfo )); } m_Sections.push_back(GameSettings); } m_PagesTreeList.Attach(GetDlgItem(IDC_PAGELIST)); bool bFirstItem = true; bool HideAdvanced = g_Settings->LoadBool(UserInterface_BasicMode); for (SETTING_SECTIONS::const_iterator iter = m_Sections.begin(); iter != m_Sections.end(); iter++) { CConfigSettingSection * Section = *iter; HTREEITEM hSectionItem = NULL; for (size_t i = 0; i < Section->GetPageCount(); i++) { CSettingsPage * Page = Section->GetPage(i); if (HideAdvanced && Page == m_AdvancedPage) { continue; } if (i == 0) { hSectionItem = m_PagesTreeList.InsertItemW(TVIF_TEXT | TVIF_PARAM,Section->GetPageTitle(),0,0,0,0,(ULONG)Page,TVI_ROOT,TVI_LAST); continue; } if (hSectionItem == NULL) { continue; } m_PagesTreeList.InsertItemW(TVIF_TEXT | TVIF_PARAM,GS(Page->PageTitle()),0,0,0,0,(ULONG)Page,hSectionItem,TVI_LAST); } if (bFirstItem && hSectionItem != NULL) { bFirstItem = false; m_PagesTreeList.Expand(hSectionItem); m_PagesTreeList.SelectItem(hSectionItem); } } BoldChangedPages(m_PagesTreeList.GetRootItem()); return TRUE; }
BOOL CALLBACK EnumConnectionsCallback( PSND_MIXER Mixer, DWORD LineID, LPMIXERLINE Line, PVOID Context) { WCHAR LineName[MIXER_LONG_NAME_CHARS]; DWORD Flags; DWORD wID; RECT rect; UINT ControlCount = 0, Index; LPMIXERCONTROL Control = NULL; HWND hDlgCtrl; PPREFERENCES_CONTEXT PrefContext = (PPREFERENCES_CONTEXT)Context; if (Line->cControls != 0) { /* get line name */ if (SndMixerGetLineName(PrefContext->MixerWindow->Mixer, PrefContext->SelectedLine, LineName, MIXER_LONG_NAME_CHARS, TRUE) == -1) { /* failed to get line name */ LineName[0] = L'\0'; } /* check if line is found in registry settings */ if (ReadLineConfig(PrefContext->DeviceName, LineName, Line->szName, &Flags)) { /* is it selected */ if (Flags != 0x4) { /* load dialog resource */ LoadDialog(hAppInstance, PrefContext->MixerWindow, MAKEINTRESOURCE(IDD_VOLUME_CTRL), PrefContext->Count); /* get id */ wID = (PrefContext->Count + 1) * IDC_LINE_NAME; /* set line name */ SetDlgItemTextW(PrefContext->MixerWindow->hWnd, wID, Line->szName); /* query controls */ if (SndMixerQueryControls(Mixer, &ControlCount, Line, &Control) == TRUE) { /* now go through all controls and update their states */ for(Index = 0; Index < ControlCount; Index++) { if ((Control[Index].dwControlType & MIXERCONTROL_CT_CLASS_MASK) == MIXERCONTROL_CT_CLASS_SWITCH) { MIXERCONTROLDETAILS_BOOLEAN Details; /* get volume control details */ if (SndMixerGetVolumeControlDetails(Mixer, Control[Index].dwControlID, sizeof(MIXERCONTROLDETAILS_BOOLEAN), (LPVOID)&Details) != -1) { /* update dialog control */ wID = (PrefContext->Count + 1) * IDC_LINE_SWITCH; /* get dialog control */ hDlgCtrl = GetDlgItem(PrefContext->MixerWindow->hWnd, wID); if (hDlgCtrl != NULL) { /* check state */ if (SendMessageW(hDlgCtrl, BM_GETCHECK, 0, 0) != Details.fValue) { /* update control state */ SendMessageW(hDlgCtrl, BM_SETCHECK, (WPARAM)Details.fValue, 0); } } } } else if ((Control[Index].dwControlType & MIXERCONTROL_CT_CLASS_MASK) == MIXERCONTROL_CT_CLASS_FADER) { MIXERCONTROLDETAILS_UNSIGNED Details; /* get volume control details */ if (SndMixerGetVolumeControlDetails(Mixer, Control[Index].dwControlID, sizeof(MIXERCONTROLDETAILS_UNSIGNED), (LPVOID)&Details) != -1) { /* update dialog control */ DWORD Position; DWORD Step = 0x10000 / 5; /* FIXME: give me granularity */ Position = 5 - (Details.dwValue / Step); /* FIXME support left - right slider */ wID = (PrefContext->Count + 1) * IDC_LINE_SLIDER_VERT; /* get dialog control */ hDlgCtrl = GetDlgItem(PrefContext->MixerWindow->hWnd, wID); if (hDlgCtrl != NULL) { /* check state */ LRESULT OldPosition = SendMessageW(hDlgCtrl, TBM_GETPOS, 0, 0); if (OldPosition != Position) { /* update control state */ SendMessageW(hDlgCtrl, TBM_SETPOS, (WPARAM)TRUE, Position + Index); } } } } } /* free controls */ HeapFree(GetProcessHeap(), 0, Control); } /* increment dialog count */ PrefContext->Count++; /* get application rectangle */ GetWindowRect(PrefContext->MixerWindow->hWnd, &rect); /* now move the window */ MoveWindow(PrefContext->MixerWindow->hWnd, rect.left, rect.top, (PrefContext->Count * DIALOG_VOLUME_SIZE), rect.bottom - rect.top, TRUE); } } } return TRUE; }
// Reset all controls to their default values (except for static controls) void ResetDlgDefaults() { SetDlgItemTextW(gEditDlg, IDC_LOCALIZATIONTEXT, L""); }
void SetDlgItemString(HWND hwndDlg, UINT idItem, std::wstring const &str) { SetDlgItemTextW(hwndDlg, idItem, str.c_str()); }
DWORD CALLBACK AboutIniBoxProc(HWND hDlg, DWORD uMsg, DWORD wParam, DWORD /*lParam*/) { static wchar_t RDBHomePage[300], CHTHomePage[300], RDXHomePage[300]; switch (uMsg) { case WM_INITDIALOG: { wchar_t String[200]; //Title LONG_PTR originalWndProc = GetWindowLongPtrW(hDlg, GWLP_WNDPROC); SetWindowLongPtrW(hDlg, GWLP_WNDPROC, (LONG_PTR) DefWindowProcW); SetWindowTextW(hDlg, GS(INI_TITLE)); SetWindowLongPtrW(hDlg, GWLP_WNDPROC, originalWndProc); //Language SetDlgItemTextW(hDlg, IDC_LAN, GS(INI_CURRENT_LANG)); set_about_field(hDlg, IDC_LAN_AUTHOR, GS(INI_AUTHOR), GS(LANGUAGE_AUTHOR)); set_about_field(hDlg, IDC_LAN_VERSION, GS(INI_VERSION), GS(LANGUAGE_VERSION)); set_about_field(hDlg, IDC_LAN_DATE, GS(INI_DATE), GS(LANGUAGE_DATE)); if (wcslen(GS(LANGUAGE_NAME)) == 0) { EnableWindow(GetDlgItem(hDlg, IDC_LAN), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_LAN_AUTHOR), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_LAN_VERSION), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_LAN_DATE), FALSE); } //RDB CIniFile RdbIniFile(g_Settings->LoadStringVal(SupportFile_RomDatabase).c_str()); wcsncpy(String, RdbIniFile.GetString("Meta", "Author", "").ToUTF16().c_str(), sizeof(String) / sizeof(String[0])); if (wcslen(String) == 0) { EnableWindow(GetDlgItem(hDlg, IDC_RDB), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_RDB_AUTHOR), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_RDB_VERSION), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_RDB_DATE), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_RDB_HOME), FALSE); } set_about_field(hDlg, IDC_RDB_AUTHOR, GS(INI_AUTHOR), String); wcsncpy(String, RdbIniFile.GetString("Meta", "Version", "").ToUTF16().c_str(), sizeof(String) / sizeof(String[0])); set_about_field(hDlg, IDC_RDB_VERSION, GS(INI_VERSION), String); wcsncpy(String, RdbIniFile.GetString("Meta", "Date", "").ToUTF16().c_str(), sizeof(String) / sizeof(String[0])); set_about_field(hDlg, IDC_RDB_DATE, GS(INI_DATE), String); wcsncpy(RDBHomePage, RdbIniFile.GetString("Meta", "Homepage", "").ToUTF16().c_str(), sizeof(RDBHomePage) / sizeof(RDBHomePage[0])); SetDlgItemTextW(hDlg, IDC_RDB_HOME, GS(INI_HOMEPAGE)); if (wcslen(RDBHomePage) == 0) { EnableWindow(GetDlgItem(hDlg, IDC_RDB_HOME), FALSE); } //Cheat SetDlgItemTextW(hDlg, IDC_CHT, GS(INI_CURRENT_CHT)); CIniFile CheatIniFile(g_Settings->LoadStringVal(SupportFile_Cheats).c_str()); wcsncpy(String, CheatIniFile.GetString("Meta", "Author", "").ToUTF16().c_str(), sizeof(String) / sizeof(String[0])); if (wcslen(String) == 0) { EnableWindow(GetDlgItem(hDlg, IDC_CHT), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_CHT_AUTHOR), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_CHT_VERSION), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_CHT_DATE), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_CHT_HOME), FALSE); } set_about_field(hDlg, IDC_CHT_AUTHOR, GS(INI_AUTHOR), String); wcsncpy(String, CheatIniFile.GetString("Meta", "Version", "").ToUTF16().c_str(), sizeof(String) / sizeof(String[0])); set_about_field(hDlg, IDC_CHT_VERSION, GS(INI_VERSION), String); wcsncpy(String, CheatIniFile.GetString("Meta", "Date", "").ToUTF16().c_str(), sizeof(String) / sizeof(String[0])); set_about_field(hDlg, IDC_CHT_DATE, GS(INI_DATE), String); wcsncpy(CHTHomePage, CheatIniFile.GetString("Meta", "Homepage", "").ToUTF16().c_str(), sizeof(CHTHomePage) / sizeof(CHTHomePage[0])); SetDlgItemTextW(hDlg, IDC_CHT_HOME, GS(INI_HOMEPAGE)); if (wcslen(CHTHomePage) == 0) { EnableWindow(GetDlgItem(hDlg, IDC_CHT_HOME), FALSE); } //Extended Info SetDlgItemTextW(hDlg, IDC_RDX, GS(INI_CURRENT_RDX)); CIniFile RdxIniFile(g_Settings->LoadStringVal(SupportFile_ExtInfo).c_str()); wcsncpy(String, RdxIniFile.GetString("Meta", "Author", "").ToUTF16().c_str(), sizeof(String) / sizeof(String[0])); if (wcslen(String) == 0) { EnableWindow(GetDlgItem(hDlg, IDC_RDX), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_RDX_AUTHOR), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_RDX_VERSION), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_RDX_DATE), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_RDX_HOME), FALSE); } set_about_field(hDlg, IDC_RDX_AUTHOR, GS(INI_AUTHOR), String); wcsncpy(String, RdxIniFile.GetString("Meta", "Version", "").ToUTF16().c_str(), sizeof(String) / sizeof(String[0])); set_about_field(hDlg, IDC_RDX_VERSION, GS(INI_VERSION), String); wcsncpy(String, RdxIniFile.GetString("Meta", "Date", "").ToUTF16().c_str(), sizeof(String) / sizeof(String[0])); set_about_field(hDlg, IDC_RDX_DATE, GS(INI_DATE), String); wcsncpy(RDXHomePage, RdxIniFile.GetString("Meta", "Homepage", "").ToUTF16().c_str(), sizeof(RDXHomePage) / sizeof(RDXHomePage[0])); SetDlgItemTextW(hDlg, IDC_RDX_HOME, GS(INI_HOMEPAGE)); if (wcslen(RDXHomePage) == 0) { EnableWindow(GetDlgItem(hDlg, IDC_RDX_HOME), FALSE); } SetDlgItemTextW(hDlg, IDOK, GS(CHEAT_OK)); } break; case WM_COMMAND: switch (LOWORD(wParam)) { case IDC_RDB_HOME: ShellExecuteW(NULL, L"open", RDBHomePage, NULL, NULL, SW_SHOWNORMAL); break; case IDC_CHT_HOME: ShellExecuteW(NULL, L"open", CHTHomePage, NULL, NULL, SW_SHOWNORMAL); break; case IDC_RDX_HOME: ShellExecuteW(NULL, L"open", RDXHomePage, NULL, NULL, SW_SHOWNORMAL); break; case IDOK: case IDCANCEL: EndDialog(hDlg, 0); break; } default: return FALSE; } return TRUE; }
BOOL CFileDefExt::CountFolderAndFiles(HWND hwndDlg, LPWSTR pwszBuf, UINT cchBufMax, DWORD *ticks) { /* Find filename position */ UINT cchBuf = wcslen(pwszBuf); WCHAR *pwszFilename = pwszBuf + cchBuf; size_t cchFilenameMax = cchBufMax - cchBuf; if (!cchFilenameMax) return FALSE; *(pwszFilename++) = '\\'; --cchFilenameMax; /* Find all files, FIXME: shouldn't be "*"? */ StringCchCopyW(pwszFilename, cchFilenameMax, L"*"); WIN32_FIND_DATAW wfd; HANDLE hFind = FindFirstFileW(pwszBuf, &wfd); if (hFind == INVALID_HANDLE_VALUE) { ERR("FindFirstFileW %ls failed\n", pwszBuf); return FALSE; } BOOL root = FALSE; if (*ticks == 0) { *ticks = GetTickCount(); root = TRUE; } do { if (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { /* Don't process "." and ".." items */ if (!wcscmp(wfd.cFileName, L".") || !wcscmp(wfd.cFileName, L"..")) continue; ++m_cFolders; StringCchCopyW(pwszFilename, cchFilenameMax, wfd.cFileName); CountFolderAndFiles(hwndDlg, pwszBuf, cchBufMax, ticks); } else { m_cFiles++; ULARGE_INTEGER FileSize; FileSize.u.LowPart = wfd.nFileSizeLow; FileSize.u.HighPart = wfd.nFileSizeHigh; m_DirSize.QuadPart += FileSize.QuadPart; } if (GetTickCount() - *ticks > (DWORD) 300) { /* FIXME Using IsWindow is generally ill advised */ if (IsWindow(hwndDlg)) { WCHAR wszBuf[MAX_PATH]; if (SH_FormatFileSizeWithBytes(&m_DirSize, wszBuf, _countof(wszBuf))) SetDlgItemTextW(hwndDlg, 14011, wszBuf); /* Display files and folders count */ WCHAR wszFormat[256]; LoadStringW(shell32_hInstance, IDS_FILE_FOLDER, wszFormat, _countof(wszFormat)); StringCchPrintfW(wszBuf, _countof(wszBuf), wszFormat, m_cFiles, m_cFolders); SetDlgItemTextW(hwndDlg, 14027, wszBuf); *ticks = GetTickCount(); } else break; } } while(FindNextFileW(hFind, &wfd)); if (root && IsWindow(hwndDlg)) { WCHAR wszBuf[MAX_PATH]; if (SH_FormatFileSizeWithBytes(&m_DirSize, wszBuf, _countof(wszBuf))) SetDlgItemTextW(hwndDlg, 14011, wszBuf); /* Display files and folders count */ WCHAR wszFormat[256]; LoadStringW(shell32_hInstance, IDS_FILE_FOLDER, wszFormat, _countof(wszFormat)); StringCchPrintfW(wszBuf, _countof(wszBuf), wszFormat, m_cFiles, m_cFolders); SetDlgItemTextW(hwndDlg, 14027, wszBuf); } FindClose(hFind); return TRUE; }
void CBacnetUserConfig::OnBnClickedButtonUserOk() { // TODO: Add your control notification handler code here char temp_buffer[255]; int compare_ret = 0; CString temp_enter_original; CString first_pw; CString second_pw; CString temp_user_name; CString access_string; switch(ok_button_stage) { case stage_enter_original_password://检查原始密码是否正确; { //m_user_login_data.at(m_slected_item).password GetDlgItemTextW(IDC_EDIT_USER_NAME,temp_user_name); GetDlgItemTextW(IDC_EDIT_USER_PASSWORD,temp_enter_original); if(temp_user_name.IsEmpty()) { MessageBox(_T("user name is empty"),_T("Warning"),MB_OK); return; } if(temp_user_name.GetLength()>=STR_USER_NAME_LENGTH) { MessageBox(_T("User name is too long!"),_T("Warning"),MB_OK); return; } if(temp_enter_original.IsEmpty()) { MessageBox(_T("Password is empty"),_T("Warning"),MB_OK); return; } memset(temp_buffer,0,255); WideCharToMultiByte(CP_ACP,NULL,temp_enter_original.GetBuffer(),-1,temp_buffer,255,NULL,NULL); compare_ret = strcmp(temp_buffer,m_user_login_data.at(m_slected_item).password); if(compare_ret == 0) { ok_button_stage = stage_enter_new_password; Enable_Window_Stage(ENTER_NEW_PASSWORD); } else { SetDlgItemTextW(IDC_EDIT_USER_PASSWORD,_T("")); MessageBox(_T("Password error"),_T("Warning"),MB_OK); GetDlgItem(IDC_EDIT_USER_PASSWORD)->SetFocus(); return; } } break; case stage_enter_new_password: { GetDlgItemTextW(IDC_EDIT_USER_NEW_PASSWORD,first_pw); if(first_pw.IsEmpty()) { MessageBox(_T("Password is empty"),_T("Warning"),MB_OK); return; } if(first_pw.GetLength()>=STR_USER_PASSWORD_LENGTH) { MessageBox(_T("Password too long!"),_T("Warning"),MB_OK); return; } ok_button_stage = stage_retype_password; Enable_Window_Stage(RETYPE_NEW_PASSWORD); } break; case stage_retype_password: { GetDlgItemTextW(IDC_EDIT_USER_NEW_PASSWORD,first_pw); GetDlgItemTextW(IDC_EDIT_USER_RETYPE_PASSWORD,second_pw); GetDlgItemTextW(IDC_EDIT_USER_NAME,temp_user_name); GetDlgItemTextW(IDC_COMBO_ACCESS_LEVEL,access_string); if(second_pw.IsEmpty()) { MessageBox(_T("Password is empty"),_T("Warning"),MB_OK); return; } if(second_pw.GetLength()>=STR_USER_PASSWORD_LENGTH) { MessageBox(_T("Password too long!"),_T("Warning"),MB_OK); return; } if(first_pw.CompareNoCase(second_pw) == 0) { if(temp_user_name.IsEmpty()) { MessageBox(_T("user name is empty"),_T("Warning"),MB_OK); return; } memset(temp_buffer,0,255); WideCharToMultiByte(CP_ACP,NULL,temp_user_name.GetBuffer(),-1,temp_buffer,255,NULL,NULL); memcpy(m_user_login_data.at(m_slected_item).name,temp_buffer,STR_USER_NAME_LENGTH); if(access_string.CompareNoCase(_T("View only")) == 0 ) { m_user_login_data.at(m_slected_item).access_level = 1; } else if(access_string.CompareNoCase(_T("Graphic Mode")) == 0) { m_user_login_data.at(m_slected_item).access_level = 3; } else if(access_string.CompareNoCase(_T("Routine Mode")) == 0) { m_user_login_data.at(m_slected_item).access_level = 4; } else m_user_login_data.at(m_slected_item).access_level = 2; //_T("View only")); //_T("Full access")); memset(temp_buffer,0,255); WideCharToMultiByte(CP_ACP,NULL,second_pw.GetBuffer(),-1,temp_buffer,255,NULL,NULL); memcpy(m_user_login_data.at(m_slected_item).password,temp_buffer,STR_USER_PASSWORD_LENGTH); //Post_Write_Message(g_bac_instance,WRITEUSER_T3000,m_slected_item,m_slected_item,sizeof(Str_userlogin_point),m_user_config_hwnd ,_T(""),m_slected_item,m_slected_item); int temp_invoke_id = -1; int send_status = true; int resend_count = 0; for (int z=0;z<3;z++) { do { resend_count ++; if(resend_count>5) { send_status = false; break; } temp_invoke_id = WritePrivateData(g_bac_instance,WRITEUSER_T3000,m_slected_item,m_slected_item); Sleep(SEND_COMMAND_DELAY_TIME); } while (g_invoke_id<0); if(send_status) { Sleep(1000); if(tsm_invoke_id_free(temp_invoke_id)) { ok_button_stage = 0; PostMessage(WM_REFRESH_BAC_USER_NAME_LIST,NULL,NULL); Enable_Window_Stage(HIDE_ALL); MessageBox(_T("Operation success!"),_T("Information"),MB_OK); return; } else continue; } } } else { MessageBox(_T("Password is not the same!"),_T("Warning"),MB_OK); return; } } break; default: break; } }
static BOOL CALLBACK RecordDialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { static struct CreateMovieParameters* p = NULL; switch(uMsg) { case WM_INITDIALOG: p = (struct CreateMovieParameters*)lParam; UpdateRecordDialogPath(hwndDlg, p->szFilename); p->szFilename = ""; if (strlen(taseditorConfig.lastAuthorName)) { // convert UTF8 char* string to Unicode wstring wchar_t savedAuthorName[AUTHOR_NAME_MAX_LEN] = {0}; MultiByteToWideChar(CP_UTF8, 0, taseditorConfig.lastAuthorName, -1, savedAuthorName, AUTHOR_NAME_MAX_LEN); p->authorName = savedAuthorName; } else { p->authorName = L""; } SendMessage(GetDlgItem(hwndDlg, IDC_EDIT_AUTHOR), CCM_SETUNICODEFORMAT, TRUE, 0); SetDlgItemTextW(hwndDlg, IDC_EDIT_AUTHOR, (LPCWSTR)(p->authorName.c_str())); // Populate the "record from..." dialog { char* findGlob=strdup(FCEU_MakeFName(FCEUMKF_STATEGLOB, 0, 0).c_str()); WIN32_FIND_DATA wfd; HANDLE hFind; int i=0; SendDlgItemMessage(hwndDlg, IDC_COMBO_RECORDFROM, CB_INSERTSTRING, i++, (LPARAM)"Start"); SendDlgItemMessage(hwndDlg, IDC_COMBO_RECORDFROM, CB_INSERTSTRING, i++, (LPARAM)"Now"); memset(&wfd, 0, sizeof(wfd)); hFind = FindFirstFile(findGlob, &wfd); if(hFind != INVALID_HANDLE_VALUE) { do { if ((wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) || (wfd.dwFileAttributes & FILE_ATTRIBUTE_READONLY)) continue; if (strlen(wfd.cFileName) < 4 || !strcmp(wfd.cFileName + (strlen(wfd.cFileName) - 4), ".fm2")) continue; SendDlgItemMessage(hwndDlg, IDC_COMBO_RECORDFROM, CB_INSERTSTRING, i++, (LPARAM)wfd.cFileName); } while(FindNextFile(hFind, &wfd)); FindClose(hFind); } free(findGlob); SendDlgItemMessage(hwndDlg, IDC_COMBO_RECORDFROM, CB_INSERTSTRING, i++, (LPARAM)"Browse..."); SendDlgItemMessage(hwndDlg, IDC_COMBO_RECORDFROM, CB_SETCURSEL, p->recordFrom, 0); } UpdateRecordDialog(hwndDlg); return TRUE; case WM_COMMAND: if(HIWORD(wParam) == CBN_SELCHANGE) { LONG lIndex = SendDlgItemMessage(hwndDlg, IDC_COMBO_RECORDFROM, CB_GETCURSEL, 0, 0); if(lIndex == CB_ERR) { // fix listbox selection SendDlgItemMessage(hwndDlg, IDC_COMBO_RECORDFROM, CB_SETCURSEL, (WPARAM)0, 0); } UpdateRecordDialog(hwndDlg); return TRUE; } else if(HIWORD(wParam) == CBN_CLOSEUP) { LONG lCount = SendDlgItemMessage(hwndDlg, IDC_COMBO_RECORDFROM, CB_GETCOUNT, 0, 0); LONG lIndex = SendDlgItemMessage(hwndDlg, IDC_COMBO_RECORDFROM, CB_GETCURSEL, 0, 0); if (lIndex != CB_ERR && lIndex == lCount-1) { OPENFILENAME ofn; char szChoice[MAX_PATH]={0}; // pop open a file browser to choose the savestate memset(&ofn, 0, sizeof(ofn)); ofn.lStructSize = sizeof(ofn); ofn.hwndOwner = hwndDlg; ofn.lpstrFilter = "FCEU Save State (*.fc?)\0*.fc?\0\0"; ofn.lpstrFile = szChoice; ofn.lpstrDefExt = "fcs"; ofn.nMaxFile = MAX_PATH; if(GetOpenFileName(&ofn)) { SendDlgItemMessage(hwndDlg, IDC_COMBO_RECORDFROM, CB_INSERTSTRING, lIndex, (LPARAM)szChoice); SendDlgItemMessage(hwndDlg, IDC_COMBO_RECORDFROM, CB_SETCURSEL, (WPARAM)lIndex, 0); } else UpdateRecordDialog(hwndDlg); } return TRUE; } else if(HIWORD(wParam) == EN_CHANGE && LOWORD(wParam) == IDC_EDIT_FILENAME) { UpdateRecordDialog(hwndDlg); } else { switch(LOWORD(wParam)) { case IDOK: { LONG lIndex = SendDlgItemMessage(hwndDlg, IDC_COMBO_RECORDFROM, CB_GETCURSEL, 0, 0); p->szFilename = GetRecordPath(hwndDlg); p->recordFrom = (int)lIndex; // save author name in params and in config (converted to multibyte char*) wchar_t authorName[AUTHOR_NAME_MAX_LEN] = {0}; GetDlgItemTextW(hwndDlg, IDC_EDIT_AUTHOR, (LPWSTR)authorName, AUTHOR_NAME_MAX_LEN); p->authorName = authorName; if (p->authorName == L"") taseditorConfig.lastAuthorName[0] = 0; else // convert Unicode wstring to UTF8 char* string WideCharToMultiByte(CP_UTF8, 0, (p->authorName).c_str(), -1, taseditorConfig.lastAuthorName, AUTHOR_NAME_MAX_LEN, 0, 0); if (lIndex >= 2) p->szSavestateFilename = GetSavePath(hwndDlg); EndDialog(hwndDlg, 1); } return TRUE; case IDCANCEL: EndDialog(hwndDlg, 0); return TRUE; case IDC_BUTTON_BROWSEFILE: { OPENFILENAME ofn; char szChoice[MAX_PATH]={0}; // browse button memset(&ofn, 0, sizeof(ofn)); ofn.lStructSize = sizeof(ofn); ofn.hwndOwner = hwndDlg; ofn.lpstrFilter = "FCEUX Movie File (*.fm2)\0*.fm2\0All Files (*.*)\0*.*\0\0"; ofn.lpstrFile = szChoice; ofn.lpstrDefExt = "fm2"; ofn.nMaxFile = MAX_PATH; ofn.Flags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT; if(GetSaveFileName(&ofn)) { UpdateRecordDialogPath(hwndDlg,szChoice); } } return TRUE; } } } return FALSE; }
///////////////////////////////////////////////////////// // // DlgProc // // The DlgProc function is an application-defined // function that processes messages sent to the dialog // // Parameters: // HWND hwnd : [in] handle to dialog window // UINT uMsg : [in] message identifier // WPARAM wParam : [in] first message parameter // LPARAM lParam : [in] second message parameter // // Return Values: // The return value is the result of the // message processing and depends on the message sent // ///////////////////////////////////////////////////////// BOOL CALLBACK DlgProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM /* lParam */) { BOOL bReturn = FALSE; // the value to return switch (uMsg) { case WM_INITDIALOG: { // Initialize the COM if (FAILED(CoInitialize(NULL))) { MessageBoxW(NULL, L"Unable to initialize the COM library", gc_wszAppName, MB_OK | MB_ICONINFORMATION); PostMessage(hwnd, WM_CLOSE, 0, 0); break; } // Gather and show the information we're interested in // Check out if Microsoft Tablet PC Platform components of the // Microsoft Windows XP Professional Operating System are enabled int bTabletPC = GetSystemMetrics(SM_TABLETPC); SetDlgItemTextW(hwnd, IDC_TABLETPC, bTabletPC ? L"Available" : L"Not available"); // Get the version of the Text Services Framework components SInfo info; if (GetComponentInfo(CLSID_TF_ThreadMgr, info) == TRUE) { SetDlgItemTextW(hwnd, IDC_TSF, info.wchVersion); } // Find out the name and the version of the default handwriting recognizer // Create the enumerator for the installed recognizers IInkRecognizers* pIInkRecognizers = NULL; HRESULT hr = CoCreateInstance(CLSID_InkRecognizers, NULL, CLSCTX_INPROC_SERVER, IID_IInkRecognizers, (void **)&pIInkRecognizers); if (SUCCEEDED(hr)) { IInkRecognizer* pIInkRecognizer = NULL; // The first parameter is the language id, passing 0 means that the language // id will be retrieved using the user default-locale identifier hr = pIInkRecognizers->GetDefaultRecognizer(0, &pIInkRecognizer); if (SUCCEEDED(hr)) { // Get the recognizer's friendly name BSTR bstr; if (SUCCEEDED(pIInkRecognizer->get_Name(&bstr))) { SetDlgItemTextW(hwnd, IDC_HWR_NAME, bstr); SysFreeString(bstr); } else { SetDlgItemTextW(hwnd, IDC_HWR_NAME, L"Failed"); } // Get the recognizer's vendor info if (SUCCEEDED(pIInkRecognizer->get_Vendor(&bstr))) { SetDlgItemTextW(hwnd, IDC_HWR_VENDOR, bstr); SysFreeString(bstr); } else { SetDlgItemTextW(hwnd, IDC_HWR_VENDOR, L"Failed"); } // Release it pIInkRecognizer->Release(); pIInkRecognizer = NULL; } // Release the collection object pIInkRecognizers->Release(); pIInkRecognizers = NULL; } // Find out the name and the version of the default speech recognizer // Open key to find path of application HKEY hkeySpeech; if (RegOpenKeyExW(HKEY_LOCAL_MACHINE, gc_wszSpeechKey, 0, KEY_READ, &hkeySpeech) == ERROR_SUCCESS) { // Query value of key to get the name of the component WCHAR wchValue[265]; ULONG cSize = sizeof(wchValue); if (RegQueryValueExW(hkeySpeech, L"DefaultDefaultTokenId", NULL, NULL, (BYTE*)wchValue, &cSize) == ERROR_SUCCESS) { int ndx = lstrlenW(L"HKEY_LOCAL_MACHINE\\"); int len = lstrlenW(wchValue); if (ndx < len && RegOpenKeyExW(HKEY_LOCAL_MACHINE, &wchValue[ndx], 0, KEY_READ, &hkeySpeech) == ERROR_SUCCESS) { cSize = sizeof(wchValue); if (RegQueryValueExW(hkeySpeech, NULL, NULL, NULL, (BYTE*)wchValue, &cSize) == ERROR_SUCCESS) { SetDlgItemTextW(hwnd, IDC_SPR_NAME, wchValue); } } } } // Find out which of the controls are installed and show their version info for (int i = 0, j = 0; i < NUM_CONTROLS; i++) { // Get the component info CLSID clsid; if (SUCCEEDED(CLSIDFromProgID(gc_wszProgId[i], &clsid)) && GetComponentInfo(clsid, info) == TRUE) { SetDlgItemTextW(hwnd, gc_uiCtrlId[j][0], info.wchName); SetDlgItemTextW(hwnd, gc_uiCtrlId[j][1], info.wchVersion); j++; } } // Done with the COM CoUninitialize(); break; } case WM_DESTROY: PostQuitMessage(0); break; case WM_COMMAND: switch (LOWORD(wParam)) { case IDCLOSE: // User clicked on the "Close" button in the dialog. case IDCANCEL: // User clicked the close button ([X]) in the caption // or pressed Alt+F4. DestroyWindow(hwnd); bReturn = TRUE; break; } break; } return bReturn; }
LONG FD31_WMInitDialog(HWND hWnd, WPARAM wParam, LPARAM lParam) { int i, n; WCHAR tmpstr[BUFFILE]; LPWSTR pstr, old_pstr; LPOPENFILENAMEW ofn; PFD31_DATA lfs = (PFD31_DATA) lParam; if (!lfs) return FALSE; SetPropA(hWnd, FD31_OFN_PROP, (HANDLE)lfs); lfs->hwnd = hWnd; ofn = lfs->ofnW; TRACE("flags=%x initialdir=%s\n", ofn->Flags, debugstr_w(ofn->lpstrInitialDir)); SetWindowTextW( hWnd, ofn->lpstrTitle ); /* read custom filter information */ if (ofn->lpstrCustomFilter) { pstr = ofn->lpstrCustomFilter; n = 0; TRACE("lpstrCustomFilter = %p\n", pstr); while(*pstr) { old_pstr = pstr; i = SendDlgItemMessageW(hWnd, cmb1, CB_ADDSTRING, 0, (LPARAM)(ofn->lpstrCustomFilter) + n ); n += lstrlenW(pstr) + 1; pstr += lstrlenW(pstr) + 1; TRACE("add str=%s associated to %s\n", debugstr_w(old_pstr), debugstr_w(pstr)); SendDlgItemMessageW(hWnd, cmb1, CB_SETITEMDATA, i, (LPARAM)pstr); n += lstrlenW(pstr) + 1; pstr += lstrlenW(pstr) + 1; } } /* read filter information */ if (ofn->lpstrFilter) { pstr = (LPWSTR) ofn->lpstrFilter; n = 0; while(*pstr) { old_pstr = pstr; i = SendDlgItemMessageW(hWnd, cmb1, CB_ADDSTRING, 0, (LPARAM)(ofn->lpstrFilter + n) ); n += lstrlenW(pstr) + 1; pstr += lstrlenW(pstr) + 1; TRACE("add str=%s associated to %s\n", debugstr_w(old_pstr), debugstr_w(pstr)); SendDlgItemMessageW(hWnd, cmb1, CB_SETITEMDATA, i, (LPARAM)pstr); n += lstrlenW(pstr) + 1; pstr += lstrlenW(pstr) + 1; } } /* set default filter */ if (ofn->nFilterIndex == 0 && ofn->lpstrCustomFilter == NULL) ofn->nFilterIndex = 1; SendDlgItemMessageW(hWnd, cmb1, CB_SETCURSEL, ofn->nFilterIndex - 1, 0); if (ofn->lpstrFile && ofn->lpstrFile[0]) { TRACE( "SetText of edt1 to %s\n", debugstr_w(ofn->lpstrFile) ); SetDlgItemTextW( hWnd, edt1, ofn->lpstrFile ); } else { lstrcpynW(tmpstr, FD31_GetFileType(ofn->lpstrCustomFilter, ofn->lpstrFilter, ofn->nFilterIndex - 1),BUFFILE); TRACE("nFilterIndex = %d, SetText of edt1 to %s\n", ofn->nFilterIndex, debugstr_w(tmpstr)); SetDlgItemTextW( hWnd, edt1, tmpstr ); } /* get drive list */ *tmpstr = 0; DlgDirListComboBoxW(hWnd, tmpstr, cmb2, 0, DDL_DRIVES | DDL_EXCLUSIVE); /* read initial directory */ /* FIXME: Note that this is now very version-specific (See MSDN description of * the OPENFILENAME structure). For example under 2000/XP any path in the * lpstrFile overrides the lpstrInitialDir, but not under 95/98/ME */ if (ofn->lpstrInitialDir != NULL) { int len; lstrcpynW(tmpstr, ofn->lpstrInitialDir, 511); len = lstrlenW(tmpstr); if (len > 0 && tmpstr[len-1] != '\\' && tmpstr[len-1] != ':') { tmpstr[len]='\\'; tmpstr[len+1]='\0'; } } else *tmpstr = 0; if (!FD31_ScanDir(ofn, hWnd, tmpstr)) { *tmpstr = 0; if (!FD31_ScanDir(ofn, hWnd, tmpstr)) WARN("Couldn't read initial directory %s!\n", debugstr_w(tmpstr)); } /* select current drive in combo 2, omit missing drives */ { char dir[MAX_PATH]; char str[4] = "a:\\"; GetCurrentDirectoryA( sizeof(dir), dir ); for(i = 0, n = -1; i < 26; i++) { str[0] = 'a' + i; if (GetDriveTypeA(str) > DRIVE_NO_ROOT_DIR) n++; if (toupper(str[0]) == toupper(dir[0])) break; } } SendDlgItemMessageW(hWnd, cmb2, CB_SETCURSEL, n, 0); if (!(ofn->Flags & OFN_SHOWHELP)) ShowWindow(GetDlgItem(hWnd, pshHelp), SW_HIDE); if (ofn->Flags & OFN_HIDEREADONLY) ShowWindow(GetDlgItem(hWnd, chx1), SW_HIDE); if (lfs->hook) return FD31_CallWindowProc(lfs, WM_INITDIALOG, wParam, lfs->lParam); return TRUE; }
/*********************************************************************** * FD31_TestPath [internal] * before accepting the file name, test if it includes wild cards * tries to scan the directory and returns TRUE if no error. */ static LRESULT FD31_TestPath( const FD31_DATA *lfs, LPWSTR path ) { HWND hWnd = lfs->hwnd; LPWSTR pBeginFileName, pstr2; WCHAR tmpstr2[BUFFILE]; pBeginFileName = strrchrW(path, '\\'); if (pBeginFileName == NULL) pBeginFileName = strrchrW(path, ':'); if (strchrW(path,'*') != NULL || strchrW(path,'?') != NULL) { /* edit control contains wildcards */ if (pBeginFileName != NULL) { lstrcpynW(tmpstr2, pBeginFileName + 1, BUFFILE); *(pBeginFileName + 1) = 0; } else { strcpyW(tmpstr2, path); if(!(lfs->ofnW->Flags & OFN_NOVALIDATE)) *path = 0; } TRACE("path=%s, tmpstr2=%s\n", debugstr_w(path), debugstr_w(tmpstr2)); SetDlgItemTextW( hWnd, edt1, tmpstr2 ); FD31_ScanDir(lfs->ofnW, hWnd, path); return (lfs->ofnW->Flags & OFN_NOVALIDATE) ? TRUE : FALSE; } /* no wildcards, we might have a directory or a filename */ /* try appending a wildcard and reading the directory */ pstr2 = path + lstrlenW(path); if (pBeginFileName == NULL || *(pBeginFileName + 1) != 0) strcatW(path, FILE_bslash); /* if ScanDir succeeds, we have changed the directory */ if (FD31_ScanDir(lfs->ofnW, hWnd, path)) return FALSE; /* and path is not a valid file name */ /* if not, this must be a filename */ *pstr2 = 0; /* remove the wildcard added before */ if (pBeginFileName != NULL) { /* strip off the pathname */ *pBeginFileName = 0; SetDlgItemTextW( hWnd, edt1, pBeginFileName + 1 ); lstrcpynW(tmpstr2, pBeginFileName + 1, sizeof(tmpstr2)/sizeof(WCHAR) ); /* Should we MessageBox() if this fails? */ if (!FD31_ScanDir(lfs->ofnW, hWnd, path)) { return FALSE; } strcpyW(path, tmpstr2); } else SetDlgItemTextW( hWnd, edt1, path ); return TRUE; }
int CALLBACK AssertDialogProc( HWND hDlg, // handle to dialog box UINT uMsg, // message WPARAM wParam, // first message parameter LPARAM lParam // second message parameter ) { switch( uMsg ) { case WM_INITDIALOG: { #ifdef TCHAR_IS_WCHAR SetDlgItemTextW( hDlg, IDC_ASSERT_MSG_CTRL, g_Info.m_pExpression ); SetDlgItemTextW( hDlg, IDC_FILENAME_CONTROL, g_Info.m_pFilename ); #else SetDlgItemText( hDlg, IDC_ASSERT_MSG_CTRL, g_Info.m_pExpression ); SetDlgItemText( hDlg, IDC_FILENAME_CONTROL, g_Info.m_pFilename ); #endif SetDlgItemInt( hDlg, IDC_LINE_CONTROL, g_Info.m_iLine, false ); SetDlgItemInt( hDlg, IDC_IGNORE_NUMLINES, g_iLastLineRange, false ); SetDlgItemInt( hDlg, IDC_IGNORE_NUMTIMES, g_nLastIgnoreNumTimes, false ); // Center the dialog. RECT rcDlg, rcDesktop; GetWindowRect( hDlg, &rcDlg ); GetWindowRect( GetDesktopWindow(), &rcDesktop ); SetWindowPos( hDlg, HWND_TOP, ((rcDesktop.right-rcDesktop.left) - (rcDlg.right-rcDlg.left)) / 2, ((rcDesktop.bottom-rcDesktop.top) - (rcDlg.bottom-rcDlg.top)) / 2, 0, 0, SWP_NOSIZE ); } return true; case WM_COMMAND: { switch( LOWORD( wParam ) ) { case IDC_IGNORE_FILE: { IgnoreAssertsInCurrentFile(); EndDialog( hDlg, 0 ); return true; } // Ignore this assert N times. case IDC_IGNORE_THIS: { BOOL bTranslated = false; UINT value = GetDlgItemInt( hDlg, IDC_IGNORE_NUMTIMES, &bTranslated, false ); if ( bTranslated && value > 1 ) { CAssertDisable *pDisable = IgnoreAssertsNearby( 0 ); pDisable->m_nIgnoreTimes = value - 1; g_nLastIgnoreNumTimes = value; } EndDialog( hDlg, 0 ); return true; } // Always ignore this assert. case IDC_IGNORE_ALWAYS: { IgnoreAssertsNearby( 0 ); EndDialog( hDlg, 0 ); return true; } case IDC_IGNORE_NEARBY: { BOOL bTranslated = false; UINT value = GetDlgItemInt( hDlg, IDC_IGNORE_NUMLINES, &bTranslated, false ); if ( !bTranslated || value < 1 ) return true; IgnoreAssertsNearby( value ); EndDialog( hDlg, 0 ); return true; } case IDC_IGNORE_ALL: { g_bAssertsEnabled = false; EndDialog( hDlg, 0 ); return true; } case IDC_BREAK: { g_bBreak = true; EndDialog( hDlg, 0 ); return true; } } case WM_KEYDOWN: { // Escape? if ( wParam == 2 ) { // Ignore this assert. EndDialog( hDlg, 0 ); return true; } } } return true; } return FALSE; }
BOOL CFileDefExt::InitFileAttr(HWND hwndDlg) { WCHAR wszBuf[MAX_PATH]; TRACE("InitFileAttr %ls\n", m_wszPath); WIN32_FILE_ATTRIBUTE_DATA FileInfo; if (GetFileAttributesExW(m_wszPath, GetFileExInfoStandard, &FileInfo)) { /* Update attribute checkboxes */ if (FileInfo.dwFileAttributes & FILE_ATTRIBUTE_READONLY) SendDlgItemMessage(hwndDlg, 14021, BM_SETCHECK, BST_CHECKED, 0); if (FileInfo.dwFileAttributes & FILE_ATTRIBUTE_HIDDEN) SendDlgItemMessage(hwndDlg, 14022, BM_SETCHECK, BST_CHECKED, 0); if (FileInfo.dwFileAttributes & FILE_ATTRIBUTE_ARCHIVE) SendDlgItemMessage(hwndDlg, 14023, BM_SETCHECK, BST_CHECKED, 0); /* Update creation time */ if (GetFileTimeString(&FileInfo.ftCreationTime, wszBuf, _countof(wszBuf))) SetDlgItemTextW(hwndDlg, 14015, wszBuf); /* For files display last access and last write time */ if (!m_bDir) { if (GetFileTimeString(&FileInfo.ftLastAccessTime, wszBuf, _countof(wszBuf))) SetDlgItemTextW(hwndDlg, 14019, wszBuf); if (GetFileTimeString(&FileInfo.ftLastWriteTime, wszBuf, _countof(wszBuf))) SetDlgItemTextW(hwndDlg, 14017, wszBuf); /* Update size of file */ ULARGE_INTEGER FileSize; FileSize.u.LowPart = FileInfo.nFileSizeLow; FileSize.u.HighPart = FileInfo.nFileSizeHigh; if (SH_FormatFileSizeWithBytes(&FileSize, wszBuf, _countof(wszBuf))) SetDlgItemTextW(hwndDlg, 14011, wszBuf); } } if (m_bDir) { /* For directories files have to be counted */ StringCchCopyW(wszBuf, _countof(wszBuf), m_wszPath); CountFolderAndFiles(wszBuf, _countof(wszBuf)); /* Update size filed */ if (SH_FormatFileSizeWithBytes(&m_DirSize, wszBuf, _countof(wszBuf))) SetDlgItemTextW(hwndDlg, 14011, wszBuf); /* Display files and folders count */ WCHAR wszFormat[256]; LoadStringW(shell32_hInstance, IDS_FILE_FOLDER, wszFormat, _countof(wszFormat)); StringCchPrintfW(wszBuf, _countof(wszBuf), wszFormat, m_cFiles, m_cFolders); SetDlgItemTextW(hwndDlg, 14027, wszBuf); } /* Hide Advanced button. TODO: Implement advanced dialog and enable this button if filesystem supports compression or encryption */ ShowWindow(GetDlgItem(hwndDlg, 14028), SW_HIDE); return TRUE; }
BOOL AP_Win32Dialog_Columns::_onCommand(HWND hWnd, WPARAM wParam, LPARAM /*lParam*/) { WORD wNotifyCode = HIWORD(wParam); WORD wId = LOWORD(wParam); wchar_t buf[BUFSIZE]; UT_Win32LocaleString str; switch (wId) { case IDCANCEL: // also AP_RID_DIALOG_COLUMN_BTN_CANCEL m_answer = a_CANCEL; // fall through case IDOK: // also AP_RID_DIALOG_COLUMN_BTN_OK EndDialog(hWnd,0); return 1; case AP_RID_DIALOG_COLUMN_RADIO_ONE: setColumns(1); checkButton(AP_RID_DIALOG_COLUMN_RADIO_TWO, false); checkButton(AP_RID_DIALOG_COLUMN_RADIO_THREE, false); SetDlgItemTextW(m_hDlg, AP_RID_DIALOG_COLUMN_EDIT_NUMCOLUMNS, _itow(getColumns(),buf,10)); return 1; case AP_RID_DIALOG_COLUMN_RADIO_TWO: setColumns(2); checkButton(AP_RID_DIALOG_COLUMN_RADIO_ONE, false); checkButton(AP_RID_DIALOG_COLUMN_RADIO_THREE, false); SetDlgItemTextW(m_hDlg, AP_RID_DIALOG_COLUMN_EDIT_NUMCOLUMNS, _itow(getColumns(),buf,10)); return 1; case AP_RID_DIALOG_COLUMN_RADIO_THREE: setColumns(3); checkButton(AP_RID_DIALOG_COLUMN_RADIO_ONE, false); checkButton(AP_RID_DIALOG_COLUMN_RADIO_TWO, false); SetDlgItemTextW(m_hDlg, AP_RID_DIALOG_COLUMN_EDIT_NUMCOLUMNS, _itow(getColumns(),buf,10)); return 1; case AP_RID_DIALOG_COLUMN_CHECK_LINE_BETWEEN: setLineBetween( isChecked(AP_RID_DIALOG_COLUMN_CHECK_LINE_BETWEEN)==BST_CHECKED ); return 1; case AP_RID_DIALOG_COLUMN_EDIT_NUMCOLUMNS: if( wNotifyCode == EN_KILLFOCUS ) { GetDlgItemTextW( hWnd, wId, buf, BUFSIZE ); if( _wtoi( buf ) > 0 && _wtoi(buf) != (signed) getColumns() ) { setColumns( _wtoi(buf) ); } SetDlgItemTextW(m_hDlg, wId, _itow(getColumns(),buf,10)); checkButton(AP_RID_DIALOG_COLUMN_RADIO_ONE, (getColumns()==1)); checkButton(AP_RID_DIALOG_COLUMN_RADIO_TWO, (getColumns()==2)); checkButton(AP_RID_DIALOG_COLUMN_RADIO_THREE, (getColumns()==3)); } return 1; case AP_RID_DIALOG_COLUMN_EDIT_SPACEAFTER: if( wNotifyCode == EN_KILLFOCUS ) { GetDlgItemTextW( hWnd, wId, buf, BUFSIZE ); str.fromLocale (buf); setSpaceAfter( str.utf8_str().utf8_str() ); str.fromUTF8 (getSpaceAfterString ()); SetDlgItemTextW(m_hDlg, wId, str.c_str ()); } return 1; case AP_RID_DIALOG_COLUMN_EDIT_MAXSIZE: if( wNotifyCode == EN_KILLFOCUS ) { GetDlgItemTextW( hWnd, wId, buf, BUFSIZE ); str.fromLocale (buf); setMaxHeight( str.utf8_str().utf8_str() ); str.fromUTF8 (getHeightString()); SetDlgItemTextW(m_hDlg, wId, str.c_str ()); } return 1; case AP_RID_DIALOG_COLUMN_CHECK_RTL_ORDER: setColumnOrder( (UT_uint32) (isChecked(AP_RID_DIALOG_COLUMN_CHECK_RTL_ORDER) == BST_CHECKED) ); return 1; default: // we did not handle this notification UT_DEBUGMSG(("WM_Command for id %ld\n",wId)); return 0; // return zero to let windows take care of it. } }
static void initAudioDlg (HWND hDlg) { WCHAR display_str[256], format_str[256], sysdefault_str[256], disabled_str[64]; IMMDeviceEnumerator *devenum; BOOL have_driver = FALSE; HRESULT hr; WINE_TRACE("\n"); LoadStringW(GetModuleHandle(NULL), IDS_AUDIO_DRIVER, format_str, sizeof(format_str) / sizeof(*format_str)); LoadStringW(GetModuleHandle(NULL), IDS_AUDIO_DRIVER_NONE, disabled_str, sizeof(disabled_str) / sizeof(*disabled_str)); LoadStringW(GetModuleHandle(NULL), IDS_AUDIO_SYSDEFAULT, sysdefault_str, sizeof(sysdefault_str) / sizeof(*sysdefault_str)); hr = CoCreateInstance(&CLSID_MMDeviceEnumerator, NULL, CLSCTX_INPROC_SERVER, &IID_IMMDeviceEnumerator, (void**)&devenum); if(SUCCEEDED(hr)){ PROPVARIANT pv; load_devices(devenum, eRender, &num_render_devs, &render_devs); load_devices(devenum, eCapture, &num_capture_devs, &capture_devs); PropVariantInit(&pv); if(get_driver_name(devenum, &pv) && pv.u.pwszVal[0] != '\0'){ have_driver = TRUE; wnsprintfW(display_str, sizeof(display_str) / sizeof(*display_str), format_str, pv.u.pwszVal); lstrcatW(g_drv_keyW, pv.u.pwszVal); } PropVariantClear(&pv); IMMDeviceEnumerator_Release(devenum); } SendDlgItemMessageW(hDlg, IDC_AUDIOOUT_DEVICE, CB_ADDSTRING, 0, (LPARAM)sysdefault_str); SendDlgItemMessageW(hDlg, IDC_AUDIOOUT_DEVICE, CB_SETCURSEL, 0, 0); SendDlgItemMessageW(hDlg, IDC_VOICEOUT_DEVICE, CB_ADDSTRING, 0, (LPARAM)sysdefault_str); SendDlgItemMessageW(hDlg, IDC_VOICEOUT_DEVICE, CB_SETCURSEL, 0, 0); SendDlgItemMessageW(hDlg, IDC_AUDIOIN_DEVICE, CB_ADDSTRING, 0, (LPARAM)sysdefault_str); SendDlgItemMessageW(hDlg, IDC_AUDIOIN_DEVICE, CB_SETCURSEL, 0, 0); SendDlgItemMessageW(hDlg, IDC_VOICEIN_DEVICE, CB_ADDSTRING, 0, (LPARAM)sysdefault_str); SendDlgItemMessageW(hDlg, IDC_VOICEIN_DEVICE, CB_SETCURSEL, 0, 0); if(have_driver){ WCHAR *reg_out_dev, *reg_vout_dev, *reg_in_dev, *reg_vin_dev; UINT i; reg_out_dev = get_reg_keyW(HKEY_CURRENT_USER, g_drv_keyW, reg_out_nameW, NULL); reg_vout_dev = get_reg_keyW(HKEY_CURRENT_USER, g_drv_keyW, reg_vout_nameW, NULL); reg_in_dev = get_reg_keyW(HKEY_CURRENT_USER, g_drv_keyW, reg_in_nameW, NULL); reg_vin_dev = get_reg_keyW(HKEY_CURRENT_USER, g_drv_keyW, reg_vin_nameW, NULL); for(i = 0; i < num_render_devs; ++i){ if(!render_devs[i].id) continue; SendDlgItemMessageW(hDlg, IDC_AUDIOOUT_DEVICE, CB_ADDSTRING, 0, (LPARAM)render_devs[i].name.u.pwszVal); SendDlgItemMessageW(hDlg, IDC_AUDIOOUT_DEVICE, CB_SETITEMDATA, i + 1, (LPARAM)&render_devs[i]); if(reg_out_dev && !lstrcmpW(render_devs[i].id, reg_out_dev)) SendDlgItemMessageW(hDlg, IDC_AUDIOOUT_DEVICE, CB_SETCURSEL, i + 1, 0); SendDlgItemMessageW(hDlg, IDC_VOICEOUT_DEVICE, CB_ADDSTRING, 0, (LPARAM)render_devs[i].name.u.pwszVal); SendDlgItemMessageW(hDlg, IDC_VOICEOUT_DEVICE, CB_SETITEMDATA, i + 1, (LPARAM)&render_devs[i]); if(reg_vout_dev && !lstrcmpW(render_devs[i].id, reg_vout_dev)) SendDlgItemMessageW(hDlg, IDC_VOICEOUT_DEVICE, CB_SETCURSEL, i + 1, 0); } for(i = 0; i < num_capture_devs; ++i){ if(!capture_devs[i].id) continue; SendDlgItemMessageW(hDlg, IDC_AUDIOIN_DEVICE, CB_ADDSTRING, 0, (LPARAM)capture_devs[i].name.u.pwszVal); SendDlgItemMessageW(hDlg, IDC_AUDIOIN_DEVICE, CB_SETITEMDATA, i + 1, (LPARAM)&capture_devs[i]); if(reg_in_dev && !lstrcmpW(capture_devs[i].id, reg_in_dev)) SendDlgItemMessageW(hDlg, IDC_AUDIOIN_DEVICE, CB_SETCURSEL, i + 1, 0); SendDlgItemMessageW(hDlg, IDC_VOICEIN_DEVICE, CB_ADDSTRING, 0, (LPARAM)capture_devs[i].name.u.pwszVal); SendDlgItemMessageW(hDlg, IDC_VOICEIN_DEVICE, CB_SETITEMDATA, i + 1, (LPARAM)&capture_devs[i]); if(reg_vin_dev && !lstrcmpW(capture_devs[i].id, reg_vin_dev)) SendDlgItemMessageW(hDlg, IDC_VOICEIN_DEVICE, CB_SETCURSEL, i + 1, 0); } HeapFree(GetProcessHeap(), 0, reg_out_dev); HeapFree(GetProcessHeap(), 0, reg_vout_dev); HeapFree(GetProcessHeap(), 0, reg_in_dev); HeapFree(GetProcessHeap(), 0, reg_vin_dev); }else wnsprintfW(display_str, sizeof(display_str) / sizeof(*display_str), format_str, disabled_str); SetDlgItemTextW(hDlg, IDC_AUDIO_DRIVER, display_str); }
BOOL AP_Win32Dialog_Columns::_onInitDialog(HWND hWnd, WPARAM /*wParam*/, LPARAM /*lParam*/) { const XAP_StringSet* pSS = m_pApp->getStringSet(); // Update the caption setDialogTitle(pSS->getValue(AP_STRING_ID_DLG_Column_ColumnTitle)); /* Localise controls*/ _DSX(COLUMN_BTN_OK, DLG_OK); _DSX(COLUMN_BTN_CANCEL, DLG_Cancel); _DS(COLUMN_GROUP1, DLG_Column_Number); _DS(COLUMN_GROUP2, DLG_Column_Preview); _DS(COLUMN_TEXT_ONE, DLG_Column_One); _DS(COLUMN_TEXT_TWO, DLG_Column_Two); _DS(COLUMN_TEXT_THREE, DLG_Column_Three); _DS(COLUMN_CHECK_LINE_BETWEEN, DLG_Column_Line_Between); _DS(COLUMN_TEXT_NUMCOLUMNS, DLG_Column_Number_Cols); _DS(COLUMN_TEXT_SPACEAFTER, DLG_Column_Space_After); _DS(COLUMN_TEXT_MAXSIZE, DLG_Column_Size); _DS(COLUMN_CHECK_RTL_ORDER, DLG_Column_RtlOrder); // Do Bitmaps RECT rect; GetClientRect(GetDlgItem(hWnd, AP_RID_DIALOG_COLUMN_RADIO_ONE), &rect); int iWidth = rect.right - rect.left; int iHeight = rect.bottom - rect.top; HBITMAP hBitmap; AP_Win32Toolbar_Icons Icons; COLORREF ColorRef = GetSysColor(COLOR_BTNFACE); UT_RGBColor Color(GetRValue(ColorRef), GetGValue(ColorRef), GetBValue(ColorRef)); bool bFoundIcon = Icons.getBitmapForIcon(hWnd, iWidth, iHeight, &Color, "1COLUMN", &hBitmap); UT_return_val_if_fail (bFoundIcon, false); SendDlgItemMessageW(hWnd, AP_RID_DIALOG_COLUMN_RADIO_ONE, BM_SETIMAGE, IMAGE_BITMAP, (LPARAM)hBitmap); bFoundIcon = Icons.getBitmapForIcon(hWnd, iWidth, iHeight, &Color, "2COLUMN", &hBitmap); UT_return_val_if_fail (bFoundIcon, false); SendDlgItemMessageW(hWnd, AP_RID_DIALOG_COLUMN_RADIO_TWO, BM_SETIMAGE, IMAGE_BITMAP, (LPARAM)hBitmap); bFoundIcon = Icons.getBitmapForIcon(hWnd, iWidth, iHeight, &Color, "3COLUMN", &hBitmap); UT_return_val_if_fail (bFoundIcon, false); SendDlgItemMessageW(hWnd, AP_RID_DIALOG_COLUMN_RADIO_THREE, BM_SETIMAGE, IMAGE_BITMAP, (LPARAM)hBitmap); // set initial state wchar_t buf[BUFSIZE]; checkButton(AP_RID_DIALOG_COLUMN_RADIO_ONE + getColumns() - 1, true); enableLineBetweenControl(getColumns() != 1); checkButton(AP_RID_DIALOG_COLUMN_CHECK_LINE_BETWEEN, getLineBetween()); SetDlgItemTextW(m_hDlg, AP_RID_DIALOG_COLUMN_EDIT_NUMCOLUMNS, _itow( getColumns(),buf,10) ); setControlText(AP_RID_DIALOG_COLUMN_EDIT_SPACEAFTER, getSpaceAfterString()); setControlText(AP_RID_DIALOG_COLUMN_EDIT_MAXSIZE, getHeightString()); showControl( AP_RID_DIALOG_COLUMN_CHECK_RTL_ORDER, SW_NORMAL ); checkButton(AP_RID_DIALOG_COLUMN_CHECK_RTL_ORDER, getColumnOrder()!=false); // Create a preview window. HWND hwndChild = GetDlgItem(hWnd, AP_RID_DIALOG_COLUMN_PREVIEW); m_pPreviewWidget = new XAP_Win32PreviewWidget(static_cast<XAP_Win32App *>(m_pApp), hwndChild, 0); UT_uint32 w,h; m_pPreviewWidget->getWindowSize(&w,&h); //m_pPreviewWidget->init3dColors(m_wpreviewArea->style); m_pPreviewWidget->getGraphics()->init3dColors(); _createPreviewFromGC(m_pPreviewWidget->getGraphics(), w, h); m_pPreviewWidget->setPreview(m_pColumnsPreview); centerDialog(); return 1; // 1 == we did not call SetFocus() }
void QueryFilterDriver(HWND m_hWnd,ULONG ID,CMyList *m_list) { DWORD dwReadByte; int i =0; int ItemNum = m_list->GetItemCount(); SHFILEINFO shfileinfo; DriverImg.Create(16,16, ILC_COLOR32, 2, 100); HIMAGELIST hImageList = NULL; SetDlgItemTextW(m_hWnd,ID,L"正在扫描过滤驱动,请稍后..."); if (KernelFilterDriver) { VirtualFree(KernelFilterDriver,(sizeof(KERNEL_FILTERDRIVER)+sizeof(KERNEL_FILTERDRIVER_INFO))*1025,MEM_RESERVE | MEM_COMMIT); KernelFilterDriver = 0; } KernelFilterDriver = (PKERNEL_FILTERDRIVER)VirtualAlloc(0,(sizeof(KERNEL_FILTERDRIVER)+sizeof(KERNEL_FILTERDRIVER_INFO))*1025,MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE); if (KernelFilterDriver) { memset(KernelFilterDriver,0,(sizeof(KERNEL_FILTERDRIVER)+sizeof(KERNEL_FILTERDRIVER_INFO))*1025); ReadFile((HANDLE)LIST_KERNEL_FILTER_DRIVER,KernelFilterDriver,(sizeof(KERNEL_FILTERDRIVER)+sizeof(KERNEL_FILTERDRIVER_INFO))*1025,&dwReadByte,0); for (i=0;i< KernelFilterDriver->ulCount;i++) { WCHAR lpwzTextOut[100]; memset(lpwzTextOut,0,sizeof(lpwzTextOut)); wsprintfW(lpwzTextOut,L"共有 %d 个数据,正在扫描第 %d 个,请稍后...",KernelFilterDriver->ulCount,i); SetDlgItemTextW(m_hWnd,ID,lpwzTextOut); WCHAR lpwzObjType[256]; WCHAR lpwzAttachDevice[256]; WCHAR lpwzFileName[256]; WCHAR lpwzFilePath[256]; //宿主 WCHAR lpwzHostFileName[256]; memset(lpwzObjType,0,sizeof(lpwzObjType)); memset(lpwzAttachDevice,0,sizeof(lpwzAttachDevice)); memset(lpwzFileName,0,sizeof(lpwzFileName)); memset(lpwzFilePath,0,sizeof(lpwzFilePath)); memset(lpwzHostFileName,0,sizeof(lpwzHostFileName)); if (wcsstr(KernelFilterDriver->KernelFilterDriverInfo[i].HostFileName,L"\\FileSystem\\") != NULL) { wcscat(lpwzObjType,L"File"); } if (wcsstr(KernelFilterDriver->KernelFilterDriverInfo[i].HostFileName,L"\\Driver\\") != NULL) { wcsncat(lpwzObjType,KernelFilterDriver->KernelFilterDriverInfo[i].HostFileName+wcslen(L"\\Driver\\"),wcslen(KernelFilterDriver->KernelFilterDriverInfo[i].HostFileName)-wcslen(L"\\Driver\\")); } wsprintfW(lpwzAttachDevice,L"0x%X",KernelFilterDriver->KernelFilterDriverInfo[i].ulAttachDevice); wsprintfW(lpwzFileName,L"%ws",KernelFilterDriver->KernelFilterDriverInfo[i].FileName); wsprintfW(lpwzFilePath,L"%ws",KernelFilterDriver->KernelFilterDriverInfo[i].FilePath); wsprintfW(lpwzHostFileName,L"%ws",KernelFilterDriver->KernelFilterDriverInfo[i].HostFileName); WCHAR lpwzDosFullPath[256]; WCHAR lpwzWinDir[256]; WCHAR lpwzSysDisk[256]; memset(lpwzWinDir,0,sizeof(lpwzWinDir)); memset(lpwzSysDisk,0,sizeof(lpwzSysDisk)); memset(lpwzDosFullPath,0,sizeof(lpwzDosFullPath)); GetWindowsDirectoryW(lpwzWinDir,sizeof(lpwzWinDir)); memcpy(lpwzSysDisk,lpwzWinDir,4); if (wcsstr(lpwzFilePath,L"\\??\\")) { //开始这种路径的处理 memset(lpwzDosFullPath,0,sizeof(lpwzDosFullPath)); wcsncpy(lpwzDosFullPath,lpwzFilePath+wcslen(L"\\??\\"),wcslen(lpwzFilePath)-wcslen(L"\\??\\")); goto Next; } if (wcsstr(lpwzFilePath,L"\\WINDOWS\\system32\\")) { memset(lpwzDosFullPath,0,sizeof(lpwzDosFullPath)); wcscat(lpwzDosFullPath,lpwzSysDisk); wcscat(lpwzDosFullPath,lpwzFilePath); //MessageBoxW(lpwzDosFullPath,lpwzFullSysName,0); goto Next; } if (wcsstr(lpwzFilePath,L"\\SystemRoot\\")) { WCHAR lpwzTemp[256]; memset(lpwzTemp,0,sizeof(lpwzTemp)); memset(lpwzDosFullPath,0,sizeof(lpwzDosFullPath)); wcscat(lpwzTemp,lpwzSysDisk); wcscat(lpwzTemp,L"\\WINDOWS\\"); wcscat(lpwzDosFullPath,lpwzTemp); wcsncpy(lpwzDosFullPath+wcslen(lpwzTemp),lpwzFilePath+wcslen(L"\\SystemRoot\\"),wcslen(lpwzFilePath) - wcslen(L"\\SystemRoot\\")); goto Next; } //if (wcslen(lpwzHookModuleImage) == wcslen(lpwzHookModuleImage)) //{ memset(lpwzDosFullPath,0,sizeof(lpwzDosFullPath)); wcscat(lpwzDosFullPath,lpwzSysDisk); wcscat(lpwzDosFullPath,L"\\WINDOWS\\system32\\drivers\\"); wcscat(lpwzDosFullPath,lpwzFilePath); goto Next; //} Next: m_list->InsertItem(i,lpwzObjType,RGB(77,77,77)); m_list->SetItemText(i,1,lpwzFileName); m_list->SetItemText(i,2,lpwzAttachDevice); m_list->SetItemText(i,3,lpwzHostFileName); m_list->SetItemText(i,4,lpwzDosFullPath); hImageList=(HIMAGELIST)::SHGetFileInfo(lpwzDosFullPath,0,&shfileinfo,sizeof(shfileinfo),SHGFI_ICON); DriverImg.Add(shfileinfo.hIcon); m_list->SetImageList(&DriverImg); m_list->SetItemImageId(i,i); DestroyIcon(shfileinfo.hIcon); } }else{ WCHAR lpwzTextOut[100]; memset(lpwzTextOut,0,sizeof(lpwzTextOut)); wsprintfW(lpwzTextOut,L"申请内存错误, 请重新运行A盾\r\n错误代码:%d\n",GetLastError()); MessageBox(0,lpwzTextOut,0,0); } WCHAR lpwzTextOut[100]; memset(lpwzTextOut,0,sizeof(lpwzTextOut)); wsprintfW(lpwzTextOut,L"过滤驱动扫描完毕,共有 %d 个数据",i); SetDlgItemTextW(m_hWnd,ID,lpwzTextOut); }
static BOOL Login_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam) { wchar_t szBuffer[256], szTemp[128]; g_hLoginDialog = hwnd; DisableInput(true); GetPNotesMessage(L"invalid_pwrd", L"Incorrect password", m_InvalidPassword); GetPNotesMessage(L"invalid_old_pwrd", L"Incorrect old password", m_InvalidOldPassword); GetPNotesMessage(L"both_pwrd", L"Both password strings should be identical. Please, check the spelling.", m_BothPasswords); switch(m_DlgId){ case DLG_LOGIN_MAIN:{ GetPrivateProfileStringW(S_LOGIN_CAPTIONS, IK_ENTER_PWRD, L"Enter password", szBuffer, 256, g_NotePaths.CurrLanguagePath); SetDlgItemTextW(hwnd, IDC_ST_PWRD_MAIN, szBuffer); GetPrivateProfileStringW(L"captions", L"enter_pwrd", L"Enter Password", szBuffer, 256, g_NotePaths.CurrLanguagePath); if(m_LoginType == LDT_NOTE){ PMEMNOTE pNote = (PMEMNOTE)m_pParam; GetPrivateProfileStringW(L"captions", L"note", L"note", szTemp, 128, g_NotePaths.CurrLanguagePath); wcscat(szBuffer, L" ["); wcscat(szBuffer, szTemp); wcscat(szBuffer, L" '"); wcscat(szBuffer, pNote->pData->szName); wcscat(szBuffer, L"']"); } else if(m_LoginType == LDT_GROUP){ LPPNGROUP pGroup = (LPPNGROUP)m_pParam; GetPrivateProfileStringW(L"captions", L"group", L"group", szTemp, 128, g_NotePaths.CurrLanguagePath); wcscat(szBuffer, L" ["); wcscat(szBuffer, szTemp); wcscat(szBuffer, L" '"); wcscat(szBuffer, pGroup->szName); wcscat(szBuffer, L"']"); } else if(m_LoginType == LDT_DIARY){ GetPrivateProfileStringW(L"captions", L"group", L"group", szTemp, 128, g_NotePaths.CurrLanguagePath); wcscat(szBuffer, L" ["); wcscat(szBuffer, szTemp); wcscat(szBuffer, L" '"); GetPrivateProfileStringW(L"left_panel", L"209", L"Diary", szTemp, 128, g_NotePaths.CurrLanguagePath); wcscat(szBuffer, szTemp); wcscat(szBuffer, L"']"); } break; } case DLG_LOGIN_CREATE: GetPrivateProfileStringW(S_LOGIN_CAPTIONS, IK_ENTER_PWRD, L"Enter password", szBuffer, 256, g_NotePaths.CurrLanguagePath); SetDlgItemTextW(hwnd, IDC_ST_PWRD_MAIN, szBuffer); GetPrivateProfileStringW(S_LOGIN_CAPTIONS, IK_CONF_PWRD, L"Confirm password", szBuffer, 256, g_NotePaths.CurrLanguagePath); SetDlgItemTextW(hwnd, IDC_ST_PWRD_SECOND, szBuffer); GetPrivateProfileStringW(L"captions", L"create_pwrd", L"Password Setting", szBuffer, 256, g_NotePaths.CurrLanguagePath); if(m_LoginType == LDT_NOTE){ PMEMNOTE pNote = (PMEMNOTE)m_pParam; GetPrivateProfileStringW(L"captions", L"note", L"note", szTemp, 128, g_NotePaths.CurrLanguagePath); wcscat(szBuffer, L" ["); wcscat(szBuffer, szTemp); wcscat(szBuffer, L" '"); wcscat(szBuffer, pNote->pData->szName); wcscat(szBuffer, L"']"); } else if(m_LoginType == LDT_GROUP){ LPPNGROUP pGroup = (LPPNGROUP)m_pParam; GetPrivateProfileStringW(L"captions", L"group", L"group", szTemp, 128, g_NotePaths.CurrLanguagePath); wcscat(szBuffer, L" ["); wcscat(szBuffer, szTemp); wcscat(szBuffer, L" '"); wcscat(szBuffer, pGroup->szName); wcscat(szBuffer, L"']"); } else if(m_LoginType == LDT_DIARY){ GetPrivateProfileStringW(L"captions", L"group", L"group", szTemp, 128, g_NotePaths.CurrLanguagePath); wcscat(szBuffer, L" ["); wcscat(szBuffer, szTemp); wcscat(szBuffer, L" '"); GetPrivateProfileStringW(L"left_panel", L"209", L"Diary", szTemp, 128, g_NotePaths.CurrLanguagePath); wcscat(szBuffer, szTemp); wcscat(szBuffer, L"']"); } break; case DLG_LOGIN_CHANGE: GetPrivateProfileStringW(S_LOGIN_CAPTIONS, IK_OLD_PWRD, L"Old password", szBuffer, 256, g_NotePaths.CurrLanguagePath); SetDlgItemTextW(hwnd, IDC_ST_PWRD_MAIN, szBuffer); GetPrivateProfileStringW(S_LOGIN_CAPTIONS, IK_NEW_PWRD, L"New password", szBuffer, 256, g_NotePaths.CurrLanguagePath); SetDlgItemTextW(hwnd, IDC_ST_PWRD_NEW, szBuffer); GetPrivateProfileStringW(S_LOGIN_CAPTIONS, IK_CONF_PWRD, L"Confirm password", szBuffer, 256, g_NotePaths.CurrLanguagePath); SetDlgItemTextW(hwnd, IDC_ST_PWRD_SECOND, szBuffer); GetPrivateProfileStringW(L"captions", L"change_pwrd", L"Password Changing", szBuffer, 256, g_NotePaths.CurrLanguagePath); break; default: break; } SetWindowTextW(hwnd, szBuffer); SetDlgCtlText(hwnd, IDOK, g_NotePaths.CurrLanguagePath, DS_OK); SetDlgCtlText(hwnd, IDCANCEL, g_NotePaths.CurrLanguagePath, DS_CANCEL); // SetForegroundWindow(hwnd); SetFocus(GetDlgItem(hwnd, IDC_EDT_PWRD_MAIN)); return FALSE; }
VOID DisplayEvent(HWND hDlg) { WCHAR szEventType[MAX_PATH]; WCHAR szTime[MAX_PATH]; WCHAR szDate[MAX_PATH]; WCHAR szUser[MAX_PATH]; WCHAR szComputer[MAX_PATH]; WCHAR szSource[MAX_PATH]; WCHAR szCategory[MAX_PATH]; WCHAR szEventID[MAX_PATH]; WCHAR szEventText[EVENT_MESSAGE_EVENTTEXT_BUFFER]; WCHAR szEventData[MAX_PATH]; BOOL bEventData = FALSE; LVITEMW li; EVENTLOGRECORD* pevlr; int iIndex; // Get index of selected item iIndex = (int)SendMessage (hwndListView, LVM_GETNEXTITEM, -1, LVNI_SELECTED | LVNI_FOCUSED); li.mask = LVIF_PARAM; li.iItem = iIndex; li.iSubItem = 0; (void)ListView_GetItem(hwndListView, &li); pevlr = (EVENTLOGRECORD*)li.lParam; if (iIndex != -1) { ListView_GetItemText(hwndListView, iIndex, 0, szEventType, sizeof(szEventType) / sizeof(WCHAR)); ListView_GetItemText(hwndListView, iIndex, 1, szDate, sizeof(szDate) / sizeof(WCHAR)); ListView_GetItemText(hwndListView, iIndex, 2, szTime, sizeof(szTime) / sizeof(WCHAR)); ListView_GetItemText(hwndListView, iIndex, 3, szSource, sizeof(szSource) / sizeof(WCHAR)); ListView_GetItemText(hwndListView, iIndex, 4, szCategory, sizeof(szCategory) / sizeof(WCHAR)); ListView_GetItemText(hwndListView, iIndex, 5, szEventID, sizeof(szEventID) / sizeof(WCHAR)); ListView_GetItemText(hwndListView, iIndex, 6, szUser, sizeof(szUser) / sizeof(WCHAR)); ListView_GetItemText(hwndListView, iIndex, 7, szComputer, sizeof(szComputer) / sizeof(WCHAR)); bEventData = !(pevlr->DataLength == 0); if (pevlr->DataLength > 0) { MultiByteToWideChar(CP_ACP, 0, (LPCSTR)((LPBYTE)pevlr + pevlr->DataOffset), pevlr->DataLength, szEventData, MAX_PATH); } GetEventMessage(lpSourceLogName, szSource, pevlr, szEventText); EnableWindow(GetDlgItem(hDlg, IDC_BYTESRADIO), bEventData); EnableWindow(GetDlgItem(hDlg, IDC_WORDRADIO), bEventData); SetDlgItemTextW(hDlg, IDC_EVENTDATESTATIC, szDate); SetDlgItemTextW(hDlg, IDC_EVENTTIMESTATIC, szTime); SetDlgItemTextW(hDlg, IDC_EVENTUSERSTATIC, szUser); SetDlgItemTextW(hDlg, IDC_EVENTSOURCESTATIC, szSource); SetDlgItemTextW(hDlg, IDC_EVENTCOMPUTERSTATIC, szComputer); SetDlgItemTextW(hDlg, IDC_EVENTCATEGORYSTATIC, szCategory); SetDlgItemTextW(hDlg, IDC_EVENTIDSTATIC, szEventID); SetDlgItemTextW(hDlg, IDC_EVENTTYPESTATIC, szEventType); SetDlgItemTextW(hDlg, IDC_EVENTTEXTEDIT, szEventText); SetDlgItemTextW(hDlg, IDC_EVENTDATAEDIT, szEventData); } else { MessageBoxW(NULL, L"No Items in ListView", L"Error", MB_OK | MB_ICONINFORMATION); } }
VOID CDrvDefExt::InitGeneralPage(HWND hwndDlg) { WCHAR wszVolumeName[MAX_PATH+1] = {0}; WCHAR wszFileSystem[MAX_PATH+1] = {0}; WCHAR wszBuf[128]; BOOL bRet; bRet = GetVolumeInformationW(m_wszDrive, wszVolumeName, _countof(wszVolumeName), NULL, NULL, NULL, wszFileSystem, _countof(wszFileSystem)); if (bRet) { /* Set volume label and filesystem */ SetDlgItemTextW(hwndDlg, 14000, wszVolumeName); SetDlgItemTextW(hwndDlg, 14002, wszFileSystem); } /* Set drive type and icon */ UINT DriveType = GetDriveTypeW(m_wszDrive); UINT IconId, TypeStrId = 0; switch (DriveType) { case DRIVE_CDROM: IconId = IDI_SHELL_CDROM; TypeStrId = IDS_DRIVE_CDROM; break; case DRIVE_REMOVABLE: IconId = IDI_SHELL_FLOPPY; break; case DRIVE_RAMDISK: IconId = IDI_SHELL_RAMDISK; break; default: IconId = IDI_SHELL_DRIVE; TypeStrId = IDS_DRIVE_FIXED; } HICON hIcon = (HICON)LoadImage(shell32_hInstance, MAKEINTRESOURCE(IconId), IMAGE_ICON, 32, 32, LR_SHARED); if (hIcon) SendDlgItemMessageW(hwndDlg, 14016, STM_SETICON, (WPARAM)hIcon, 0); if (TypeStrId && LoadStringW(shell32_hInstance, TypeStrId, wszBuf, _countof(wszBuf))) SetDlgItemTextW(hwndDlg, 14001, wszBuf); ULARGE_INTEGER FreeBytesAvailable, TotalNumberOfBytes; if(GetDiskFreeSpaceExW(m_wszDrive, &FreeBytesAvailable, &TotalNumberOfBytes, NULL)) { /* Init free space percentage used for drawing piechart */ m_FreeSpacePerc = (UINT)(FreeBytesAvailable.QuadPart * 100ull / TotalNumberOfBytes.QuadPart); /* Used space */ if (SH_FormatByteSize(TotalNumberOfBytes.QuadPart - FreeBytesAvailable.QuadPart, wszBuf, _countof(wszBuf))) SetDlgItemTextW(hwndDlg, 14003, wszBuf); if (StrFormatByteSizeW(TotalNumberOfBytes.QuadPart - FreeBytesAvailable.QuadPart, wszBuf, _countof(wszBuf))) SetDlgItemTextW(hwndDlg, 14004, wszBuf); /* Free space */ if (SH_FormatByteSize(FreeBytesAvailable.QuadPart, wszBuf, _countof(wszBuf))) SetDlgItemTextW(hwndDlg, 14005, wszBuf); if (StrFormatByteSizeW(FreeBytesAvailable.QuadPart, wszBuf, _countof(wszBuf))) SetDlgItemTextW(hwndDlg, 14006, wszBuf); /* Total space */ if (SH_FormatByteSize(TotalNumberOfBytes.QuadPart, wszBuf, _countof(wszBuf))) SetDlgItemTextW(hwndDlg, 14007, wszBuf); if (StrFormatByteSizeW(TotalNumberOfBytes.QuadPart, wszBuf, _countof(wszBuf))) SetDlgItemTextW(hwndDlg, 14008, wszBuf); } /* Set drive description */ WCHAR wszFormat[50]; GetDlgItemTextW(hwndDlg, 14009, wszFormat, _countof(wszFormat)); swprintf(wszBuf, wszFormat, m_wszDrive[0]); SetDlgItemTextW(hwndDlg, 14009, wszBuf); }
// Setup instructions control void SetupInstructions( HINSTANCE hInstance, HWND hDlg, int ctrlID, int textID ) { WCHAR msg[10240]; // lplp HWND hWndTmp; SCROLLINFO scrollInfo; WNDPROC wpOrigEditProc; hWndTmp = GetDlgItem(hDlg, ctrlID); if (hWndTmp == NULL) { return; } // Assume scrollbar needed; it that way when the text is set and the // scrollbar's details read, they should be correct, bearing in mind the // scrollbar will take up space that would otherwise be used for text SDUSetWndStyle(hWndTmp, TRUE, WS_VSCROLL); SDUSetWndStyle(hWndTmp, TRUE, ES_MULTILINE); SDUSetWndStyle(hWndTmp, TRUE, ES_AUTOVSCROLL); SDUSetWndStyle(hWndTmp, TRUE, ES_WANTRETURN); // Set the dialog to the string passed in, translating as needed SetDlgItemString( G_hInstance, hDlg, ctrlID, textID ); // Retrieve instructions text, and replace 0x10 chars with 0x10, // 0x13 - required by EDIT (TEXTEDIT) controls GetDlgItemTextW( hDlg, ctrlID, msg, (sizeof(msg) / sizeof(*msg)) ); SDUStringReplaceW(msg, TEXT("\n"), TEXT("\r\n")); SetDlgItemTextW( hDlg, ctrlID, msg ); /* SDUSetWndStyle(hWndTmp, TRUE, WS_EX_STATICEDGE); //SDUSetWndStyle(hWndTmp, TRUE, WS_VSCROLL); scrollInfo.cbSize = sizeof(scrollInfo); scrollInfo.fMask = 0; // i.e. DO NOT SET SIF_DISABLENOSCROLL scrollInfo.fMask = SIF_DISABLENOSCROLL; SetScrollInfo(hWndTmp, SB_VERT, &scrollInfo, TRUE); */ SizeControlMaxWidthBorder( hDlg, ctrlID, FREEOTFE_DLG_BORDER ); SizeControlMaxDepth(hDlg, ctrlID); // Get all the vertial scroll bar information memset(&scrollInfo, 0, sizeof(scrollInfo)); scrollInfo.cbSize = sizeof(scrollInfo); scrollInfo.fMask = SIF_ALL; GetScrollInfo(hWndTmp, SB_VERT, &scrollInfo); // Save the position for comparison later on SizeControlMaxDepth(hDlg, ctrlID); SDUSetWndStyle(hWndTmp, (((UINT)scrollInfo.nMax) >= scrollInfo.nPage), WS_VSCROLL); // In case the scrollbar was turned on/off, SetWindowPos( hWndTmp, NULL, 0, 0, 0, 0, ( SWP_DRAWFRAME | SWP_FRAMECHANGED | SWP_NOZORDER | SWP_NOMOVE | SWP_NOSIZE ) ); // Make readonly by intercepting WM_CHAR // Don't set the *control* to be readonly, as that results in wrong colour // background wpOrigEditProc = (WNDPROC)GetWindowLong(hWndTmp, GWL_WNDPROC); if (wpOrigEditProc != ReadonlyEditControlProc) { (WNDPROC)SetWindowLong(hWndTmp, GWL_WNDPROC, (LONG)ReadonlyEditControlProc); SetWindowLong(hWndTmp, GWL_USERDATA, (LONG)wpOrigEditProc); //lplp - SetWindowLong is WINDOWS MOBILE 5 AND LATER ONLY - NOT WM2003? } }
void QueryDpcTimer(HWND m_hWnd,ULONG ID,CMyList *m_list) { DWORD dwReadByte; int i=0; int ItemNum = m_list->GetItemCount(); SHFILEINFO shfileinfo; DpcTimerImg.Create(16,16, ILC_COLOR32, 2, 80); HIMAGELIST hImageList = NULL; SetDlgItemTextW(m_hWnd,ID,L"正在扫描DpcTimer,请稍后..."); if (DpcTimer) { VirtualFree(DpcTimer,sizeof(MyDpcTimer)*MAX_DPCTIMER_COUNT*2,MEM_RESERVE | MEM_COMMIT); DpcTimer = 0; } DpcTimer = (PMyDpcTimer)VirtualAlloc(0,sizeof(MyDpcTimer)*MAX_DPCTIMER_COUNT*2,MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE); if (DpcTimer) { memset(DpcTimer,0,sizeof(MyDpcTimer)*MAX_DPCTIMER_COUNT*2); ReadFile((HANDLE)LIST_DPC_TIMER,DpcTimer,sizeof(MyDpcTimer)*MAX_DPCTIMER_COUNT*2,&dwReadByte,0); for (i=0;i< (int)DpcTimer->ulCount;i++) { WCHAR lpwzTextOut[100]; memset(lpwzTextOut,0,sizeof(lpwzTextOut)); wsprintfW(lpwzTextOut,L"共有 %d 个数据,正在扫描第 %d 个,请稍后...",DpcTimer->ulCount,i); SetDlgItemTextW(m_hWnd,ID,lpwzTextOut); WCHAR lpwzKTimer[256] = {0}; WCHAR lpwzKDpc[256] = {0}; WCHAR lpwzPeriod[256] = {0}; WCHAR lpwzDpcRoutineAddress[256] = {0}; WCHAR lpwzFullSysName[256] = {0}; memset(lpwzKTimer,0,sizeof(lpwzKTimer)); memset(lpwzKDpc,0,sizeof(lpwzKDpc)); memset(lpwzPeriod,0,sizeof(lpwzPeriod)); memset(lpwzDpcRoutineAddress,0,sizeof(lpwzDpcRoutineAddress)); memset(lpwzFullSysName,0,sizeof(lpwzFullSysName)); MultiByteToWideChar( CP_ACP, 0, DpcTimer->MyTimer[i].lpszModule, -1, lpwzFullSysName, strlen(DpcTimer->MyTimer[i].lpszModule) ); //******************************************************************** WCHAR lpwzDosFullPath[256]; WCHAR lpwzWinDir[256]; WCHAR lpwzSysDisk[256]; memset(lpwzWinDir,0,sizeof(lpwzWinDir)); memset(lpwzSysDisk,0,sizeof(lpwzSysDisk)); memset(lpwzDosFullPath,0,sizeof(lpwzDosFullPath)); GetWindowsDirectoryW(lpwzWinDir,sizeof(lpwzWinDir)); memcpy(lpwzSysDisk,lpwzWinDir,4); if (wcsstr(lpwzFullSysName,L"\\??\\")) { //开始这种路径的处理 memset(lpwzDosFullPath,0,sizeof(lpwzDosFullPath)); wcsncpy(lpwzDosFullPath,lpwzFullSysName+wcslen(L"\\??\\"),wcslen(lpwzFullSysName)-wcslen(L"\\??\\")); goto Next; } if (wcsstr(lpwzFullSysName,L"\\WINDOWS\\system32\\")) { memset(lpwzDosFullPath,0,sizeof(lpwzDosFullPath)); wcscat(lpwzDosFullPath,lpwzSysDisk); wcscat(lpwzDosFullPath,lpwzFullSysName); //MessageBoxW(lpwzDosFullPath,lpwzFullSysName,0); goto Next; } if (wcsstr(lpwzFullSysName,L"\\SystemRoot\\")) { WCHAR lpwzTemp[256]; memset(lpwzTemp,0,sizeof(lpwzTemp)); memset(lpwzDosFullPath,0,sizeof(lpwzDosFullPath)); wcscat(lpwzTemp,lpwzSysDisk); wcscat(lpwzTemp,L"\\WINDOWS\\"); wcscat(lpwzDosFullPath,lpwzTemp); wcsncpy(lpwzDosFullPath+wcslen(lpwzTemp),lpwzFullSysName+wcslen(L"\\SystemRoot\\"),wcslen(lpwzFullSysName) - wcslen(L"\\SystemRoot\\")); goto Next; } if (!wcsstr(lpwzFullSysName,L"\\")) { memset(lpwzDosFullPath,0,sizeof(lpwzDosFullPath)); wcscat(lpwzDosFullPath,lpwzSysDisk); wcscat(lpwzDosFullPath,L"\\WINDOWS\\system32\\drivers\\"); wcscat(lpwzDosFullPath,lpwzFullSysName); goto Next; } Next: //******************************************************************** wsprintfW(lpwzKTimer,L"0x%08X",DpcTimer->MyTimer[i].TimerAddress); wsprintfW(lpwzKDpc,L"0x%08X",DpcTimer->MyTimer[i].DpcAddress); wsprintfW(lpwzPeriod,L"%d",DpcTimer->MyTimer[i].Period); wsprintfW(lpwzDpcRoutineAddress,L"0x%08X",DpcTimer->MyTimer[i].DpcRoutineAddress); if (_wcsnicmp(lpwzDosFullPath,L"Unknown",wcslen(lpwzDosFullPath)) == 0) { m_list->InsertItem(i,lpwzKTimer,RGB(255,20,147)); }else { m_list->InsertItem(i,lpwzKTimer,RGB(77,77,77)); } m_list->SetItemText(i,1,lpwzKDpc); m_list->SetItemText(i,2,lpwzPeriod); m_list->SetItemText(i,3,lpwzDpcRoutineAddress); m_list->SetItemText(i,4,lpwzDosFullPath); hImageList=(HIMAGELIST)::SHGetFileInfo(lpwzDosFullPath,0,&shfileinfo,sizeof(shfileinfo),SHGFI_ICON); DpcTimerImg.Add(shfileinfo.hIcon); m_list->SetImageList(&DpcTimerImg); m_list->SetItemImageId(i,i); DestroyIcon(shfileinfo.hIcon); } }else{ WCHAR lpwzTextOut[100]; memset(lpwzTextOut,0,sizeof(lpwzTextOut)); wsprintfW(lpwzTextOut,L"申请内存错误, 请重新运行A盾\r\n错误代码:%d\n",GetLastError()); MessageBox(0,lpwzTextOut,0,0); } WCHAR lpwzTextOut[100]; memset(lpwzTextOut,0,sizeof(lpwzTextOut)); wsprintfW(lpwzTextOut,L"DpcTimer扫描完毕,共有 %d 个数据",i); SetDlgItemTextW(m_hWnd,ID,lpwzTextOut); }
INT CALLBACK dloginfoproc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { char buf[256]; pdf_xref *xref = gapp.xref; fz_obj *info, *obj; switch(message) { case WM_INITDIALOG: SetDlgItemTextW(hwnd, 0x10, wbuf); if (!xref) { SetDlgItemTextA(hwnd, 0x11, "XPS"); SetDlgItemTextA(hwnd, 0x12, "None"); SetDlgItemTextA(hwnd, 0x13, "n/a"); return TRUE; } sprintf(buf, "PDF %d.%d", xref->version / 10, xref->version % 10); SetDlgItemTextA(hwnd, 0x11, buf); if (xref->crypt) { sprintf(buf, "Standard V%d %d-bit %s", pdf_get_crypt_revision(xref), pdf_get_crypt_length(xref), pdf_get_crypt_method(xref)); SetDlgItemTextA(hwnd, 0x12, buf); strcpy(buf, ""); if (pdf_has_permission(xref, PDF_PERM_PRINT)) strcat(buf, "print, "); if (pdf_has_permission(xref, PDF_PERM_CHANGE)) strcat(buf, "modify, "); if (pdf_has_permission(xref, PDF_PERM_COPY)) strcat(buf, "copy, "); if (pdf_has_permission(xref, PDF_PERM_NOTES)) strcat(buf, "annotate, "); if (strlen(buf) > 2) buf[strlen(buf)-2] = 0; else strcpy(buf, "none"); SetDlgItemTextA(hwnd, 0x13, buf); } else { SetDlgItemTextA(hwnd, 0x12, "None"); SetDlgItemTextA(hwnd, 0x13, "n/a"); } info = fz_dict_gets(xref->trailer, "Info"); if (!info) return TRUE; #define SETUCS(ID) \ { \ unsigned short *ucs; \ ucs = pdf_to_ucs2(obj); \ SetDlgItemTextW(hwnd, ID, ucs); \ fz_free(ucs); \ } if ((obj = fz_dict_gets(info, "Title"))) SETUCS(0x20); if ((obj = fz_dict_gets(info, "Author"))) SETUCS(0x21); if ((obj = fz_dict_gets(info, "Subject"))) SETUCS(0x22); if ((obj = fz_dict_gets(info, "Keywords"))) SETUCS(0x23); if ((obj = fz_dict_gets(info, "Creator"))) SETUCS(0x24); if ((obj = fz_dict_gets(info, "Producer"))) SETUCS(0x25); if ((obj = fz_dict_gets(info, "CreationDate"))) SETUCS(0x26); if ((obj = fz_dict_gets(info, "ModDate"))) SETUCS(0x27); return TRUE; case WM_COMMAND: EndDialog(hwnd, 1); return TRUE; } return FALSE; }
BOOL plExportDlgImp::DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam) { switch (msg) { case WM_INITDIALOG: IInitDlg(hDlg); return TRUE; case WM_COMMAND: { int cmd = HIWORD(wParam); int resID = LOWORD(wParam); if (cmd == BN_CLICKED) { if (resID == IDCANCEL) { IDestroy(); return TRUE; } else if (resID == IDC_EXPORT) { IDoExport(); return TRUE; } else if (resID == IDC_PRESHADE_CHECK) { fPreshade = (IsDlgButtonChecked(hDlg, IDC_PRESHADE_CHECK) == BST_CHECKED); return TRUE; } else if (resID == IDC_PHYSICAL_CHECK) { fPhysicalsOnly = (IsDlgButtonChecked(hDlg, IDC_PHYSICAL_CHECK) == BST_CHECKED); return TRUE; } else if (resID == IDC_LIGHTMAP_CHECK) { fLightMap = (IsDlgButtonChecked(hDlg, IDC_LIGHTMAP_CHECK) == BST_CHECKED); return TRUE; } else if (resID == IDC_DIR) { // Get a new client path plFileName path = plMaxConfig::GetClientPath(true); if (path.IsValid()) SetDlgItemText(hDlg, IDC_CLIENT_PATH, path.AsString().c_str()); return TRUE; } else if (resID == IDC_RADIO_FILE || resID == IDC_RADIO_DIR) { IGetRadio(hDlg); return TRUE; } else if (resID == IDC_BROWSE_EXPORT) { fExportSourceDir = plBrowseFolder::GetFolder(fExportSourceDir, "Choose the source directory", hDlg); SetDlgItemTextW(hDlg, IDC_EXPORT_PATH, fExportSourceDir.AsString().ToWchar()); return TRUE; } } else if (cmd == CBN_SELCHANGE && resID == IDC_PAGE_COMBO) { int sel = ComboBox_GetCurSel((HWND)lParam); // If the user selected a page, save it if (sel != 0 && sel != CB_ERR) ComboBox_GetText((HWND)lParam, fExportPage, sizeof(fExportPage)); // Else, clear it (export all pages) else fExportPage[0] = '\0'; return TRUE; } } break; } return FALSE; }
static BOOL GUIDisplayStatusMessage( IN PGINA_CONTEXT pgContext, IN HDESK hDesktop, IN DWORD dwOptions, IN PWSTR pTitle, IN PWSTR pMessage) { PDISPLAYSTATUSMSG msg; HANDLE Thread; DWORD ThreadId; TRACE("GUIDisplayStatusMessage(%ws)\n", pMessage); if (!pgContext->hStatusWindow) { /* * If everything goes correctly, 'msg' is freed * by the 'StartupWindowThread' thread. */ msg = (PDISPLAYSTATUSMSG)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(DISPLAYSTATUSMSG)); if(!msg) return FALSE; msg->Context = pgContext; msg->dwOptions = dwOptions; msg->pTitle = pTitle; msg->pMessage = pMessage; msg->hDesktop = hDesktop; msg->StartupEvent = CreateEventW(NULL, TRUE, FALSE, NULL); if (!msg->StartupEvent) { HeapFree(GetProcessHeap(), 0, msg); return FALSE; } Thread = CreateThread(NULL, 0, StartupWindowThread, (PVOID)msg, 0, &ThreadId); if (Thread) { /* 'msg' will be freed by 'StartupWindowThread' */ CloseHandle(Thread); WaitForSingleObject(msg->StartupEvent, INFINITE); CloseHandle(msg->StartupEvent); return TRUE; } else { /* * The 'StartupWindowThread' thread couldn't be created, * so we need to free the allocated 'msg'. */ HeapFree(GetProcessHeap(), 0, msg); } return FALSE; } if (pTitle) SetWindowTextW(pgContext->hStatusWindow, pTitle); SetDlgItemTextW(pgContext->hStatusWindow, IDC_STATUSLABEL, pMessage); return TRUE; }
VOID CFileDefExt::InitOpensWithField(HWND hwndDlg) { WCHAR wszBuf[MAX_PATH] = L""; WCHAR wszPath[MAX_PATH] = L""; DWORD dwSize = sizeof(wszBuf); BOOL bUnknownApp = TRUE; LPCWSTR pwszExt = PathFindExtensionW(m_wszPath); if (RegGetValueW(HKEY_CLASSES_ROOT, pwszExt, L"", RRF_RT_REG_SZ, NULL, wszBuf, &dwSize) == ERROR_SUCCESS) { bUnknownApp = FALSE; StringCbCatW(wszBuf, sizeof(wszBuf), L"\\shell\\open\\command"); dwSize = sizeof(wszPath); if (RegGetValueW(HKEY_CLASSES_ROOT, wszBuf, L"", RRF_RT_REG_SZ, NULL, wszPath, &dwSize) == ERROR_SUCCESS) { /* Get path from command line */ ExpandEnvironmentStringsW(wszPath, wszBuf, _countof(wszBuf)); PathRemoveArgs(wszBuf); PathUnquoteSpacesW(wszBuf); PathSearchAndQualify(wszBuf, wszPath, _countof(wszPath)); HICON hIcon; if (ExtractIconExW(wszPath, 0, NULL, &hIcon, 1)) { HWND hIconCtrl = GetDlgItem(hwndDlg, 14025); HWND hDescrCtrl = GetDlgItem(hwndDlg, 14007); ShowWindow(hIconCtrl, SW_SHOW); RECT rcIcon, rcDescr; GetWindowRect(hIconCtrl, &rcIcon); if (rcIcon.left == rcIcon.right) ERR("Icon control has invalid width: %d-%d\n", rcIcon.left, rcIcon.right); MapWindowPoints(NULL, hwndDlg, (LPPOINT)&rcIcon, 2); GetWindowRect(hDescrCtrl, &rcDescr); MapWindowPoints(NULL, hwndDlg, (LPPOINT)&rcDescr, 2); INT cxOffset = rcIcon.right + 2 - rcDescr.left; SetWindowPos(hDescrCtrl, NULL, rcDescr.left + cxOffset, rcDescr.top, rcDescr.right - rcDescr.left - cxOffset, rcDescr.bottom - rcDescr.top, SWP_NOZORDER); SendMessageW(hIconCtrl, STM_SETICON, (WPARAM)hIcon, 0); } else ERR("Failed to extract icon\n"); if (PathFileExistsW(wszPath)) { /* Get file description */ CFileVersionInfo VerInfo; VerInfo.Load(wszPath); LPCWSTR pwszDescr = VerInfo.GetString(L"FileDescription"); if (pwszDescr) SetDlgItemTextW(hwndDlg, 14007, pwszDescr); else { /* File has no description - display filename */ LPWSTR pwszFilename = PathFindFileNameW(wszPath); PathRemoveExtension(pwszFilename); pwszFilename[0] = towupper(pwszFilename[0]); SetDlgItemTextW(hwndDlg, 14007, pwszFilename); } } else bUnknownApp = TRUE; } else WARN("RegGetValueW %ls failed\n", wszBuf); } else WARN("RegGetValueW %ls failed\n", pwszExt); if (bUnknownApp) { /* Unknown application */ LoadStringW(shell32_hInstance, IDS_UNKNOWN_APP, wszBuf, _countof(wszBuf)); SetDlgItemTextW(hwndDlg, 14007, wszBuf); } }
static INT_PTR CALLBACK UnlockWindowProc( IN HWND hwndDlg, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam) { PGINA_CONTEXT pgContext; INT result = WLX_SAS_ACTION_NONE; pgContext = (PGINA_CONTEXT)GetWindowLongPtr(hwndDlg, GWL_USERDATA); switch (uMsg) { case WM_INITDIALOG: pgContext = (PGINA_CONTEXT)lParam; SetWindowLongPtr(hwndDlg, GWL_USERDATA, (DWORD_PTR)pgContext); SetLockMessage(hwndDlg, IDC_LOCKMSG, pgContext); SetDlgItemTextW(hwndDlg, IDC_USERNAME, pgContext->UserName); SetFocus(GetDlgItem(hwndDlg, IDC_PASSWORD)); if (pgContext->bDisableCAD == TRUE) EnableWindow(GetDlgItem(hwndDlg, IDCANCEL), FALSE); pgContext->hBitmap = LoadImage(hDllInstance, MAKEINTRESOURCE(IDI_ROSLOGO), IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR); return TRUE; case WM_PAINT: { PAINTSTRUCT ps; HDC hdc; if (pgContext->hBitmap) { hdc = BeginPaint(hwndDlg, &ps); DrawStateW(hdc, NULL, NULL, (LPARAM)pgContext->hBitmap, (WPARAM)0, 0, 0, 0, 0, DST_BITMAP); EndPaint(hwndDlg, &ps); } return TRUE; } case WM_DESTROY: DeleteObject(pgContext->hBitmap); return TRUE; case WM_COMMAND: switch (LOWORD(wParam)) { case IDOK: if (DoUnlock(hwndDlg, pgContext, &result)) EndDialog(hwndDlg, result); return TRUE; case IDCANCEL: EndDialog(hwndDlg, WLX_SAS_ACTION_NONE); return TRUE; } break; } return FALSE; }
void BacnetRange::Timer2_handle() { int sel_value; CString temp_value; SetDlgItemTextW(IDC_STATIC_RANGE_UNITE_SHOW,_T("")); GetDlgItemTextW(IDC_EDIT_RANGE_SELECT,temp_value); sel_value = _wtoi(temp_value); if((bac_ranges_type == VARIABLE_RANGE_ANALOG_TYPE) || (initial_dialog == 1)) { if(sel_value <= 30) { bac_ranges_type = VARIABLE_RANGE_DIGITAL_TYPE; for (int i=IDC_RADIO1;i<=IDC_RADIO34;i++) { ((CButton *)GetDlgItem(i))->SetCheck(false); } if(sel_value<=11) { m_digital_select = sel_value; CRect c4; GetDlgItem(IDC_RADIO35 + m_digital_select)->GetWindowRect(c4); //获取控件的位置 ,饼调整位置; ScreenToClient(c4); m_rang_pic.SetWindowPos(NULL,c4.left - 40,c4.top - 4,0,0,SWP_NOZORDER|SWP_NOSIZE); m_rang_pic.Invalidate(TRUE); for (int i=IDC_RADIO35;i<=IDC_RADIO46;i++) { ((CButton *)GetDlgItem(i))->SetCheck(false); } for (int i=IDC_RADIO73;i<=IDC_RADIO80;i++) { ((CButton *)GetDlgItem(i))->SetCheck(false); } ((CButton *)GetDlgItem(IDC_RADIO35 + m_digital_select))->SetCheck(true); } else if((sel_value>11) && (sel_value <=22)) { m_digital_select = sel_value - 11; CRect c4; GetDlgItem(IDC_RADIO35 + m_digital_select)->GetWindowRect(c4); //获取控件的位置 ,饼调整位置; ScreenToClient(c4); m_rang_pic.SetWindowPos(NULL,c4.left - 40,c4.top - 4,0,0,SWP_NOZORDER|SWP_NOSIZE); m_rang_pic.Invalidate(TRUE); for (int i=IDC_RADIO35;i<=IDC_RADIO46;i++) { ((CButton *)GetDlgItem(i))->SetCheck(false); } for (int i=IDC_RADIO73;i<=IDC_RADIO80;i++) { ((CButton *)GetDlgItem(i))->SetCheck(false); } ((CButton *)GetDlgItem(IDC_RADIO35 + m_digital_select))->SetCheck(true); } else { m_digital_select = sel_value - 11; CRect c4; GetDlgItem(IDC_RADIO73 + sel_value - 23 )->GetWindowRect(c4); //获取控件的位置 ,饼调整位置; ScreenToClient(c4); m_rang_pic.SetWindowPos(NULL,c4.left - 40,c4.top - 4,0,0,SWP_NOZORDER|SWP_NOSIZE); m_rang_pic.Invalidate(TRUE); for (int i=IDC_RADIO35;i<=IDC_RADIO46;i++) { ((CButton *)GetDlgItem(i))->SetCheck(false); } for (int i=IDC_RADIO73;i<=IDC_RADIO80;i++) { ((CButton *)GetDlgItem(i))->SetCheck(false); } ((CButton *)GetDlgItem(IDC_RADIO73 + sel_value - 23))->SetCheck(true); } } else if(sel_value <= 63) { bac_ranges_type = VARIABLE_RANGE_ANALOG_TYPE; for (int i=IDC_RADIO35;i<=IDC_RADIO46;i++) { ((CButton *)GetDlgItem(i))->SetCheck(false); } for (int i=IDC_RADIO73;i<=IDC_RADIO80;i++) { ((CButton *)GetDlgItem(i))->SetCheck(false); } m_analog_select = sel_value - 30 ; CRect c4; GetDlgItem(IDC_RADIO1 + m_analog_select )->GetWindowRect(c4); //获取控件的位置 ,饼调整位置; ScreenToClient(c4); m_rang_pic.SetWindowPos(NULL,c4.left - 40,c4.top - 4,0,0,SWP_NOZORDER|SWP_NOSIZE); m_rang_pic.Invalidate(TRUE); for (int i=IDC_RADIO1;i<=IDC_RADIO34;i++) { ((CButton *)GetDlgItem(i))->SetCheck(false); } ((CButton *)GetDlgItem(IDC_RADIO1 + m_analog_select))->SetCheck(true); } else { MessageBox(_T("Out of range")); SetDlgItemTextW(IDC_EDIT_RANGE_SELECT,_T("")); } } else if((bac_ranges_type == OUTPUT_RANGE_ANALOG_TYPE) || (initial_dialog == 3)) { if(sel_value <= 30) { bac_ranges_type = OUTPUT_RANGE_ANALOG_TYPE; for (int i=IDC_RADIO47;i<=IDC_RADIO53;i++) { ((CButton *)GetDlgItem(i))->SetCheck(false); } m_output_Analog_select = 0; if(sel_value<=11) { m_digital_select = sel_value; CRect c4; GetDlgItem(IDC_RADIO35 + m_digital_select)->GetWindowRect(c4); //获取控件的位置 ,饼调整位置; ScreenToClient(c4); m_rang_pic.SetWindowPos(NULL,c4.left - 40,c4.top - 4,0,0,SWP_NOZORDER|SWP_NOSIZE); m_rang_pic.Invalidate(TRUE); for (int i=IDC_RADIO35;i<=IDC_RADIO46;i++) { ((CButton *)GetDlgItem(i))->SetCheck(false); } for (int i=IDC_RADIO73;i<=IDC_RADIO80;i++) { ((CButton *)GetDlgItem(i))->SetCheck(false); } ((CButton *)GetDlgItem(IDC_RADIO35 + m_digital_select))->SetCheck(true); } else if((sel_value>11) && (sel_value <=22)) { m_digital_select = sel_value - 11; CRect c4; GetDlgItem(IDC_RADIO35 + m_digital_select)->GetWindowRect(c4); //获取控件的位置 ,饼调整位置; ScreenToClient(c4); m_rang_pic.SetWindowPos(NULL,c4.left - 40,c4.top - 4,0,0,SWP_NOZORDER|SWP_NOSIZE); m_rang_pic.Invalidate(TRUE); for (int i=IDC_RADIO35;i<=IDC_RADIO46;i++) { ((CButton *)GetDlgItem(i))->SetCheck(false); } for (int i=IDC_RADIO73;i<=IDC_RADIO80;i++) { ((CButton *)GetDlgItem(i))->SetCheck(false); } ((CButton *)GetDlgItem(IDC_RADIO35 + m_digital_select))->SetCheck(true); } else { m_digital_select = sel_value - 11; CRect c4; GetDlgItem(IDC_RADIO73 + sel_value - 23 )->GetWindowRect(c4); //获取控件的位置 ,饼调整位置; ScreenToClient(c4); m_rang_pic.SetWindowPos(NULL,c4.left - 40,c4.top - 4,0,0,SWP_NOZORDER|SWP_NOSIZE); m_rang_pic.Invalidate(TRUE); for (int i=IDC_RADIO35;i<=IDC_RADIO46;i++) { ((CButton *)GetDlgItem(i))->SetCheck(false); } for (int i=IDC_RADIO73;i<=IDC_RADIO80;i++) { ((CButton *)GetDlgItem(i))->SetCheck(false); } ((CButton *)GetDlgItem(IDC_RADIO73 + sel_value - 23))->SetCheck(true); } } else if(sel_value <= 36) { bac_ranges_type = OUTPUT_RANGE_ANALOG_TYPE; for (int i=IDC_RADIO35;i<=IDC_RADIO46;i++) { ((CButton *)GetDlgItem(i))->SetCheck(false); } for (int i=IDC_RADIO73;i<=IDC_RADIO80;i++) { ((CButton *)GetDlgItem(i))->SetCheck(false); } m_output_Analog_select = sel_value - 30 ; CRect c4; GetDlgItem(IDC_RADIO47 + m_output_Analog_select )->GetWindowRect(c4); //获取控件的位置 ,饼调整位置; ScreenToClient(c4); m_rang_pic.SetWindowPos(NULL,c4.left - 40,c4.top - 4,0,0,SWP_NOZORDER|SWP_NOSIZE); m_rang_pic.Invalidate(TRUE); for (int i=IDC_RADIO47;i<=IDC_RADIO53;i++) { ((CButton *)GetDlgItem(i))->SetCheck(false); } ((CButton *)GetDlgItem(IDC_RADIO47 + m_output_Analog_select))->SetCheck(true); } else { MessageBox(_T("Out of range")); SetDlgItemTextW(IDC_EDIT_RANGE_SELECT,_T("")); } } else if((bac_ranges_type == INPUT_RANGE_ANALOG_TYPE) || (initial_dialog == 2)) { if(sel_value <= 30) { bac_ranges_type = INPUT_RANGE_DIGITAL_TYPE; for (int i=IDC_RADIO54;i<=IDC_RADIO72;i++) { ((CButton *)GetDlgItem(i))->SetCheck(false); } ((CButton *)GetDlgItem(IDC_RADIO81))->SetCheck(false); m_input_Analog_select = 0; if(sel_value<=11) { m_digital_select = sel_value; CRect c4; GetDlgItem(IDC_RADIO35 + m_digital_select)->GetWindowRect(c4); //获取控件的位置 ,饼调整位置; ScreenToClient(c4); m_rang_pic.SetWindowPos(NULL,c4.left - 40,c4.top - 4,0,0,SWP_NOZORDER|SWP_NOSIZE); m_rang_pic.Invalidate(TRUE); for (int i=IDC_RADIO35;i<=IDC_RADIO46;i++) { ((CButton *)GetDlgItem(i))->SetCheck(false); } for (int i=IDC_RADIO73;i<=IDC_RADIO80;i++) { ((CButton *)GetDlgItem(i))->SetCheck(false); } ((CButton *)GetDlgItem(IDC_RADIO35 + m_digital_select))->SetCheck(true); } else if((sel_value>11) && (sel_value <=22)) { m_digital_select = sel_value - 11; CRect c4; GetDlgItem(IDC_RADIO35 + m_digital_select)->GetWindowRect(c4); //获取控件的位置 ,饼调整位置; ScreenToClient(c4); m_rang_pic.SetWindowPos(NULL,c4.left - 40,c4.top - 4,0,0,SWP_NOZORDER|SWP_NOSIZE); m_rang_pic.Invalidate(TRUE); for (int i=IDC_RADIO35;i<=IDC_RADIO46;i++) { ((CButton *)GetDlgItem(i))->SetCheck(false); } for (int i=IDC_RADIO73;i<=IDC_RADIO80;i++) { ((CButton *)GetDlgItem(i))->SetCheck(false); } ((CButton *)GetDlgItem(IDC_RADIO35 + m_digital_select))->SetCheck(true); } else { m_digital_select = sel_value - 11; CRect c4; GetDlgItem(IDC_RADIO73 + sel_value - 23 )->GetWindowRect(c4); //获取控件的位置 ,饼调整位置; ScreenToClient(c4); m_rang_pic.SetWindowPos(NULL,c4.left - 40,c4.top - 4,0,0,SWP_NOZORDER|SWP_NOSIZE); m_rang_pic.Invalidate(TRUE); for (int i=IDC_RADIO35;i<=IDC_RADIO46;i++) { ((CButton *)GetDlgItem(i))->SetCheck(false); } for (int i=IDC_RADIO73;i<=IDC_RADIO80;i++) { ((CButton *)GetDlgItem(i))->SetCheck(false); } ((CButton *)GetDlgItem(IDC_RADIO73 + sel_value - 23))->SetCheck(true); } } else if(sel_value <= 49) { bac_ranges_type = INPUT_RANGE_ANALOG_TYPE; for (int i=IDC_RADIO35;i<=IDC_RADIO46;i++) { ((CButton *)GetDlgItem(i))->SetCheck(false); } for (int i=IDC_RADIO73;i<=IDC_RADIO80;i++) { ((CButton *)GetDlgItem(i))->SetCheck(false); } m_input_Analog_select = sel_value - 30 ; if(sel_value == 49) { CRect c4; GetDlgItem(IDC_RADIO81)->GetWindowRect(c4); //获取控件的位置 ,饼调整位置; ScreenToClient(c4); m_rang_pic.SetWindowPos(NULL,c4.left - 40,c4.top - 4,0,0,SWP_NOZORDER|SWP_NOSIZE); m_rang_pic.Invalidate(TRUE); } else { CRect c4; GetDlgItem(IDC_RADIO54 + m_input_Analog_select )->GetWindowRect(c4); //获取控件的位置 ,饼调整位置; ScreenToClient(c4); m_rang_pic.SetWindowPos(NULL,c4.left - 40,c4.top - 4,0,0,SWP_NOZORDER|SWP_NOSIZE); m_rang_pic.Invalidate(TRUE); } for (int i=IDC_RADIO54;i<=IDC_RADIO72;i++) { ((CButton *)GetDlgItem(i))->SetCheck(false); } ((CButton *)GetDlgItem(IDC_RADIO81))->SetCheck(false); if(sel_value == 49) { ((CButton *)GetDlgItem(IDC_RADIO81))->SetCheck(true); } else { ((CButton *)GetDlgItem(IDC_RADIO54 + m_input_Analog_select))->SetCheck(true); } } else { MessageBox(_T("Out of range")); SetDlgItemTextW(IDC_EDIT_RANGE_SELECT,_T("")); } } }