void CSpiderAddPageDlg::OnOK() { fsWPDSettings *wpds = m_wpd->GetWDPS (); GetDlgItemText (IDC_URL, m_strUrl); if (FALSE == WriteAuthorization ()) return; BOOL bAddSlash; if (FALSE == IsOkUrl (m_strUrl, m_wpd->GetWDPS ()->strHTMLExts, &bAddSlash)) { WrongURL (); return; } if (bAddSlash) m_strUrl += '/'; CString strOutFolder; GetDlgItemText (IDC_OUTFOLDER, strOutFolder); if (FALSE == CCreateDownloadDlg::_CheckFolderName (this, IDC_OUTFOLDER)) return; fsPathToGoodPath ((LPSTR)(LPCSTR)strOutFolder); if (strOutFolder.GetLength () == 0) { MessageBox (LS (L_ENTERFLRNAME), LS (L_INPERR), MB_ICONEXCLAMATION); GetDlgItem (IDC_OUTFOLDER)->SetFocus (); return; } _LastFolders.AddRecord (strOutFolder); _LastUrlFiles.AddRecord (m_strUrl); if (strOutFolder [strOutFolder.GetLength () - 1] != '\\' && strOutFolder [strOutFolder.GetLength () - 1] != '/') strOutFolder += '\\'; if (_App.NewGrp_SelectWay () == NGSW_USE_ALWAYS_SAME_GROUP_WITH_OUTFOLDER_AUTO_UPDATE) { vmsDownloadsGroupSmartPtr pGrp = _DldsGrps.FindGroup (_App.NewDL_GroupId ()); if (pGrp != NULL) { pGrp->strOutFolder = strOutFolder; pGrp->setDirty(); } } wpds->pDLGroup = m_wndGroups.GetSelectedGroup (); wpds->strFolderSaveTo = strOutFolder; wpds->iDepth = GetDlgItemInt (IDC_DEPTH); wpds->dwFlags = 0; if (IsDlgButtonChecked (IDC_KEEP) == BST_CHECKED) wpds->dwFlags |= WPDF_KEEPFOLDERSTRUCTURE; if (IsDlgButtonChecked (IDC_DONTSTOREPAGES) == BST_CHECKED) { wpds->bDownloadStyles = FALSE; wpds->dwFlags |= WPDF_DONTSTOREPAGES; } if (IsDlgButtonChecked (IDC_DELCOMPLETED) == BST_CHECKED) wpds->dwFlags |= WPDF_DELCOMPLETEDDLDS; if (wpds->m_ppoOwner) wpds->m_ppoOwner->setDirty(); _App.Spider_Flags (wpds->dwFlags); m_wndGroups.RememberSelectedGroup (); _App.Last_Autostart (m_iAutostart); if (wpds->strUserName.GetLength () != 0) { fsURL url; url.Crack (m_strUrl); fsSiteInfo* site = CCreateDownloadDlg::_SavePassword (url.GetHostName (), fsSchemeToNP (url.GetInternetScheme ()), wpds->strUserName, wpds->strPassword); if (site) { site->pGroup = wpds->pDLGroup; _SitesMgr.setDirty(); _SitesMgr.SiteUpdated (site); } } _App.OnDlHasBeenCreatedByUser (); CDialog::OnOK(); }
void CSpiderAddPageDlg::OnSelchangeUrl() { CComboBox *pUrl = (CComboBox*) GetDlgItem (IDC_URL); pUrl->GetLBText (pUrl->GetCurSel (), m_strUrl); OnUrlChanged (); }
void ship_flags_dlg::DoDataExchange(CDataExchange* pDX) { int n; CString str; CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(ship_flags_dlg) DDX_Control(pDX, IDC_TOGGLE_SUBSYSTEM_SCANNING, m_toggle_subsystem_scanning); DDX_Control(pDX, IDC_REDALERTCARRY, m_red_alert_carry); DDX_Control(pDX, IDC_SCANNABLE, m_scannable); DDX_Control(pDX, IDC_REINFORCEMENT, m_reinforcement); DDX_Control(pDX, IDC_PROTECT_SHIP, m_protect_ship); DDX_Control(pDX, IDC_BEAM_PROTECT_SHIP, m_beam_protect_ship); DDX_Control(pDX, IDC_FLAK_PROTECT_SHIP, m_flak_protect_ship); DDX_Control(pDX, IDC_LASER_PROTECT_SHIP, m_laser_protect_ship); DDX_Control(pDX, IDC_MISSILE_PROTECT_SHIP, m_missile_protect_ship); DDX_Control(pDX, IDC_NO_DYNAMIC, m_no_dynamic); DDX_Control(pDX, IDC_NO_ARRIVAL_MUSIC, m_no_arrival_music); DDX_Control(pDX, IDC_KAMIKAZE, m_kamikaze); DDX_Control(pDX, IDC_INVULNERABLE, m_invulnerable); DDX_Control(pDX, IDC_TARGETABLE_AS_BOMB, m_targetable_as_bomb); DDX_Control(pDX, IDC_IMMOBILE, m_immobile); DDX_Control(pDX, IDC_IGNORE_COUNT, m_ignore_count); DDX_Control(pDX, IDC_HIDDEN_FROM_SENSORS, m_hidden); DDX_Control(pDX, IDC_PRIMITIVE_SENSORS, m_primitive_sensors); DDX_Control(pDX, IDC_NO_SUBSPACE_DRIVE, m_no_subspace_drive); DDX_Control(pDX, IDC_AFFECTED_BY_GRAVITY, m_affected_by_gravity); DDX_Control(pDX, IDC_ESCORT, m_escort); DDX_Control(pDX, IDC_DESTROY_CHECK, m_destroy); DDX_Control(pDX, IDC_CARGO_KNOWN, m_cargo_known); DDX_Control(pDX, IDC_SPECIAL_WARPIN, m_special_warpin); DDX_Control(pDX, IDC_DESTROY_SPIN, m_destroy_spin); DDX_Control(pDX, IDC_DISABLE_BUILTIN_SHIP, m_disable_messages); DDX_Control(pDX, IDC_NO_DEATH_SCREAM, m_no_death_scream); DDX_Control(pDX, IDC_ALWAYS_DEATH_SCREAM, m_always_death_scream); DDX_Control(pDX, IDC_GUARDIAN, m_guardian); DDX_Control(pDX, IDC_VAPORIZE, m_vaporize); DDX_Control(pDX, IDC_STEALTH, m_stealth); DDX_Control(pDX, IDC_FRIENDLY_STEALTH_INVISIBLE, m_friendly_stealth_invisible); DDX_Control(pDX, IDC_NAV_CARRY, m_nav_carry); DDX_Control(pDX, IDC_NAV_NEEDSLINK, m_nav_needslink); DDX_Control(pDX, IDC_HIDE_SHIP_NAME, m_hide_ship_name); DDX_Control(pDX, IDC_DISABLE_ETS, m_disable_ets); DDX_Control(pDX, IDC_CLOAKED, m_cloaked); DDX_Control(pDX, IDC_NO_COLLIDE, m_no_collide); DDX_Control(pDX, IDC_SET_CLASS_DYNAMICALLY, m_set_class_dynamically); DDX_Control(pDX, IDC_SCRAMBLE_MESSAGES, m_scramble_messages); //}}AFX_DATA_MAP if (pDX->m_bSaveAndValidate) { // get dialog control values GetDlgItem(IDC_DESTROY_VALUE)->GetWindowText(str); n = atoi(str); if (n < 0) n = 0; m_destroy_value.init(n); GetDlgItem(IDC_KDAMAGE)->GetWindowText(str); m_kdamage.init(atoi(str)); // get escort priority GetDlgItem(IDC_ESCORT_PRIORITY)->GetWindowText(str); m_escort_value.init(atoi(str)); // get respawn priority if(The_mission.game_type & MISSION_TYPE_MULTI) { GetDlgItem(IDC_RESPAWN_PRIORITY)->GetWindowText(str); m_respawn_priority.init(atoi(str)); } } }
BOOL ship_flags_dlg::OnInitDialog() { int j, first; int protect_ship = 0, beam_protect_ship = 0, flak_protect_ship = 0, laser_protect_ship = 0, missile_protect_ship = 0; int ignore_count = 0, reinforcement = 0, cargo_known = 0, immobile = 0; int destroy_before_mission = 0, no_arrival_music = 0, escort = 0, invulnerable = 0, targetable_as_bomb = 0; int hidden_from_sensors = 0, primitive_sensors = 0, no_subspace_drive = 0, affected_by_gravity = 0; int toggle_subsystem_scanning = 0, scannable = 0, kamikaze = 0, no_dynamic = 0, red_alert_carry = 0; int special_warpin = 0, disable_messages = 0, guardian = 0, vaporize = 0, stealth = 0, friendly_stealth_invisible = 0; int no_death_scream = 0, always_death_scream = 0, scramble_messages = 0; int nav_carry = 0, nav_needslink = 0, hide_ship_name = 0, set_class_dynamically = 0, no_ets = 0, cloaked = 0, no_collide = 0; object *objp; ship *shipp; bool ship_in_wing = false; first = 1; objp = GET_FIRST(&obj_used_list); while (objp != END_OF_LIST(&obj_used_list)) { if ((objp->type == OBJ_START) || (objp->type == OBJ_SHIP)) { if (objp->flags & OF_MARKED) { shipp = &Ships[objp->instance]; if (first) { first = 0; scannable = (shipp->flags & SF_SCANNABLE) ? 1 : 0; red_alert_carry = (shipp->flags & SF_RED_ALERT_STORE_STATUS) ? 1 : 0; special_warpin = (objp->flags & OF_SPECIAL_WARPIN) ? 1 : 0; protect_ship = (objp->flags & OF_PROTECTED) ? 1 : 0; beam_protect_ship = (objp->flags & OF_BEAM_PROTECTED) ? 1 : 0; flak_protect_ship = (objp->flags & OF_FLAK_PROTECTED) ? 1 : 0; laser_protect_ship = (objp->flags & OF_LASER_PROTECTED) ? 1 : 0; missile_protect_ship = (objp->flags & OF_MISSILE_PROTECTED) ? 1 : 0; invulnerable = (objp->flags & OF_INVULNERABLE) ? 1 : 0; targetable_as_bomb = (objp->flags & OF_TARGETABLE_AS_BOMB) ? 1 : 0; immobile = (objp->flags & OF_IMMOBILE) ? 1 : 0; hidden_from_sensors = (shipp->flags & SF_HIDDEN_FROM_SENSORS) ? 1 : 0; primitive_sensors = (shipp->flags2 & SF2_PRIMITIVE_SENSORS) ? 1 : 0; no_subspace_drive = (shipp->flags2 & SF2_NO_SUBSPACE_DRIVE) ? 1 : 0; affected_by_gravity = (shipp->flags2 & SF2_AFFECTED_BY_GRAVITY) ? 1 : 0; toggle_subsystem_scanning = (shipp->flags2 & SF2_TOGGLE_SUBSYSTEM_SCANNING) ? 1 : 0; ignore_count = (shipp->flags & SF_IGNORE_COUNT) ? 1 : 0; no_arrival_music = (shipp->flags & SF_NO_ARRIVAL_MUSIC) ? 1 : 0; cargo_known = (shipp->flags & SF_CARGO_REVEALED) ? 1 : 0; no_dynamic = (Ai_info[shipp->ai_index].ai_flags & AIF_NO_DYNAMIC) ? 1 : 0; disable_messages = (shipp->flags2 & SF2_NO_BUILTIN_MESSAGES) ? 1 : 0; set_class_dynamically = (shipp->flags2 & SF2_SET_CLASS_DYNAMICALLY) ? 1 : 0; no_death_scream = (shipp->flags2 & SF2_NO_DEATH_SCREAM) ? 1 : 0; always_death_scream = (shipp->flags2 & SF2_ALWAYS_DEATH_SCREAM) ? 1 : 0; guardian = (shipp->ship_guardian_threshold) ? 1 : 0; vaporize = (shipp->flags & SF_VAPORIZE) ? 1 : 0; stealth = (shipp->flags2 & SF2_STEALTH) ? 1 : 0; friendly_stealth_invisible = (shipp->flags2 & SF2_FRIENDLY_STEALTH_INVIS) ? 1 : 0; nav_carry = (shipp->flags2 & SF2_NAVPOINT_CARRY) ? 1 : 0; nav_needslink = (shipp->flags2 & SF2_NAVPOINT_NEEDSLINK) ? 1 : 0; hide_ship_name = (shipp->flags2 & SF2_HIDE_SHIP_NAME) ? 1 : 0; no_ets = (shipp->flags2 & SF2_NO_ETS) ? 1 : 0; cloaked = (shipp->flags2 & SF2_CLOAKED) ? 1 : 0; scramble_messages = (shipp->flags2 & SF2_SCRAMBLE_MESSAGES) ? 1 : 0; no_collide = (objp->flags & OF_COLLIDES) ? 0 : 1; destroy_before_mission = (shipp->flags & SF_KILL_BEFORE_MISSION) ? 1 : 0; m_destroy_value.init(shipp->final_death_time); kamikaze = (Ai_info[shipp->ai_index].ai_flags & AIF_KAMIKAZE) ? 1 : 0; m_kdamage.init( Ai_info[shipp->ai_index].kamikaze_damage ); escort = (shipp->flags & SF_ESCORT) ? 1 : 0; m_escort_value.init(shipp->escort_priority); if(The_mission.game_type & MISSION_TYPE_MULTI) { m_respawn_priority.init(shipp->respawn_priority); } for (j=0; j<Num_reinforcements; j++) { if (!stricmp(Reinforcements[j].name, shipp->ship_name)) { break; } } reinforcement = (j < Num_reinforcements) ? 1 : 0; // check if ship in wing ship_in_wing = (shipp->wingnum != -1);; } else { scannable = tristate_set( shipp->flags & SF_SCANNABLE, scannable ); red_alert_carry = tristate_set( shipp->flags & SF_RED_ALERT_STORE_STATUS, red_alert_carry ); special_warpin = tristate_set( objp->flags & OF_SPECIAL_WARPIN, special_warpin ); protect_ship = tristate_set(objp->flags & OF_PROTECTED, protect_ship); beam_protect_ship = tristate_set(objp->flags & OF_BEAM_PROTECTED, beam_protect_ship); flak_protect_ship = tristate_set(objp->flags & OF_FLAK_PROTECTED, flak_protect_ship); laser_protect_ship = tristate_set(objp->flags & OF_LASER_PROTECTED, laser_protect_ship); missile_protect_ship = tristate_set(objp->flags & OF_MISSILE_PROTECTED, missile_protect_ship); invulnerable = tristate_set(objp->flags & OF_INVULNERABLE, invulnerable); targetable_as_bomb = tristate_set(objp->flags & OF_TARGETABLE_AS_BOMB, targetable_as_bomb); immobile = tristate_set(objp->flags & OF_IMMOBILE, immobile); hidden_from_sensors = tristate_set(shipp->flags & SF_HIDDEN_FROM_SENSORS, hidden_from_sensors); primitive_sensors = tristate_set(shipp->flags2 & SF2_PRIMITIVE_SENSORS, primitive_sensors); no_subspace_drive = tristate_set(shipp->flags2 & SF2_NO_SUBSPACE_DRIVE, no_subspace_drive); affected_by_gravity = tristate_set(shipp->flags2 & SF2_AFFECTED_BY_GRAVITY, affected_by_gravity); toggle_subsystem_scanning = tristate_set(shipp->flags2 & SF2_TOGGLE_SUBSYSTEM_SCANNING, toggle_subsystem_scanning); ignore_count = tristate_set(shipp->flags & SF_IGNORE_COUNT, ignore_count); no_arrival_music = tristate_set(shipp->flags & SF_NO_ARRIVAL_MUSIC, no_arrival_music); cargo_known = tristate_set(shipp->flags & SF_CARGO_REVEALED, cargo_known); no_dynamic = tristate_set( Ai_info[shipp->ai_index].ai_flags & AIF_NO_DYNAMIC, no_dynamic ); disable_messages = tristate_set(shipp->flags2 & SF2_NO_BUILTIN_MESSAGES, disable_messages); set_class_dynamically = tristate_set(shipp->flags2 & SF2_SET_CLASS_DYNAMICALLY, set_class_dynamically); no_death_scream = tristate_set(shipp->flags2 & SF2_NO_DEATH_SCREAM, no_death_scream); always_death_scream = tristate_set(shipp->flags2 & SF2_ALWAYS_DEATH_SCREAM, always_death_scream); guardian = tristate_set(shipp->ship_guardian_threshold, guardian); vaporize = tristate_set(shipp->flags & SF_VAPORIZE, vaporize); stealth = tristate_set(shipp->flags2 & SF2_STEALTH, stealth); friendly_stealth_invisible = tristate_set(shipp->flags2 & SF2_FRIENDLY_STEALTH_INVIS, friendly_stealth_invisible); nav_carry = tristate_set(shipp->flags2 & SF2_NAVPOINT_CARRY, nav_carry); nav_needslink = tristate_set(shipp->flags2 & SF2_NAVPOINT_NEEDSLINK, nav_needslink); hide_ship_name = tristate_set(shipp->flags2 & SF2_HIDE_SHIP_NAME, hide_ship_name); no_ets = tristate_set(shipp->flags2 & SF2_NO_ETS, no_ets); cloaked = tristate_set(shipp->flags2 & SF2_CLOAKED, cloaked); scramble_messages = tristate_set(shipp->flags2 & SF2_SCRAMBLE_MESSAGES, scramble_messages); no_collide = tristate_set(!(objp->flags & OF_COLLIDES), no_collide); // check the final death time and set the internal variable according to whether or not // the final_death_time is set. Also, the value in the edit box must be set if all the // values are the same, and cleared if the values are not the same. destroy_before_mission = tristate_set(shipp->flags & SF_KILL_BEFORE_MISSION, destroy_before_mission); m_destroy_value.set(shipp->final_death_time); kamikaze = tristate_set( Ai_info[shipp->ai_index].ai_flags & AIF_KAMIKAZE, kamikaze ); m_kdamage.set( Ai_info[shipp->ai_index].kamikaze_damage ); escort = tristate_set(shipp->flags & SF_ESCORT, escort); m_escort_value.init(shipp->escort_priority); if(The_mission.game_type & MISSION_TYPE_MULTI) { m_respawn_priority.init(shipp->escort_priority); } for (j=0; j<Num_reinforcements; j++) { if (!stricmp(Reinforcements[j].name, shipp->ship_name)) { break; } } reinforcement = tristate_set(j < Num_reinforcements, reinforcement); // check if ship in wing ship_in_wing = (shipp->wingnum != -1);; } } } objp = GET_NEXT(objp); } CDialog::OnInitDialog(); m_protect_ship.SetCheck(protect_ship); m_beam_protect_ship.SetCheck(beam_protect_ship); m_flak_protect_ship.SetCheck(flak_protect_ship); m_laser_protect_ship.SetCheck(laser_protect_ship); m_missile_protect_ship.SetCheck(missile_protect_ship); m_ignore_count.SetCheck(ignore_count); m_reinforcement.SetCheck(reinforcement); m_cargo_known.SetCheck(cargo_known); m_destroy.SetCheck(destroy_before_mission); m_no_arrival_music.SetCheck(no_arrival_music); m_escort.SetCheck(escort); m_invulnerable.SetCheck(invulnerable); m_targetable_as_bomb.SetCheck(targetable_as_bomb); m_immobile.SetCheck(immobile); m_hidden.SetCheck(hidden_from_sensors); m_primitive_sensors.SetCheck(primitive_sensors); m_no_subspace_drive.SetCheck(no_subspace_drive); m_affected_by_gravity.SetCheck(affected_by_gravity); m_toggle_subsystem_scanning.SetCheck(toggle_subsystem_scanning); m_scannable.SetCheck(scannable); m_kamikaze.SetCheck(kamikaze); m_no_dynamic.SetCheck(no_dynamic); m_red_alert_carry.SetCheck(red_alert_carry); m_special_warpin.SetCheck(special_warpin); m_disable_messages.SetCheck(disable_messages); m_set_class_dynamically.SetCheck(set_class_dynamically); m_no_death_scream.SetCheck(no_death_scream); m_always_death_scream.SetCheck(always_death_scream); m_guardian.SetCheck(guardian); m_vaporize.SetCheck(vaporize); m_stealth.SetCheck(stealth); m_friendly_stealth_invisible.SetCheck(friendly_stealth_invisible); m_nav_carry.SetCheck(nav_carry); m_nav_needslink.SetCheck(nav_needslink); m_hide_ship_name.SetCheck(hide_ship_name); m_disable_ets.SetCheck(no_ets); m_cloaked.SetCheck(cloaked); m_scramble_messages.SetCheck(scramble_messages); m_no_collide.SetCheck(no_collide); m_kdamage.setup(IDC_KDAMAGE, this); m_destroy_value.setup(IDC_DESTROY_VALUE, this); m_escort_value.setup(IDC_ESCORT_PRIORITY, this); if(The_mission.game_type & MISSION_TYPE_MULTI) { m_respawn_priority.setup(IDC_RESPAWN_PRIORITY, this); } m_destroy_spin.SetRange(0, UD_MAXVAL); m_destroy_value.display(); m_kdamage.display(); m_escort_value.display(); if(The_mission.game_type & MISSION_TYPE_MULTI) { m_respawn_priority.display(); } else { GetDlgItem(IDC_RESPAWN_PRIORITY)->EnableWindow(FALSE); } // flags that enable/disable according to whether this isn't a player GetDlgItem(IDC_REINFORCEMENT)->EnableWindow(p_enable && !ship_in_wing); GetDlgItem(IDC_CARGO_KNOWN)->EnableWindow(p_enable); GetDlgItem(IDC_DESTROY_CHECK)->EnableWindow(p_enable); GetDlgItem(IDC_DESTROY_VALUE)->EnableWindow(p_enable); GetDlgItem(IDC_DESTROY_SPIN)->EnableWindow(p_enable); GetDlgItem(IDC_SCANNABLE)->EnableWindow(p_enable); // disable the spinner and edit window if the corrsponding check box // is not checked! if (m_destroy.GetCheck() != 1) { GetDlgItem(IDC_DESTROY_VALUE)->EnableWindow(FALSE); GetDlgItem(IDC_DESTROY_SPIN)->EnableWindow(FALSE); } // disable destroy option for ship in wing if (ship_in_wing) { GetDlgItem(IDC_DESTROY_CHECK)->EnableWindow(FALSE); GetDlgItem(IDC_DESTROY_VALUE)->EnableWindow(FALSE); GetDlgItem(IDC_DESTROY_SPIN)->EnableWindow(FALSE); } // maybe disable escort priority window if (m_escort.GetCheck() == 1) GetDlgItem(IDC_ESCORT_PRIORITY)->EnableWindow(TRUE); else GetDlgItem(IDC_ESCORT_PRIORITY)->EnableWindow(FALSE); // maybe disable kamikaze damage window if (m_kamikaze.GetCheck() == 1) GetDlgItem(IDC_KDAMAGE)->EnableWindow(TRUE); else GetDlgItem(IDC_KDAMAGE)->EnableWindow(FALSE); return TRUE; }
void CSpiderAddPageDlg::WrongURL() { MessageBox (LS (L_CHECKURL), LS (L_INPERR), MB_ICONEXCLAMATION); GetDlgItem (IDC_URL)->SetFocus (); }
void CDConsoleDlg::OnBnClickedButtonEvent9() { // TODO: 在此添加控件通知处理程序代码 GetDlgItem(IDC_EDIT_EVENTMSG)->SetWindowText(m_strEvent9); }
void AppearancePage::write() { PropPage::write((HWND)*this, items, listItems, GetDlgItem(IDC_APPEARANCE_BOOLEANS)); PropPage::write((HWND)*this, items, boldItems, GetDlgItem(IDC_BOLD_BOOLEANS)); }
static INT_PTR CALLBACK DlgProcSetStatusMessage(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) { switch (msg) { case WM_INITDIALOG: TranslateDialogDefault(hwndDlg); SendDlgItemMessage(hwndDlg, IDC_STATUSMESSAGE, EM_LIMITTEXT, MS_MYDETAILS_GETMYSTATUSMESSAGE_BUFFER_SIZE - 1, 0); mir_subclassWindow(GetDlgItem(hwndDlg, IDC_STATUSMESSAGE), StatusMsgEditSubclassProc); return TRUE; case WMU_SETDATA: { SetStatusMessageData *data = (SetStatusMessageData *)malloc(sizeof(SetStatusMessageData)); data->status = (int)wParam; data->proto_num = (int)lParam; SetWindowLongPtr(hwndDlg, GWLP_USERDATA, (LONG_PTR)data); if (data->proto_num >= 0) { Protocol *proto = protocols->Get(data->proto_num); HICON hIcon = (HICON)CallProtoService(proto->name, PS_LOADICON, PLI_PROTOCOL, 0); if (hIcon != NULL) { SendMessage(hwndDlg, WM_SETICON, ICON_BIG, (LPARAM)hIcon); DestroyIcon(hIcon); } TCHAR title[256]; mir_sntprintf(title, _countof(title), TranslateT("Set my status message for %s"), proto->description); SetWindowText(hwndDlg, title); SetDlgItemText(hwndDlg, IDC_STATUSMESSAGE, proto->GetStatusMsg()); } else if (data->status != 0) { SendMessage(hwndDlg, WM_SETICON, ICON_BIG, (LPARAM)Skin_LoadProtoIcon(NULL, data->status)); TCHAR title[256]; mir_sntprintf(title, _countof(title), TranslateT("Set my status message for %s"), pcli->pfnGetStatusModeDescription(data->status, 0)); SetWindowText(hwndDlg, title); SetDlgItemText(hwndDlg, IDC_STATUSMESSAGE, protocols->GetDefaultStatusMsg(data->status)); } else { SendMessage(hwndDlg, WM_SETICON, ICON_BIG, (LPARAM)Skin_LoadIcon(SKINICON_OTHER_MIRANDA)); SetDlgItemText(hwndDlg, IDC_STATUSMESSAGE, protocols->GetDefaultStatusMsg()); } return TRUE; } case WM_COMMAND: switch (wParam) { case IDOK: { TCHAR tmp[MS_MYDETAILS_GETMYSTATUSMESSAGE_BUFFER_SIZE]; GetDlgItemText(hwndDlg, IDC_STATUSMESSAGE, tmp, _countof(tmp)); SetStatusMessageData *data = (SetStatusMessageData *)GetWindowLongPtr(hwndDlg, GWLP_USERDATA); if (data->proto_num >= 0) protocols->Get(data->proto_num)->SetStatusMsg(tmp); else if (data->status == 0) protocols->SetStatusMsgs(tmp); else protocols->SetStatusMsgs(data->status, tmp); DestroyWindow(hwndDlg); } break; case IDCANCEL: DestroyWindow(hwndDlg); break; } break; case WM_CLOSE: DestroyWindow(hwndDlg); break; case WM_DESTROY: SetWindowLongPtr(GetDlgItem(hwndDlg, IDC_STATUSMESSAGE), GWLP_WNDPROC, GetWindowLongPtr(GetDlgItem(hwndDlg, IDC_STATUSMESSAGE), GWLP_USERDATA)); free((SetStatusMessageData *)GetWindowLongPtr(hwndDlg, GWLP_USERDATA)); InterlockedExchange(&status_msg_dialog_open, 0); break; } return FALSE; }
void CMSetupDlg::ThreadFunc() { int iCount = 0; while(!m_pClient->IsConnected()){ if(m_pClient!=NULL){ Air::Common::NetClient::Info info; info.pListener = this; info.strIP = "10.240.38.103"; info.usPort = 54322; if(m_pLog!=NULL){ m_pLog->InsertString(0,L"连接服务器中"); } if(m_pClient->Connect(info)){ if(m_pLog!=NULL){ m_pLog->InsertString(0,L"连接服务器成功"); m_pLog->InsertString(0,L"开始下载裸客户端"); } enNetType t= enNT_FS_Hello; m_pClient->Send(&t,sizeof(t)); } } Sleep(1000); } SYSTEMTIME startTime; GetLocalTime(&startTime); CProgressCtrl* pMain = (CProgressCtrl*)GetDlgItem(IDC_PROGRESS_MAIN); CProgressCtrl* pSub = (CProgressCtrl*)GetDlgItem(IDC_PROGRESS_SUB); U32 begin=timeGetTime(); //SetEvent(m_Event); //下载客户端 while(1){ if(m_pNakedClinet==NULL){ break; }else{ U32 end = timeGetTime(); U32 usedTime = (end - begin)*0.001f; U32 usedHour = usedTime/3600; U32 usedMin = (usedTime%3600)/60; U32 usedSec = (usedTime%3600)%60; wchar_t strTime[1024]; if(m_Complated==0){ swprintf_s(strTime,L"0/2 已使用%02d:%02d:%02d 剩余??:??:??",usedHour,usedMin,usedSec); }else{ double needTime = usedTime*((double)m_Total/(double)m_Complated) - usedTime; U32 uiNeedTime = needTime; U32 needHour = uiNeedTime/3600; U32 needMin = (uiNeedTime%3600)/60; U32 needSec = (uiNeedTime%3600)%60; swprintf_s(strTime,L"0/2 已使用%02d:%02d:%02d 剩余%02d:%02d:%02d",usedHour,usedMin,usedSec,needHour,needMin,needSec); } //float f = m_Complated GetDlgItem(IDC_STATIC_TIME)->SetWindowTextW(strTime); CProgressCtrl* pSub = (CProgressCtrl*)GetDlgItem(IDC_PROGRESS_SUB); float fPercent = 100*(float)m_Complated/(float)m_Total; pSub->SetPos((U32)fPercent); } Sleep(100); } pSub->SetPos(100); pMain->SetPos(25); //下载客户端 }
// 서버접속처리 void CConnectDlg::OnButtonConnect() { // TODO: Add your control notification handler code here UpdateData(TRUE); CString ip; if(m_nClient == 0){ // 클라이언트 if(m_strServerName == ""){ MessageBox("서버이름을 확인하세요!"); GetDlgItem(IDC_EDIT_SERVERNAME)->SetFocus(); return; } m_ipAddressServerIP.GetWindowText(ip); if(ip == "0.0.0.0"){ MessageBox("서버IP 를 확인하세요!"); GetDlgItem(IDC_IPADDRESS_SERVERIP)->SetFocus(); return; } } // 서버라도 이부분을 체크 if(m_strUserID == ""){ MessageBox("사용자 아이디를 확인하세요!"); GetDlgItem(IDC_EDIT_USERID)->SetFocus(); return; } // 소켓연결(접속처리) ((CMainFrame *)AfxGetMainWnd())->m_myIOCPSocket.m_strUserID = m_strUserID; ((CMainFrame *)AfxGetMainWnd())->m_myIOCPSocket.m_bIsClient = m_nClient; // 클라이언트인지 서버인지 ((CMainFrame *)AfxGetMainWnd())->m_myIOCPSocket.m_strSevrIP = ip; ((CMainFrame *)AfxGetMainWnd())->m_myIOCPSocket.m_bViewFolder = m_bViewFolder; ((CMainFrame *)AfxGetMainWnd())->m_myIOCPSocket.InitSock(); if(((CMainFrame *)AfxGetMainWnd())->m_myIOCPSocket.m_nErrorCode != 0){ // 접속실패시 AfxMessageBox("접속에 실패했습니다\n다시 접속하십시요!"); return; } // 접속할때 환경설정값을 넣어준다 CMainFrame *pMain = (CMainFrame *)AfxGetMainWnd(); pMain->m_cPreferencesValue.DirectoryLoadFile(&(pMain->m_cPreferencesValue.m_strFolderTemp), &(pMain->m_cPreferencesValue.m_strFolderInComing), &(pMain->m_cPreferencesValue.m_strFolderShare)); pMain->m_cPreferencesValue.DirectoryLoadFile(&(pMain->m_cPreferencesValue.m_strFolderTemp), &(pMain->m_cPreferencesValue.m_strFolderInComing), &(pMain->m_cPreferencesValue.m_strFolderShare)); pMain->m_cPreferencesValue.DisplayLoadFile(&(pMain->m_cPreferencesValue.m_bDeleteComplete), &(pMain->m_cPreferencesValue.m_nPopupTime), &(pMain->m_cPreferencesValue.m_bPopupConnect), &(pMain->m_cPreferencesValue.m_bPopupDisconnect), &(pMain->m_cPreferencesValue.m_bPopupCompleteDownload)); // 쓰레드에서 이폴더값을 접근을 못해서 여기서 값을넣어준다 pMain->m_myIOCPSocket.m_strFolderInComing = pMain->m_cPreferencesValue.m_strFolderInComing; pMain->m_myIOCPSocket.m_strFolderTemp = pMain->m_cPreferencesValue.m_strFolderTemp; pMain->m_myIOCPSocket.m_strFolderShare = pMain->m_cPreferencesValue.m_strFolderShare; // 하드의 용량을 알아내서 status 바에 넣는다 CString strUNC; pMain->m_cPreferencesValue.DirectoryLoadFile(&pMain->m_cPreferencesValue.m_strFolderTemp, &pMain->m_cPreferencesValue.m_strFolderInComing, &pMain->m_cPreferencesValue.m_strFolderShare); strUNC.Format(pMain->m_cPreferencesValue.m_strFolderInComing.Left(1)); strUNC = strUNC + ":\\"; ULARGE_INTEGER ulAvailable, ulTotal, ulFree; GetDiskFreeSpaceEx((LPCTSTR)strUNC, &ulAvailable, &ulTotal, &ulFree); double nFree, nTotal; if(ulAvailable.QuadPart){ nFree = ulAvailable.LowPart+(double)ulAvailable.HighPart*(double)4294967296; nTotal = ulTotal.LowPart+(double)ulTotal.HighPart*(double)4294967296; } CString strFree; strFree.Format("%f", nFree); int cnt = strFree.Find(".", 0); strFree = strFree.Mid(0, cnt - 7); // 8은 기가바이트로 나타낼경우 소수점이상의 수치에서 9자리가 기가바이트(12.34 GB) strFree.Format("(%s:)%s.%s GB Free", strUNC.Left(1), strFree.Left(strFree.GetLength() - 2), strFree.Right(2)); pMain->m_wndStatusBar.SetPaneText(1, strFree); // status 바, upload, download CString strStatus; pMain->m_cPreferencesValue.ConnectLoadFile(&pMain->m_cPreferencesValue.m_nDownloadSpeed, &pMain->m_cPreferencesValue.m_nUploadSpeed); strStatus.Format("%d개 - %d kB/s", 0, pMain->m_cPreferencesValue.m_nUploadSpeed); pMain->m_wndStatusBar.SetPaneText(2, strStatus); strStatus.Format("%d개 - %d kB/s", 0, pMain->m_cPreferencesValue.m_nDownloadSpeed); pMain->m_wndStatusBar.SetPaneText(3, strStatus); EndDialog(IDYES); }
void CCloneDlg::OnBnClickedCheckOrigin() { UpdateData(TRUE); this->GetDlgItem(IDC_EDIT_ORIGIN)->EnableWindow(this->m_bOrigin); GetDlgItem(IDC_CHECK_BARE)->EnableWindow(!m_bOrigin); }
BOOL CALLBACK DlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { static LPNMTTDISPINFO lpnmtdi; static PAINTSTRUCT ps; static RECT windowRect; static HDC hdc; switch (message) { case WM_DWMCOMPOSITIONCHANGED: ActivateGlass(hDlg); InvalidateRect(hDlg, NULL, true); break; case WM_ACTIVATE: ActivateGlass(hDlg); break; case WM_PAINT: hdc = OnPaint(hDlg, windowRect, hdc, ps, IDS_APP_TITLE); break; case WM_INITDIALOG: hInstance = (HINSTANCE) GetWindowLong (hDlg, GWL_HINSTANCE); // Set Icon hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON)); hIconSally = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON_SALLY)); hIconWindow = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON_MENU_WINDOW)); hIconConfig = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON_MENU_CONFIG)); hIconApplication = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON_PLUGIN_APPLICATION)); hIconLanguage = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON_PLUGIN_LANGUAGE)); hIconTheme = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON_PLUGIN_THEME)); hIconKeyboard = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON_PLUGIN_KEYBORD)); SendMessage(hDlg, WM_SETICON, ICON_SMALL, (LPARAM) hIcon); SendMessage(hDlg, WM_SETICON, ICON_BIG, (LPARAM) hIcon); // Menu himl = ImageList_Create(16, 16, ILC_COLOR32, 6, 0); ImageList_SetBkColor(himl, CLR_NONE); ImageList_AddIcon(himl, hIconWindow); ImageList_AddIcon(himl, hIconConfig); ImageList_AddIcon(himl, hIconApplication); ImageList_AddIcon(himl, hIconTheme); ImageList_AddIcon(himl, hIconLanguage); ImageList_AddIcon(himl, hIconKeyboard); hMenuView.SetHWND(GetDlgItem (hDlg, IDC_LIST_MENU)); hMenuView.SetImageList(himl, LVSIL_SMALL); ListView_SetExtendedListViewStyle(hMenuView.GetHwnd(), LVS_EX_FULLROWSELECT | WS_EX_LTRREADING); hMenuView.InitListViewColumns(0, "Settings", 190); hMenuView.AddItem(0, 0, GetLocalisation(IDS_MENU_CONFIG, hInstance), 1, 0); hMenuView.AddItem(1, 0, GetLocalisation(IDS_MENU_APPLICATIONS, hInstance), 2, 2); hMenuView.AddItem(2, 0, GetLocalisation(IDS_MENU_THEMES, hInstance), 3, 3); hMenuView.AddItem(3, 0, GetLocalisation(IDS_MENU_LANGUAGES, hInstance), 4, 4); hMenuView.AddItem(4, 0, GetLocalisation(IDS_MENU_KEYBOARDS, hInstance), 5, 5); // Tabs hWndTabConfig = CreateDialog(hInstance, MAKEINTRESOURCE(IDD_DIALOG_CONFIG), hDlg, DlgProcConfig); ShowWindow(hWndTabConfig, SW_HIDE); hWndTabPlugins = CreateDialog(hInstance, MAKEINTRESOURCE(IDD_DIALOG_PLUGINS), hDlg, DlgProcPlugins); ShowWindow(hWndTabPlugins, SW_HIDE); hWndTabThemes = CreateDialog(hInstance, MAKEINTRESOURCE(IDD_DIALOG_THEMES), hDlg, DlgProcThemes); ShowWindow(hWndTabThemes, SW_HIDE); hWndTabLanguages = CreateDialog(hInstance, MAKEINTRESOURCE(IDD_DIALOG_LANGUAGES), hDlg, DlgProcLanguages); ShowWindow(hWndTabLanguages, SW_HIDE); hWndTabKeyboards = CreateDialog(hInstance, MAKEINTRESOURCE(IDD_DIALOG_KEYBOARDS), hDlg, DlgProcKeyboards); ShowWindow(hWndTabKeyboards, SW_HIDE); SelectMenu(0); hMenuView.SelectItem(0); break; case WM_NOTIFY: lpnmtdi = (LPNMTTDISPINFO) lParam; if (lpnmtdi->hdr.hwndFrom == hMenuView.GetHwnd()) { switch(lpnmtdi->hdr.code) { case LVN_ITEMCHANGED: LPNMLISTVIEW li; li = (LPNMLISTVIEW)lParam; if (li->uNewState != 3) break; case NM_CLICK: case NM_RCLICK: case NM_DBLCLK: case NM_RDBLCLK: SelectMenu(); break; } } break; case WM_SIZE: RECT windowRect; RECT menuViewRect; RECT tempViewRect; GetClientRect(hDlg, &windowRect); GetClientRect(hMenuView.GetHwnd(), &menuViewRect); MoveWindow(hMenuView.GetHwnd(), 7, TOP_BORDER_HEIGHT + 7, CONFIG_MENU_WIDTH - 7, windowRect.bottom - TOP_BORDER_HEIGHT - 14, TRUE); GetClientRect(hWndTabConfig, &tempViewRect); MoveWindow(hWndTabConfig, ((windowRect.right - CONFIG_MENU_WIDTH - tempViewRect.right) / 2) + CONFIG_MENU_WIDTH, ((windowRect.bottom - TOP_BORDER_HEIGHT - tempViewRect.bottom) / 2) + TOP_BORDER_HEIGHT, tempViewRect.right, tempViewRect.bottom, TRUE); MoveWindow(hWndTabPlugins, CONFIG_MENU_WIDTH, TOP_BORDER_HEIGHT, windowRect.right - CONFIG_MENU_WIDTH, windowRect.bottom - TOP_BORDER_HEIGHT, TRUE); MoveWindow(hWndTabThemes, CONFIG_MENU_WIDTH, TOP_BORDER_HEIGHT, windowRect.right - CONFIG_MENU_WIDTH, windowRect.bottom - TOP_BORDER_HEIGHT, TRUE); MoveWindow(hWndTabLanguages, CONFIG_MENU_WIDTH, TOP_BORDER_HEIGHT, windowRect.right - CONFIG_MENU_WIDTH, windowRect.bottom - TOP_BORDER_HEIGHT, TRUE); MoveWindow(hWndTabKeyboards, CONFIG_MENU_WIDTH, TOP_BORDER_HEIGHT, windowRect.right - CONFIG_MENU_WIDTH, windowRect.bottom - TOP_BORDER_HEIGHT, TRUE); SendMessage(hWndTabPlugins, WM_COMMAND, WM_SIZE, NULL); SendMessage(hWndTabThemes, WM_COMMAND, WM_SIZE, NULL); SendMessage(hWndTabLanguages, WM_COMMAND, WM_SIZE, NULL); SendMessage(hWndTabKeyboards, WM_COMMAND, WM_SIZE, NULL); break; case WM_COMMAND: switch (LOWORD (wParam)) { case IDCANCEL: EndDialog (hDlg, 0); return TRUE; } break; case WM_GETMINMAXINFO: LPMINMAXINFO(lParam)->ptMinTrackSize.x = 750; // kleinste Breite LPMINMAXINFO(lParam)->ptMinTrackSize.y = 520; // kleinste Höhe return 0; case WM_NCHITTEST: LRESULT lresult; lresult = DefWindowProc(hDlg, WM_NCHITTEST, wParam, lParam); if (lresult == HTCLIENT) { GetWindowRect(hDlg, &windowRect); int yPos; yPos = GET_Y_LPARAM(lParam); yPos = yPos - windowRect.top - GetSystemMetrics(SM_CYSIZE) - GetSystemMetrics(SM_CYBORDER); if (yPos <= TOP_BORDER_HEIGHT) lresult = HTCAPTION; } SetWindowLong( hDlg, DWL_MSGRESULT, lresult ); return (TRUE); } return FALSE ; }
BOOL CALLBACK decbox(HWND hdwnd,UINT message,WPARAM wParam,LPARAM lParam) { dword dec_id,d_val; lptr d_adr; switch(message) { case WM_COMMAND: { switch(wParam) { case IDOK: if(SendDlgItemMessage(hdwnd,idc_xor,BM_GETCHECK,(WPARAM)0,(LPARAM)0)) lastdec=decxor; else if(SendDlgItemMessage(hdwnd,idc_mul,BM_GETCHECK,(WPARAM)0,(LPARAM)0)) lastdec=decmul; else if(SendDlgItemMessage(hdwnd,idc_add,BM_GETCHECK,(WPARAM)0,(LPARAM)0)) lastdec=decadd; else if(SendDlgItemMessage(hdwnd,idc_sub,BM_GETCHECK,(WPARAM)0,(LPARAM)0)) lastdec=decsub; else if(SendDlgItemMessage(hdwnd,idc_rot,BM_GETCHECK,(WPARAM)0,(LPARAM)0)) lastdec=decrot; else if(SendDlgItemMessage(hdwnd,idc_xadd,BM_GETCHECK,(WPARAM)0,(LPARAM)0)) lastdec=decxadd; else lastdec=decnull; if(SendDlgItemMessage(hdwnd,idc_byte,BM_GETCHECK,(WPARAM)0,(LPARAM)0)) lastditem=decbyte; else if(SendDlgItemMessage(hdwnd,idc_word,BM_GETCHECK,(WPARAM)0,(LPARAM)0)) lastditem=decword; else if(SendDlgItemMessage(hdwnd,idc_dword,BM_GETCHECK,(WPARAM)0,(LPARAM)0)) lastditem=decdword; else if(SendDlgItemMessage(hdwnd,idc_array,BM_GETCHECK,(WPARAM)0,(LPARAM)0)) lastditem=decarray; else lastditem=decbyte; SendDlgItemMessage(hdwnd,idc_value,WM_GETTEXT,(WPARAM)18,(LPARAM)lastvalue); SendDlgItemMessage(hdwnd,idc_arrayseg,WM_GETTEXT,(WPARAM)18,(LPARAM)last_seg); SendDlgItemMessage(hdwnd,idc_arrayoffset,WM_GETTEXT,(WPARAM)18,(LPARAM)lastoffset); if(IsDlgButtonChecked(hdwnd,idc_applytoexe)) patchexe=true; else patchexe=false; sscanf(lastvalue,"%lx",&d_val); sscanf(last_seg,"%lx",&d_adr.segm); sscanf(lastoffset,"%lx",&d_adr.offs); if((g_options.readonly)&&(patchexe)) { patchexe=false; MessageBox(g_hMainWnd,"File opened readonly - unable to patch","Borg Message",MB_OK); } dec_id=decrypter.add_decrypted(blk.top,blk.bottom,lastdec,lastditem,d_val,d_adr,patchexe); decrypter.process_dec(dec_id); if(patchexe) decrypter.exepatch(dec_id); EndDialog(hdwnd,NULL); return true; case IDCANCEL: EndDialog(hdwnd,NULL); return true; default: break; } } break; case WM_INITDIALOG: CenterWindow(hdwnd); switch(lastdec) { case decxor: SendDlgItemMessage(hdwnd,idc_xor,BM_SETCHECK,(WPARAM)1,(LPARAM)0); break; case decmul: SendDlgItemMessage(hdwnd,idc_mul,BM_SETCHECK,(WPARAM)1,(LPARAM)0); break; case decadd: SendDlgItemMessage(hdwnd,idc_add,BM_SETCHECK,(WPARAM)1,(LPARAM)0); break; case decsub: SendDlgItemMessage(hdwnd,idc_sub,BM_SETCHECK,(WPARAM)1,(LPARAM)0); break; case decrot: SendDlgItemMessage(hdwnd,idc_rot,BM_SETCHECK,(WPARAM)1,(LPARAM)0); break; case decxadd: SendDlgItemMessage(hdwnd,idc_xadd,BM_SETCHECK,(WPARAM)1,(LPARAM)0); break; default: SendDlgItemMessage(hdwnd,idc_xor,BM_SETCHECK,(WPARAM)1,(LPARAM)0); break; } switch(lastditem) { case decbyte: SendDlgItemMessage(hdwnd,idc_byte,BM_SETCHECK,(WPARAM)1,(LPARAM)0); break; case decword: SendDlgItemMessage(hdwnd,idc_word,BM_SETCHECK,(WPARAM)1,(LPARAM)0); break; case decdword: SendDlgItemMessage(hdwnd,idc_dword,BM_SETCHECK,(WPARAM)1,(LPARAM)0); break; case decarray: SendDlgItemMessage(hdwnd,idc_array,BM_SETCHECK,(WPARAM)1,(LPARAM)0); break; default: SendDlgItemMessage(hdwnd,idc_byte,BM_SETCHECK,(WPARAM)1,(LPARAM)0); break; } SendDlgItemMessage(hdwnd,idc_value,WM_SETTEXT,(WPARAM)0,(LPARAM)lastvalue); SendDlgItemMessage(hdwnd,idc_arrayseg,WM_SETTEXT,(WPARAM)0,(LPARAM)last_seg); SendDlgItemMessage(hdwnd,idc_arrayoffset,WM_SETTEXT,(WPARAM)0,(LPARAM)lastoffset); CheckDlgButton(hdwnd,idc_applytoexe,patchexe); SetFocus(GetDlgItem(hdwnd,idc_value)); return false; default: break; } return false; }
void CTabSample::OnInit(void) { m_iGraphViewId[0] = IDC_GRAPHSHOW1; m_iGraphViewId[1] = IDC_GRAPHSHOW2; m_iGraphViewId[2] = IDC_GRAPHSHOW3; m_iGraphViewId[3] = IDC_GRAPHSHOW4; for (int i=0; i<GraphViewNum;i++) { m_dSampleData[i].reserve(10240); } // 输入控件ID m_iMathId[0][0] = IDC_STATIC_AVERAGE1; m_iMathId[0][1] = IDC_STATIC_RMS1; m_iMathId[0][2] = IDC_STATIC_MAX1; m_iMathId[0][3] = IDC_STATIC_MIN1; m_iMathId[1][0] = IDC_STATIC_AVERAGE2; m_iMathId[1][1] = IDC_STATIC_RMS2; m_iMathId[1][2] = IDC_STATIC_MAX2; m_iMathId[1][3] = IDC_STATIC_MIN2; m_iMathId[2][0] = IDC_STATIC_AVERAGE3; m_iMathId[2][1] = IDC_STATIC_RMS3; m_iMathId[2][2] = IDC_STATIC_MAX3; m_iMathId[2][3] = IDC_STATIC_MIN3; m_iMathId[3][0] = IDC_STATIC_AVERAGE4; m_iMathId[3][1] = IDC_STATIC_RMS4; m_iMathId[3][2] = IDC_STATIC_MAX4; m_iMathId[3][3] = IDC_STATIC_MIN4; // 控件选择 for (int k=0; k<GraphViewNum; k++) { m_iSelectObject[k] = 0; m_iSelectObjectNoise[k] = 0; } m_cSelectObjectName[0] = _T("仪器一"); m_cSelectObjectName[1] = _T("仪器二"); m_cSelectObjectName[2] = _T("仪器三"); m_cSelectObjectName[3] = _T("仪器四"); // 得到当前路径 char cSaveToFilePath[MAX_PATH]; GetCurrentDirectory(MAX_PATH, cSaveToFilePath); m_csSaveFilePath = cSaveToFilePath; CScrollBar*pSB =(CScrollBar*)GetDlgItem(IDC_SCROLLBAR_GRAPHVIEW); pSB->SetScrollRange(m_uiScrollBarMin,m_uiScrollBarMax); // 创建绘图控件并设置相关参数 CreateGraph(GraphViewNum, m_iGraphViewId, m_OScopeCtrl); // customize the control SetRange(-2.5, 2.5, 1, GraphViewNum, m_OScopeCtrl) ; SetYUnits("Y", GraphViewNum, m_OScopeCtrl) ; SetXUnits("X", GraphViewNum, m_OScopeCtrl) ; SetBackgroundColor(RGB(0, 0, 64), GraphViewNum, m_OScopeCtrl) ; SetGridColor(RGB(192, 192, 255), GraphViewNum, m_OScopeCtrl) ; SetPlotColor(RGB(255, 255, 255), GraphViewNum, m_OScopeCtrl) ; // 得到本机IP地址 char name[255]; CString ip; PHOSTENT hostinfo; if( gethostname (name, sizeof(name)) == 0) { if((hostinfo = gethostbyname(name)) != NULL) { ip = inet_ntoa(*(struct in_addr*)*hostinfo-> h_addr_list); } } m_oThreadManage.m_oHeadFrameThread.m_csIPSource = ip; m_oThreadManage.m_oTailFrameThread.m_csIPSource = ip; m_oThreadManage.m_oSysTimeSocket.m_csIPSource = ip; m_oThreadManage.m_oSysTimeSocket.m_pADCSet = &m_oADCSet; CString str; str.Format("0x%04x", 0x8202); GetDlgItem(IDC_EDIT_SENDPORT)->SetWindowText(str); m_iconDisconnected = AfxGetApp()->LoadIcon(IDI_ICON1); m_iconConnected = AfxGetApp()->LoadIcon(IDI_ICON2); m_oThreadManage.m_oInstrumentList.m_iconDisconnected = m_iconDisconnected; m_oThreadManage.m_oInstrumentList.m_pwnd = this; m_oThreadManage.m_oHeadFrameThread.m_iconConnected = m_iconConnected; m_oThreadManage.m_oHeadFrameThread.m_pwnd = this; m_oThreadManage.m_oADDataThread.m_pSelectObject = m_iSelectObject; m_oThreadManage.m_oADDataThread.m_pSelectObjectNoise = m_iSelectObjectNoise; for(int i=0; i<GraphViewNum; i++) { m_oThreadManage.m_oADDataThread.m_pSampleData[i] = &m_dSampleData[i]; m_oThreadManage.m_oADDataThread.m_pOScopeCtrl[i] = &m_OScopeCtrl[i]; } CStatic* icon; icon =(CStatic*)this->GetDlgItem(IDC_STATIC_INSTRUMENT1); icon->SetIcon(m_iconDisconnected); icon =(CStatic*)this->GetDlgItem(IDC_STATIC_INSTRUMENT2); icon->SetIcon(m_iconDisconnected); icon =(CStatic*)this->GetDlgItem(IDC_STATIC_INSTRUMENT3); icon->SetIcon(m_iconDisconnected); icon =(CStatic*)this->GetDlgItem(IDC_STATIC_INSTRUMENT4); icon->SetIcon(m_iconDisconnected); m_oThreadManage.OnInit(); OnOpen(); }
/* -------------------------------------------------------------------------- MainWndProc This is the main procedure which processes each message. Inputs: hwnd - The handle to the parent window message - Message sent from MainWndProc wParam - Command from MainWndProc lParam - Additional message information Outputs: Used as an boolean for the current message -------------------------------------------------------------------------- */ int FAR PASCAL MainWndProc(HWND hwnd, WORD message, WORD wParam, LONG lParam) { WORD wTabStop; switch (message) { case WM_INITDIALOG: hWnd = hwnd; hWndPScroll = GetDlgItem(hWnd, IDD_PSCROLL); hWndCScroll = GetDlgItem(hWnd, IDD_CSCROLL); hWndRList = GetDlgItem(hWnd, IDD_RLIST); of_course.lStructSize = sizeof(OPENFILENAME); of_player.lStructSize = sizeof(OPENFILENAME); of_course.hwndOwner = hWnd; of_player.hwndOwner = hWnd; of_course.lpstrFilter = "Course(*.GLC)\0*.glc\0"; of_player.lpstrFilter = "Player(*.GLP)\0*.glp\0"; of_course.lpstrCustomFilter = (LPSTR) NULL; of_player.lpstrCustomFilter = (LPSTR) NULL; of_course.nMaxCustFilter = 0L; of_player.nMaxCustFilter = 0L; of_course.nFilterIndex = 0L; of_player.nFilterIndex = 0L; of_course.lpstrFile = szFileC; of_player.lpstrFile = szFileP; of_course.nMaxFile = sizeof(szFileC); of_player.nMaxFile = sizeof(szFileP); of_course.lpstrFileTitle = szFileTitleC; of_player.lpstrFileTitle = szFileTitleP; of_course.nMaxFileTitle = sizeof(szFileTitleC); of_player.nMaxFileTitle = sizeof(szFileTitleP); of_course.lpstrInitialDir = NULL; of_player.lpstrInitialDir = NULL; of_course.nFileOffset = 0; of_player.nFileOffset = 0; of_course.nFileExtension = 0; of_player.nFileExtension = 0; of_course.lpstrDefExt = "GLC"; of_player.lpstrDefExt = "GLP"; p_index = r_index = r_last = c_index = 0; players.player_numb = courses.course_numb = -1; SetClassWord(hWnd, GCW_HICON, LoadIcon(hInst, "GOLFICON")); wTabStop = 4 + TAB_PIXEL_SETTING / (LOWORD(GetDialogBaseUnits()) / 4); SendMessage(hWndRList, LB_SETTABSTOPS, 1, (LONG) (WORD FAR *) &wTabStop); DoCaption(hWnd, szFileTitleP, szFileTitleC); return TRUE; case WM_INITMENU: /* Set the menu items */ DoMenu(wParam, &players, &courses, p_index, hWndRList); return TRUE; case WM_HSCROLL: /* move to next or previous record */ if (HIWORD(lParam) == hWndPScroll) move_player(hWnd, hWndRList, wParam, &players, &p_index, &r_index, &r_last); else if (HIWORD(lParam) == hWndCScroll) move_course(hWnd, wParam, &courses, &c_index); return TRUE; case WM_COMMAND: return CommandHandler(wParam, lParam); case WM_QUERYENDSESSION: if (bNeedSaveP && IDCANCEL == AskAboutSave(hWnd, szFileTitleP, PLAYER_MARKER)) return 1; if (bNeedSaveC && IDCANCEL == AskAboutSave(hWnd, szFileTitleC, COURSE_MARKER)) return 1; EndDialog(hWnd, NULL); return 0; case WM_CLOSE: /* Check if file has been saved and close window */ if (bNeedSaveP && IDCANCEL == AskAboutSave(hWnd, szFileTitleP, PLAYER_MARKER)) return 0; if (bNeedSaveC && IDCANCEL == AskAboutSave(hWnd, szFileTitleC, COURSE_MARKER)) return 0; EndDialog(hWnd, NULL); return 1; case WM_DESTROY: PostQuitMessage(0); return 0; default: return FALSE; } /* switch (message) */ } /* MainWndProc */
LRESULT CSimpleWnd::ReflectNotifications(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { HWND hWndChild = NULL; switch(uMsg) { case WM_COMMAND: if(lParam != NULL) // not from a menu hWndChild = (HWND)lParam; break; case WM_NOTIFY: hWndChild = ((LPNMHDR)lParam)->hwndFrom; break; case WM_PARENTNOTIFY: switch(LOWORD(wParam)) { case WM_CREATE: case WM_DESTROY: hWndChild = (HWND)lParam; break; default: hWndChild = GetDlgItem(m_hWnd,HIWORD(wParam)); break; } break; case WM_DRAWITEM: if(wParam) // not from a menu hWndChild = ((LPDRAWITEMSTRUCT)lParam)->hwndItem; break; case WM_MEASUREITEM: if(wParam) // not from a menu hWndChild = GetDlgItem(m_hWnd,((LPMEASUREITEMSTRUCT)lParam)->CtlID); break; case WM_COMPAREITEM: if(wParam) // not from a menu hWndChild = ((LPCOMPAREITEMSTRUCT)lParam)->hwndItem; break; case WM_DELETEITEM: if(wParam) // not from a menu hWndChild = ((LPDELETEITEMSTRUCT)lParam)->hwndItem; break; case WM_VKEYTOITEM: case WM_CHARTOITEM: case WM_HSCROLL: case WM_VSCROLL: hWndChild = (HWND)lParam; break; case WM_CTLCOLORBTN: case WM_CTLCOLORDLG: case WM_CTLCOLOREDIT: case WM_CTLCOLORLISTBOX: case WM_CTLCOLORMSGBOX: case WM_CTLCOLORSCROLLBAR: case WM_CTLCOLORSTATIC: hWndChild = (HWND)lParam; break; default: break; } if(hWndChild == NULL) { bHandled = FALSE; return 1; } bHandled = TRUE; SASSERT(::IsWindow(hWndChild)); return ::SendMessage(hWndChild, OCM__BASE + uMsg, wParam, lParam); }
UINT_PTR CALLBACK AddSrcDlgProc( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam ) { WORD cmd; int item; LRESULT rc; HWND ctl; lparam = lparam; switch( msg ) { case WM_INITDIALOG: { OPENFILENAME *of; ctl = GetDlgItem( hwnd, FOD_REMOVE ); EnableWindow( ctl, FALSE ); ctl = GetDlgItem( hwnd, IDOK ); EnableWindow( ctl, FALSE ); of = (OPENFILENAME *)lparam; SET_DLGDATA( hwnd, of->lCustData ); initFileList( hwnd ); } break; case WM_COMMAND: cmd = LOWORD( wparam ); switch( cmd ) { case FOD_FILES: if( GET_WM_COMMAND_CMD( wparam, lparam ) == LBN_DBLCLK ) { addCurrentFile( hwnd ); return( TRUE ); } else { return( FALSE ); } case IDOK: return( FALSE ); case FOD_ADD: addCurrentFile( hwnd ); PostMessage( hwnd, WM_COMMAND, IDOK, 0 ); return( TRUE ); case FOD_ADDALL: addAllFiles( hwnd ); break; case FOD_REMOVE: ctl = GetDlgItem( hwnd, FOD_FILELIST ); item = (int)SendMessage( ctl, LB_GETCURSEL, 0, 0 ); if( item != LB_ERR ) { rc = SendMessage( ctl, LB_DELETESTRING, item, 0 ); if( item != 0 ) { SendMessage( ctl, LB_SETCURSEL, item - 1, 0 ); } else { SendMessage( ctl, LB_SETCURSEL, item, 0 ); } } checkRemoveButton( hwnd ); break; case FOD_FILELIST: if( GET_WM_COMMAND_CMD( wparam, lparam ) == LBN_SELCHANGE || GET_WM_COMMAND_CMD( wparam, lparam ) == LBN_SELCANCEL ) { checkRemoveButton( hwnd ); } break; case FOD_CLOSE: GetResults( hwnd ); doClose( hwnd ); PostMessage( hwnd, WM_COMMAND, IDOK, 0 ); return( TRUE ); default: return( FALSE ); } break; default: return( FALSE ); } return( TRUE ); }
INT_PTR CALLBACK DlgProcSettings(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { static TCHAR customCommand[MAX_PATH] = {0}; static TCHAR customText[TITLE_SIZE] = {0}; static TCHAR szKeyTemp[MAX_PATH + GUID_STRING_SIZE]; static DWORD showMenu = 2; //0 off, 1 on, 2 unknown static DWORD useMenuIcon = 1; // 0 off, otherwise on HKEY settingKey; LONG result; DWORD size = 0; switch(uMsg) { case WM_INITDIALOG: { wsprintf(szKeyTemp, TEXT("CLSID\\%s\\Settings"), szGUID); result = RegOpenKeyEx(HKEY_CLASSES_ROOT, szKeyTemp, 0, KEY_READ, &settingKey); if (result == ERROR_SUCCESS) { size = sizeof(TCHAR)*TITLE_SIZE; result = RegQueryValueEx(settingKey, TEXT("Title"), NULL, NULL, (LPBYTE)(customText), &size); if (result != ERROR_SUCCESS) { lstrcpyn(customText, szDefaultMenutext, TITLE_SIZE); } size = sizeof(TCHAR)*MAX_PATH; result = RegQueryValueEx(settingKey, TEXT("Custom"), NULL, NULL, (LPBYTE)(customCommand), &size); if (result != ERROR_SUCCESS) { lstrcpyn(customCommand, TEXT(""), MAX_PATH); } size = sizeof(DWORD); result = RegQueryValueEx(settingKey, TEXT("Dynamic"), NULL, NULL, (BYTE*)(&isDynamic), &size); if (result != ERROR_SUCCESS) { isDynamic = 1; } size = sizeof(DWORD); result = RegQueryValueEx(settingKey, TEXT("ShowIcon"), NULL, NULL, (BYTE*)(&useMenuIcon), &size); if (result != ERROR_SUCCESS) { useMenuIcon = 1; } RegCloseKey(settingKey); } Button_SetCheck(GetDlgItem(hwndDlg, IDC_CHECK_USECONTEXT), BST_INDETERMINATE); Button_SetCheck(GetDlgItem(hwndDlg, IDC_CHECK_USEICON), BST_INDETERMINATE); Button_SetCheck(GetDlgItem(hwndDlg, IDC_CHECK_CONTEXTICON), useMenuIcon?BST_CHECKED:BST_UNCHECKED); Button_SetCheck(GetDlgItem(hwndDlg, IDC_CHECK_ISDYNAMIC), isDynamic?BST_CHECKED:BST_UNCHECKED); SetDlgItemText(hwndDlg, IDC_EDIT_MENU, customText); SetDlgItemText(hwndDlg, IDC_EDIT_COMMAND, customCommand); return TRUE; break; } case WM_COMMAND: { switch(LOWORD(wParam)) { case IDOK: { //Store settings GetDlgItemText(hwndDlg, IDC_EDIT_MENU, customText, TITLE_SIZE); GetDlgItemText(hwndDlg, IDC_EDIT_COMMAND, customCommand, MAX_PATH); int textLen = lstrlen(customText); int commandLen = lstrlen(customCommand); wsprintf(szKeyTemp, TEXT("CLSID\\%s\\Settings"), szGUID); result = RegCreateKeyEx(HKEY_CLASSES_ROOT, szKeyTemp, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &settingKey, NULL); if (result == ERROR_SUCCESS) { result = RegSetValueEx(settingKey, TEXT("Title"), 0,REG_SZ, (LPBYTE)customText, (textLen+1)*sizeof(TCHAR)); result = RegSetValueEx(settingKey, TEXT("Custom"), 0,REG_SZ, (LPBYTE)customCommand, (commandLen+1)*sizeof(TCHAR)); result = RegSetValueEx(settingKey, TEXT("Dynamic"), 0, REG_DWORD, (LPBYTE)&isDynamic, sizeof(DWORD)); result = RegSetValueEx(settingKey, TEXT("ShowIcon"), 0, REG_DWORD, (LPBYTE)&useMenuIcon, sizeof(DWORD)); RegCloseKey(settingKey); } if (showMenu == 1) { result = RegCreateKeyEx(HKEY_CLASSES_ROOT, szShellExtensionKey, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &settingKey, NULL); if (result == ERROR_SUCCESS) { result = RegSetValueEx(settingKey, NULL, 0,REG_SZ, (LPBYTE)szGUID, (lstrlen(szGUID)+1)*sizeof(TCHAR)); RegCloseKey(settingKey); } } else if (showMenu == 0) { RegDeleteKey(HKEY_CLASSES_ROOT, szShellExtensionKey); } if (showIcon == 1) { result = RegCreateKeyEx(HKEY_CLASSES_ROOT, TEXT("Notepad++_file\\shellex\\IconHandler"), 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &settingKey, NULL); if (result == ERROR_SUCCESS) { result = RegSetValueEx(settingKey, NULL, 0,REG_SZ, (LPBYTE)szGUID, (lstrlen(szGUID)+1)*sizeof(TCHAR)); RegCloseKey(settingKey); } } else if (showIcon == 0) { RegDeleteKey(HKEY_CLASSES_ROOT, TEXT("Notepad++_file\\shellex\\IconHandler")); RegDeleteKey(HKEY_CLASSES_ROOT, TEXT("Notepad++_file\\shellex")); } PostMessage(hwndDlg, WM_CLOSE, 0, 0); break; } case IDC_CHECK_USECONTEXT: { int state = Button_GetCheck((HWND)lParam); if (state == BST_CHECKED) showMenu = 1; else if (state == BST_UNCHECKED) showMenu = 0; else showMenu = 2; break; } case IDC_CHECK_USEICON: { int state = Button_GetCheck((HWND)lParam); if (state == BST_CHECKED) showIcon = 1; else if (state == BST_UNCHECKED) showIcon = 0; else showIcon = 2; break; } case IDC_CHECK_CONTEXTICON: { int state = Button_GetCheck((HWND)lParam); if (state == BST_CHECKED) useMenuIcon = 1; else useMenuIcon = 0; break; } case IDC_CHECK_ISDYNAMIC: { int state = Button_GetCheck((HWND)lParam); if (state == BST_CHECKED) isDynamic = 1; else isDynamic = 0; break; } default: break; } return TRUE; break; } case WM_CLOSE: EndDialog(hwndDlg, 0); return TRUE; default: break; } return FALSE; }
BOOL CEditMacroDlg::OnInitDialog() { CDialog::OnInitDialog(); // Rebuild the macro filename TCHAR szCurrentDir[_MAX_PATH+1]; GetCurrentDirectory(_MAX_PATH,szCurrentDir); CString strPath(szCurrentDir); if ( strPath[strPath.GetLength()-1] != '\\' ) { // The directory doesn't end with a backslash, // so we add one now. strPath += '\\'; } // if ASSERT(m_strMacroName.GetLength()); m_strFile = strPath + m_strMacroName + ".mac"; // Load the file try { CFile fileMacro(m_strFile,CFile::modeRead|CFile::shareDenyWrite); // Determine the file's length DWORD dwSize = fileMacro.GetLength(); // Read the file fileMacro.Read(m_strText.GetBuffer(dwSize),dwSize); m_strText.ReleaseBuffer(); // Close it fileMacro.Close(); } // try catch (CFileException* e) { // File I/O error CString strMsg; ::FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, e->m_cause, MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT), strMsg.GetBuffer(_MAX_PATH), 0, NULL ); strMsg.ReleaseBuffer(); strMsg = _T("File error reading macro file, '") + strMsg + _T("'"); // Display the string. AfxMessageBox(strMsg,MB_OK|MB_ICONERROR); EndDialog(IDCANCEL); } // catch catch (...) { // Some other error... CString strMsg; ::FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT), strMsg.GetBuffer(_MAX_PATH), 0, NULL ); strMsg.ReleaseBuffer(); strMsg = _T("Error reading macro file, '") + strMsg + _T("'"); // Display the string. AfxMessageBox(strMsg,MB_OK|MB_ICONERROR); EndDialog(IDCANCEL); } // catch // Set the focus to the edit control UpdateData(FALSE); CWnd* pEdit = GetDlgItem(IDC_TEXTEDIT); pEdit->SetFocus(); // note we set the return value to FALSE below... return FALSE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE // return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
/** * @param hwnd - window handle. * @param uMsg - message identifier. * @param wParam - first message parameter. * @param lParam - second message parameter. */ LRESULT CALLBACK CHyperLink::HyperLinkWndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { int x, y, nCtrlID; POINT point; HCURSOR hCursor; COLORREF rgbNewColor; PAINTSTRUCT ps; HWND hwndParent, hwndCtrl; LRESULT lResult; DWORD dwResult; HDC hdc; CHyperLink* _this = (CHyperLink*)GetWindowLongPtr(hwnd, GWLP_USERDATA); switch(uMsg) { case WM_NCHITTEST: return HTCLIENT; case WM_SETCURSOR: hCursor = g_pResManager->m_hArrowCursor; if (g_pResManager->m_hHandCursor) { dwResult = GetMessagePos(); point.x = GET_X_LPARAM(dwResult); point.y = GET_Y_LPARAM(dwResult); ScreenToClient(hwnd, &point); if (_this->HitTest(point)) hCursor = g_pResManager->m_hHandCursor; } if (hCursor) { SetCursor(hCursor); return TRUE; } return FALSE; case WM_LBUTTONDOWN: if (GetCapture() != hwnd) { x = GET_X_LPARAM(lParam); y = GET_Y_LPARAM(lParam); if (_this->HitTest(x, y)) { _this->m_rgbCurrentColor = m_rgbRedColor; SetCapture(hwnd); if (GetFocus() == hwnd) InvalidateRect(hwnd, NULL, FALSE); else SetFocus(hwnd); } } return 0; case WM_MOUSEMOVE: if (GetCapture() == hwnd) { x = GET_X_LPARAM(lParam); y = GET_Y_LPARAM(lParam); rgbNewColor = _this->HitTest(x, y) ? m_rgbRedColor : m_rgbBlueColor; if (_this->m_rgbCurrentColor != rgbNewColor) { _this->m_rgbCurrentColor = rgbNewColor; InvalidateRect(hwnd, NULL, FALSE); } } return 0; case WM_LBUTTONUP: if (GetCapture() == hwnd) { ReleaseCapture(); x = GET_X_LPARAM(lParam); y = GET_Y_LPARAM(lParam); if (_this->HitTest(x, y)) _this->DoAction(); } return 0; case WM_SETFOCUS: hwndParent = GetParent(hwnd); if (hwndParent) { nCtrlID = GetDlgCtrlID(hwnd); if (_this->m_nPrevDefButtonID < 0) { lResult = SendMessage(hwndParent, DM_GETDEFID, 0, 0); _this->m_nPrevDefButtonID = HIWORD(lResult) == DC_HASDEFID && LOWORD(lResult) != nCtrlID ? LOWORD(lResult) : -1; } SendMessage(hwndParent, DM_SETDEFID, nCtrlID, 0); if (_this->m_nPrevDefButtonID > 0) { // Sending a DM_SETDEFID message to change the default button will not always // remove the default state border from the first push button. In these cases, // the application should send a BM_SETSTYLE message to change the first push // button border style. hwndCtrl = GetDlgItem(hwndParent, _this->m_nPrevDefButtonID); if (SendMessage(hwndCtrl, WM_GETDLGCODE, 0, 0) & DLGC_DEFPUSHBUTTON) SendMessage(hwndCtrl, BM_SETSTYLE, BS_PUSHBUTTON, TRUE); } } InvalidateRect(hwnd, NULL, FALSE); return 0; case WM_KILLFOCUS: hwndParent = GetParent(hwnd); if (hwndParent && wParam && IsChild(hwndParent, (HWND)wParam)) { if (! (SendMessage((HWND)wParam, WM_GETDLGCODE, 0, 0) & (DLGC_DEFPUSHBUTTON | DLGC_UNDEFPUSHBUTTON))) { if (_this->m_nPrevDefButtonID > 0) { nCtrlID = _this->m_nPrevDefButtonID; _this->m_nPrevDefButtonID = -1; } else nCtrlID = IDOK; hwndCtrl = GetDlgItem(hwndParent, nCtrlID); if (hwndCtrl && IsWindowEnabled(hwndCtrl)) SendMessage(hwndParent, DM_SETDEFID, nCtrlID, 0); } else { _this->m_nPrevDefButtonID = -1; nCtrlID = GetDlgCtrlID((HWND)wParam); SendMessage(hwndParent, DM_SETDEFID, nCtrlID, 0); } } InvalidateRect(hwnd, NULL, FALSE); return 0; case WM_CAPTURECHANGED: _this->m_rgbCurrentColor = m_rgbBlueColor; InvalidateRect(hwnd, NULL, FALSE); return 0; case WM_ERASEBKGND: return TRUE; case WM_PAINT: hdc = (HDC)wParam; if (! hdc) { hdc = BeginPaint(hwnd, &ps); if (hdc) { _this->DrawHyperLink(hdc); EndPaint(hwnd, &ps); } } else _this->DrawHyperLink(hdc); return 0; case WM_PRINTCLIENT: hdc = (HDC)wParam; _this->DrawHyperLink(hdc); return 0; case WM_KEYDOWN: switch (wParam) { case VK_RETURN: _this->DoAction(); break; case VK_TAB: hwndParent = GetParent(hwnd); if (hwndParent) { BOOL bPrevCtrl = GetKeyState(VK_SHIFT) < 0; FORWARD_WM_NEXTDLGCTL(hwndParent, bPrevCtrl, FALSE, PostMessage); // ToDo: Fix This Define } break; case VK_LEFT: case VK_UP: hwndParent = GetParent(hwnd); if (hwndParent) FORWARD_WM_NEXTDLGCTL(hwndParent, TRUE, FALSE, PostMessage); break; case VK_RIGHT: case VK_DOWN: hwndParent = GetParent(hwnd); if (hwndParent) FORWARD_WM_NEXTDLGCTL(hwndParent, FALSE, FALSE, PostMessage); break; case VK_ESCAPE: hwndParent = GetParent(hwnd); if (hwndParent) { HWND hwndCtl = GetDlgItem(hwndParent, IDCANCEL); if (! hwndCtl || IsWindowEnabled(hwndCtl)) FORWARD_WM_COMMAND(hwndParent, IDCANCEL, hwndCtl, BN_CLICKED, PostMessage); } break; } return 0; case WM_GETDLGCODE: return ((GetFocus() == hwnd ? DLGC_DEFPUSHBUTTON : DLGC_UNDEFPUSHBUTTON) | DLGC_WANTALLKEYS); case BM_SETSTYLE: return 0; default: return DefWindowProc(hwnd, uMsg, wParam, lParam); } }
static void init_dialog(HWND hwnd, int num) { int drive_type, drive_extend_image_policy, n = 0; EnableWindow(GetDlgItem(hwnd, IDC_SELECT_DRIVE_TYPE_2031), drive_check_type(DRIVE_TYPE_2031, num - 8)); EnableWindow(GetDlgItem(hwnd, IDC_SELECT_DRIVE_TYPE_2040), drive_check_type(DRIVE_TYPE_2040, num - 8)); EnableWindow(GetDlgItem(hwnd, IDC_SELECT_DRIVE_TYPE_3040), drive_check_type(DRIVE_TYPE_3040, num - 8)); EnableWindow(GetDlgItem(hwnd, IDC_SELECT_DRIVE_TYPE_4040), drive_check_type(DRIVE_TYPE_4040, num - 8)); EnableWindow(GetDlgItem(hwnd, IDC_SELECT_DRIVE_TYPE_1001), drive_check_type(DRIVE_TYPE_1001, num - 8)); EnableWindow(GetDlgItem(hwnd, IDC_SELECT_DRIVE_TYPE_8050), drive_check_type(DRIVE_TYPE_8050, num - 8)); EnableWindow(GetDlgItem(hwnd, IDC_SELECT_DRIVE_TYPE_8250), drive_check_type(DRIVE_TYPE_8250, num - 8)); resources_get_int_sprintf("Drive%dType", &drive_type, num); resources_get_int_sprintf("Drive%dExtendImagePolicy", &drive_extend_image_policy, num); switch (drive_type) { case DRIVE_TYPE_NONE: n = IDC_SELECT_DRIVE_TYPE_NONE; break; case DRIVE_TYPE_2031: n = IDC_SELECT_DRIVE_TYPE_2031; break; case DRIVE_TYPE_2040: n = IDC_SELECT_DRIVE_TYPE_2040; break; case DRIVE_TYPE_3040: n = IDC_SELECT_DRIVE_TYPE_3040; break; case DRIVE_TYPE_4040: n = IDC_SELECT_DRIVE_TYPE_4040; break; case DRIVE_TYPE_1001: n = IDC_SELECT_DRIVE_TYPE_1001; break; case DRIVE_TYPE_8050: n = IDC_SELECT_DRIVE_TYPE_8050; break; case DRIVE_TYPE_8250: n = IDC_SELECT_DRIVE_TYPE_8250; break; } CheckRadioButton(hwnd, IDC_SELECT_DRIVE_TYPE_2031, IDC_SELECT_DRIVE_TYPE_NONE, n); enable_controls_for_drive_settings(hwnd, n); switch (drive_extend_image_policy) { case DRIVE_EXTEND_NEVER: n = IDC_SELECT_DRIVE_EXTEND_NEVER; break; case DRIVE_EXTEND_ASK: n = IDC_SELECT_DRIVE_EXTEND_ASK; break; case DRIVE_EXTEND_ACCESS: n = IDC_SELECT_DRIVE_EXTEND_ACCESS; break; } CheckRadioButton(hwnd, IDC_SELECT_DRIVE_EXTEND_NEVER, IDC_SELECT_DRIVE_EXTEND_ACCESS, n); }
void CDConsoleDlg::OnBnClickedButtonEvent6() { // TODO: Add your control notification handler code here GetDlgItem(IDC_EDIT_EVENTMSG)->SetWindowText(m_strEvent6); }
void CDConsoleDlg::OnClickTreeMenuItem(UINT uID) { switch (uID) { case ID_MENU_DCUSERINFO: { POSITION pos = m_DcUsers.GetFirstSelectedItemPosition(); int item = m_DcUsers.GetNextSelectedItem(pos); CString strResID = m_DcUsers.GetItemText(item, DCUSERS_RESID); CString strResult = m_peLTE_Player->ELTE_OCX_GetUserInfo(strResID); CHECK_RESULTE_CODE(strResult, _T("ELTE_OCX_GetUserInfo")); CString strUserID = GET_XML_ELEM_VALUE_STR(strResult, _T("UserID")); CString strUserCategory = GET_XML_ELEM_VALUE_STR(strResult, _T("UserCategory")); CString strUserPriority = GET_XML_ELEM_VALUE_STR(strResult, _T("UserPriority")); CString strUserName = GET_XML_ELEM_VALUE_STR(strResult, _T("UserName")); CString strDcInfo(_T("")); strDcInfo.Append(_T("DcID :")); strDcInfo.Append(strUserID); strDcInfo.Append(_T(" Priviledge :")); strDcInfo.Append(strUserCategory); strDcInfo.Append(_T(" Role :")); strDcInfo.Append(strUserPriority); strDcInfo.Append(_T(" Alias :")); strDcInfo.Append(strUserName); GetDlgItem(IDC_EDIT_EVENTMSG)->SetWindowText(strDcInfo); } break; case ID_MENU_DCGISSUBSCRIBE: { POSITION pos = m_DcUsers.GetFirstSelectedItemPosition(); int item = m_DcUsers.GetNextSelectedItem(pos); CString strResID = m_DcUsers.GetItemText(item, DCUSERS_RESID); CString strGisParam; strGisParam.Append(_T("<Content>")); strGisParam.Append(_T("<GISParam>")); strGisParam.Append(_T("<SubType>")); strGisParam.Append(_T("7")); strGisParam.Append(_T("</SubType>")); strGisParam.Append(_T("<ResourceList>")); strGisParam.Append(strResID); strGisParam.Append(_T("</ResourceList>")); strGisParam.Append(_T("<Subscriber>")); strGisParam.Append(_T("</Subscriber>")); strGisParam.Append(_T("</GISParam>")); strGisParam.Append(_T("</Content>")); CString strResult = m_peLTE_Player->ELTE_OCX_GISSubscribe(_T("0"), strGisParam); CHECK_RESULTE_CODE(strResult, _T("ELTE_OCX_GISSubscribe")); } break; case ID_MENU_DCGISUNSUBSCRIBE: { POSITION pos = m_DcUsers.GetFirstSelectedItemPosition(); int item = m_DcUsers.GetNextSelectedItem(pos); CString strResID = m_DcUsers.GetItemText(item, DCUSERS_RESID); CString strGisParam; strGisParam.Append(_T("<Content>")); strGisParam.Append(_T("<GISParam>")); strGisParam.Append(_T("<SubType>")); strGisParam.Append(_T("8")); strGisParam.Append(_T("</SubType>")); strGisParam.Append(_T("<ResourceList>")); strGisParam.Append(strResID); strGisParam.Append(_T("</ResourceList>")); strGisParam.Append(_T("<Subscriber>")); strGisParam.Append(_T("</Subscriber>")); strGisParam.Append(_T("</GISParam>")); strGisParam.Append(_T("</Content>")); CString strResult = m_peLTE_Player->ELTE_OCX_GISSubscribe(_T("0"), strGisParam); CHECK_RESULTE_CODE(strResult, _T("ELTE_OCX_GISSubscribe")); } break; } }
UINT_PTR CALLBACK AddSrcDlgProc95( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam ) { WORD cmd; int item; LRESULT rc; HWND ctl; HWND dlg; GetFilesInfo *info; lparam = lparam; switch( msg ) { case WM_INITDIALOG: { OPENFILENAME *of; of = (OPENFILENAME *)lparam; ctl = GetDlgItem( hwnd, FOD_REMOVE ); EnableWindow( ctl, FALSE ); dlg = GetParent( hwnd ); SendMessage( dlg, CDM_SETCONTROLTEXT, IDOK, (LPARAM)"&Add" ); SET_DLGDATA( hwnd, of->lCustData ); info = (GetFilesInfo *)of->lCustData; info->filter_index = of->nFilterIndex; info->filter = of->lpstrFilter; initFileList( hwnd ); } break; case WM_COMMAND: cmd = LOWORD( wparam ); switch( cmd ) { case FOD_ADD: addCurrentFile95( hwnd ); return( TRUE ); case FOD_ADDALL: addAllFiles95( hwnd ); break; case FOD_REMOVE: ctl = GetDlgItem( hwnd, FOD_FILELIST ); item = (int)SendMessage( ctl, LB_GETCURSEL, 0, 0 ); if( item != LB_ERR ) { rc = SendMessage( ctl, LB_DELETESTRING, item, 0 ); if( item != 0 ) { SendMessage( ctl, LB_SETCURSEL, item - 1, 0 ); } else { SendMessage( ctl, LB_SETCURSEL, item, 0 ); } } checkRemoveButton( hwnd ); break; case FOD_FILELIST: if( GET_WM_COMMAND_CMD( wparam, lparam ) == LBN_SELCHANGE || GET_WM_COMMAND_CMD( wparam, lparam ) == LBN_SELCANCEL ) { checkRemoveButton( hwnd ); } break; case FOD_CLOSE: GetResults( hwnd ); info = (GetFilesInfo *)GET_DLGDATA( hwnd ); info->ret_code = IDOK; PostMessage( GetParent( hwnd ), WM_COMMAND, IDCANCEL, 0L ); return( TRUE ); case IDCANCEL: info = (GetFilesInfo *)GET_DLGDATA( hwnd ); info->ret_code = IDCANCEL; PostMessage( GetParent( hwnd ), WM_COMMAND, IDCANCEL, 0L ); return( TRUE ); default: return( FALSE ); } break; case WM_NOTIFY: switch( ((NMHDR *)lparam)->code ) { case CDN_FILEOK: PostMessage( hwnd, WM_COMMAND, FOD_ADD, 0L ); SET_DLGRESULT( hwnd, 1L ); return( TRUE ); case CDN_TYPECHANGE: info = (GetFilesInfo *)GET_DLGDATA( hwnd ); info->filter_index = ((OFNOTIFY *)lparam)->lpOFN->nFilterIndex; break; } break; default: return( FALSE ); } return( TRUE ); }
void CFileView::OnNMRClickListFile(NMHDR *pNMHDR, LRESULT *pResult) { LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR); // TODO: 在此添加控件通知处理程序代码 CString strCurPath; GetDlgItem(IDC_EDIT_CURPATH)->GetWindowText(strCurPath); if (strCurPath.IsEmpty()) { return; } CMenu fileMenu; fileMenu.LoadMenu(IDR_MENU_FILE); CMenu *pSubMenu = fileMenu.GetSubMenu(0); pSubMenu->SetMenuItemBitmaps(ID_FILE_RUN, MF_BYCOMMAND, &m_MenuBmp[0], &m_MenuBmp[0]); //运行 pSubMenu->SetMenuItemBitmaps(ID_FILE_FLUSH, MF_BYCOMMAND, &m_MenuBmp[1], &m_MenuBmp[1]); //刷新 pSubMenu->SetMenuItemBitmaps(ID_FILE_COPY, MF_BYCOMMAND, &m_MenuBmp[2], &m_MenuBmp[2]); //copy pSubMenu->SetMenuItemBitmaps(ID_FILE_PASTE, MF_BYCOMMAND, &m_MenuBmp[3], &m_MenuBmp[3]); //paste pSubMenu->SetMenuItemBitmaps(ID_FILE_DEL, MF_BYCOMMAND, &m_MenuBmp[4], &m_MenuBmp[4]); //删除 pSubMenu->SetMenuItemBitmaps(ID_FILE_UPLOAD, MF_BYCOMMAND, &m_MenuBmp[5], &m_MenuBmp[5]); //上传 pSubMenu->SetMenuItemBitmaps(ID_FILE_DOWNLOAD, MF_BYCOMMAND, &m_MenuBmp[6], &m_MenuBmp[6]); //下载 pSubMenu->SetMenuItemBitmaps(ID_FILE_CREATE, MF_BYCOMMAND, &m_MenuBmp[7], &m_MenuBmp[7]); //新建 int nItem = pNMItemActivate->iItem; //选中项的索引值 if (-1 == nItem) //没有选中项 { pSubMenu->EnableMenuItem(ID_FILE_RUN, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); pSubMenu->EnableMenuItem(ID_FILE_COPY, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); pSubMenu->EnableMenuItem(ID_FILE_DEL, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); pSubMenu->EnableMenuItem(ID_FILE_DOWNLOAD, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); pSubMenu->EnableMenuItem(ID_FILE_RENAME, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); pSubMenu->EnableMenuItem(ID_FILE_ATTRIBUTE, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); if (!m_bCopy) //能不能拷贝 { pSubMenu->EnableMenuItem(ID_FILE_PASTE, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); //粘贴 } } else { CString strType = m_listCtrl.GetItemText(nItem, 1); if (_T("文件夹") == strType) //选中的是文件夹 { pSubMenu->EnableMenuItem(ID_FILE_RUN, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); //运行 pSubMenu->EnableMenuItem(ID_FILE_COPY, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); //复制 pSubMenu->EnableMenuItem(ID_FILE_PASTE, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); //粘贴 pSubMenu->EnableMenuItem(ID_FILE_UPLOAD, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); //上传 pSubMenu->EnableMenuItem(ID_FILE_DOWNLOAD, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); //下载 pSubMenu->EnableMenuItem(ID_FILE_CREATE, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); //新建文件夹 pSubMenu->EnableMenuItem(ID_FILE_ATTRIBUTE, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); } else //选中是文件 { pSubMenu->EnableMenuItem(ID_FILE_PASTE, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); //粘贴 pSubMenu->EnableMenuItem(ID_FILE_UPLOAD, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); //上传 pSubMenu->EnableMenuItem(ID_FILE_CREATE, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); //新建文件夹 } } CPoint point; GetCursorPos(&point); //获取光标位置 pSubMenu->TrackPopupMenu(TPM_LEFTALIGN, point.x, point.y, this); *pResult = 0; }
INT_PTR CALLBACK DlgLuaScriptDialog(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam) { RECT r; RECT r2; int dx1, dy1, dx2, dy2; switch (msg) { case WM_INITDIALOG: { // remove the 30000 character limit from the console control SendMessage(GetDlgItem(hDlg, IDC_LUACONSOLE), EM_LIMITTEXT, 0, 0); //GetWindowRect(GetParent(hDlg), &r); GetWindowRect(gApp.hWnd, &r); dx1 = (r.right - r.left) / 2; dy1 = (r.bottom - r.top) / 2; GetWindowRect(hDlg, &r2); dx2 = (r2.right - r2.left) / 2; dy2 = (r2.bottom - r2.top) / 2; int windowIndex = 0;//std::find(LuaScriptHWnds.begin(), LuaScriptHWnds.end(), hDlg) - LuaScriptHWnds.begin(); int staggerOffset = windowIndex * 24; r.left += staggerOffset; r.right += staggerOffset; r.top += staggerOffset; r.bottom += staggerOffset; // push it away from the main window if we can const int width = (r.right - r.left); const int width2 = (r2.right - r2.left); if (r.left + width2 + width < GetSystemMetrics(SM_CXSCREEN)) { r.right += width; r.left += width; } else if ((int)r.left - (int)width2 > 0) { r.right -= width2; r.left -= width2; } SetWindowPos(hDlg, NULL, r.left, r.top, NULL, NULL, SWP_NOSIZE | SWP_NOZORDER | SWP_SHOWWINDOW); RECT r3; GetClientRect(hDlg, &r3); windowInfo.width = r3.right - r3.left; windowInfo.height = r3.bottom - r3.top; for (int i = 0; i < numControlLayoutInfos; i++) { ControlLayoutState& layoutState = windowInfo.layoutState[i]; layoutState.valid = false; } DragAcceptFiles(hDlg, true); SetDlgItemText(hDlg, IDC_EDIT_LUAPATH, PCSX2GetLuaScriptName()); SystemParametersInfo(SPI_GETICONTITLELOGFONT, sizeof(LOGFONT), &LuaConsoleLogFont, 0); // reset with an acceptable font LuaConsoleHWnd = GetDlgItem(hDlg, IDC_LUACONSOLE); consoleputstring.clear(); consoleputstring.reserve(250000); return true; } break; case WM_SIZE: { // resize or move controls in the window as necessary when the window is resized //LuaPerWindowInfo& windowInfo = LuaWindowInfo[hDlg]; int prevDlgWidth = windowInfo.width; int prevDlgHeight = windowInfo.height; int dlgWidth = LOWORD(lParam); int dlgHeight = HIWORD(lParam); int deltaWidth = dlgWidth - prevDlgWidth; int deltaHeight = dlgHeight - prevDlgHeight; for (int i = 0; i < numControlLayoutInfos; i++) { ControlLayoutInfo layoutInfo = controlLayoutInfos[i]; ControlLayoutState& layoutState = windowInfo.layoutState[i]; HWND hCtrl = GetDlgItem(hDlg, layoutInfo.controlID); int x, y, width, height; if (layoutState.valid) { x = layoutState.x; y = layoutState.y; width = layoutState.width; height = layoutState.height; } else { RECT r; GetWindowRect(hCtrl, &r); POINT p = { r.left, r.top }; ScreenToClient(hDlg, &p); x = p.x; y = p.y; width = r.right - r.left; height = r.bottom - r.top; } switch (layoutInfo.horizontalLayout) { case ControlLayoutInfo::RESIZE_END: width += deltaWidth; break; case ControlLayoutInfo::MOVE_START: x += deltaWidth; break; default: break; } switch (layoutInfo.verticalLayout) { case ControlLayoutInfo::RESIZE_END: height += deltaHeight; break; case ControlLayoutInfo::MOVE_START: y += deltaHeight; break; default: break; } SetWindowPos(hCtrl, 0, x, y, width, height, 0); layoutState.x = x; layoutState.y = y; layoutState.width = width; layoutState.height = height; layoutState.valid = true; } windowInfo.width = dlgWidth; windowInfo.height = dlgHeight; RedrawWindow(hDlg, NULL, NULL, RDW_INVALIDATE); } break; case WM_COMMAND: switch (LOWORD(wParam)) { case IDOK: case IDCANCEL: { EndDialog(hDlg, true); // goto case WM_CLOSE; } break; case IDC_BUTTON_LUARUN: { if (!g_ReturnToGui) { consoleputstring.clear(); char filename[MAX_PATH]; GetDlgItemText(hDlg, IDC_EDIT_LUAPATH, filename, MAX_PATH); if(PCSX2LoadLuaCode(filename)) WinLuaOnStart(); } } break; case IDC_BUTTON_LUASTOP: { PCSX2LuaStop(); WinLuaOnStop(); } break; case IDC_BUTTON_LUAEDIT: { char Str_Tmp[1024]; SendDlgItemMessage(hDlg, IDC_EDIT_LUAPATH, WM_GETTEXT, (WPARAM)512, (LPARAM)Str_Tmp); // tell the OS to open the file with its associated editor, // without blocking on it or leaving a command window open. if ((int)ShellExecute(NULL, "edit", Str_Tmp, NULL, NULL, SW_SHOWNORMAL) == SE_ERR_NOASSOC) if ((int)ShellExecute(NULL, "open", Str_Tmp, NULL, NULL, SW_SHOWNORMAL) == SE_ERR_NOASSOC) ShellExecute(NULL, NULL, "notepad", Str_Tmp, NULL, SW_SHOWNORMAL); } break; case IDC_BUTTON_LUABROWSE: { //systemSoundClearBuffer(); //CString filter = winResLoadFilter(IDS_FILTER_LUA); //CString title = winResLoadString(IDS_SELECT_LUA_NAME); //CString luaName = winGetDestFilename(theApp.gameFilename, IDS_LUA_DIR, ".lua"); //CString luaDir = winGetDestDir(IDS_LUA_DIR); //filter.Replace('|', '\000'); // char *p = filter.GetBuffer(0); // while ((p = strchr(p, '|')) != NULL) // *p++ = 0; char filenamebuffer[MAX_PATH]; ZeroMemory(filenamebuffer, MAX_PATH); OPENFILENAME ofn; ZeroMemory((LPVOID)&ofn, sizeof(OPENFILENAME)); ofn.lpstrFile = filenamebuffer; ofn.nMaxFile = MAX_PATH; ofn.lStructSize = sizeof(OPENFILENAME); ofn.hwndOwner = hDlg; ofn.lpstrFilter = "Lua Script(*.lua)\0*.lua\0All files(*.*)\0*.*\0\0"; ofn.nFilterIndex = 0; //ofn.lpstrInitialDir = ""; ofn.lpstrTitle = "choose lua file"; ofn.lpstrDefExt = "lua"; ofn.Flags = OFN_HIDEREADONLY | OFN_FILEMUSTEXIST | OFN_ENABLESIZING | OFN_EXPLORER; // hide previously-ignored read-only checkbox (the real read-only box is in the open-movie dialog itself) if (GetOpenFileName(&ofn)) { SetWindowText(GetDlgItem(hDlg, IDC_EDIT_LUAPATH), filenamebuffer); } return true; } break; case IDC_EDIT_LUAPATH: { char filename[MAX_PATH]; GetDlgItemText(hDlg, IDC_EDIT_LUAPATH, filename, MAX_PATH); FILE* file = fopen(filename, "rb"); EnableWindow(GetDlgItem(hDlg, IDC_BUTTON_LUAEDIT), file != NULL); if (file) fclose(file); } break; case IDC_LUACONSOLE_CHOOSEFONT: { CHOOSEFONT cf; ZeroMemory(&cf, sizeof(cf)); cf.lStructSize = sizeof(CHOOSEFONT); cf.hwndOwner = hDlg; cf.lpLogFont = &LuaConsoleLogFont; cf.Flags = CF_SCREENFONTS | CF_INITTOLOGFONTSTRUCT; if (ChooseFont(&cf)) { if (hFont) { DeleteObject(hFont); hFont = NULL; } hFont = CreateFontIndirect(&LuaConsoleLogFont); if (hFont) SendDlgItemMessage(hDlg, IDC_LUACONSOLE, WM_SETFONT, (WPARAM)hFont, 0); } } break; case IDC_LUACONSOLE_CLEAR: { SetWindowText(GetDlgItem(hDlg, IDC_LUACONSOLE), ""); } break; case IDC_LUACONSOLE_UPDATE: { /*排他制御してやらないと、出力したい文字列が途切れたりしてしまうのです。。。*/ lockLuamutex(); if (!LuaConsoleHWnd || consoleputstring.empty()){ unlockLuamutex(); break; } HWND hConsole = LuaConsoleHWnd; int length = GetWindowTextLength(hConsole); if (length >= 250000) { // discard first half of text if it's getting too long SendMessage(hConsole, EM_SETSEL, 0, length / 2); SendMessage(hConsole, EM_REPLACESEL, false, (LPARAM)""); length = GetWindowTextLength(hConsole); } SendMessage(hConsole, EM_SETSEL, length, length); //LuaPerWindowInfo& info = LuaWindowInfo[hDlg]; { consoleputstring = Replace(consoleputstring, "\n", "\r\n"); SendMessage(hConsole, EM_REPLACESEL, false, (LPARAM)consoleputstring.c_str()); } consoleputstring.clear(); unlockLuamutex(); } break; } // switch (LOWORD(wParam)) break; case WM_CLOSE: { //SendMessage(hDlg, WM_DESTROY, 0, 0); DestroyWindow(hDmyWnd); } break; case WM_DESTROY: { PCSX2LuaStop(); DragAcceptFiles(hDlg, FALSE); if (hFont) { DeleteObject(hFont); hFont = NULL; } LuaConsoleHWnd = NULL; hLuaDlg = NULL; hDmyWnd = NULL; } break; case WM_DROPFILES: { HDROP hDrop; //UINT fileNo; UINT fileCount; char filename[_MAX_PATH]; hDrop = (HDROP)wParam; fileCount = DragQueryFile(hDrop, 0xFFFFFFFF, NULL, 0); if (fileCount > 0) { DragQueryFile(hDrop, 0, filename, sizeof(filename)); SetWindowText(GetDlgItem(hDlg, IDC_EDIT_LUAPATH), filename); } DragFinish(hDrop); return true; } break; } return false; }
void CdHardware::OnSelchangeCcd() { int detecttype; detecttype = ((CComboBox*)GetDlgItem(IDC_CCD))->GetCurSel(); switch (detecttype) { case 0: // EEV 256x1024 3-phase ccdtype = EEV_256x1024_3ph; break; case 1: // EEV 576x384 3-phase ccdtype = EEV_576x384_3ph; break; case 2: // EEV 1152x298 3-phase ccdtype = EEV_1152x298_3ph; break; case 3: // EEV 1152x1242 ccdtype = EEV_1152x1242_3ph; break; case 4: // EEV 256x1024 6-phase ccdtype = EEV_256x1024_6ph; break; case 5: // EEV 1024x512 FT ccdtype = EEV_1024x512_FT; break; case 6: // EEV 576x384 6-phase ccdtype = EEV_576x384_6ph; break; case 7: // EEV 1152x298 6-phase ccdtype = EEV_1152x298_6ph; break; case 8: // EEV 1152x1242 6-phase ccdtype = EEV_1152x1242_6ph; break; case 9: // EEV 256x1024 8-phase ccdtype = EEV_256x1024_8ph; break; case 10: // EEV 1152x770 3-phase ccdtype = EEV_1152x770_3ph; break; case 11: // EEV 1152x770 6-phase ccdtype = EEV_1152x770_6ph; break; case 12: // EEV 256x1024 6-phase CCD30 ccdtype = EEV_256x1024_6ph_CCD30; break; case 13: // EEV 1024x1024 CCD47-10 ccdtype = EEV_1024x1024_CCD47_10; break; case 14: // HAMMA 64x1024 ccdtype = HAM_64x1024; break; case 15: // HAMMA 128x1024 ccdtype = HAM_128x1024; break; case 16: // HAMMA 256x1024 ccdtype = HAM_256x1024; break; case 17: // KODAK 1024x1536 ccdtype = KDK_1024x1536; break; case 18: // KODAK 512x768 ccdtype = KDK_512x768; break; case 19: // KODAK 1035x1317 ccdtype = KDK_1035x1317; break; case 20: // KODAK 1024x1280 ccdtype = KDK_1024x1280; break; case 21: // KODAK 2044x2033 ccdtype = KDK_2044x2033; break; case 22: // KODAK 2048x3072 ccdtype = KDK_2048x3072; break; case 23: // PI 330x1100 8-phase (horz) ccdtype = PID_330x1100_8phH; break; case 24: // PI 532x1752 ccdtype = PID_532x1752; break; case 25: // PI 330x1100 6-phase ccdtype = PID_330x1100_6phH; break; case 26: // PI 240x330 HgCdTe ccdtype = PID_240x330_MCT; break; case 27: // PI 64x1024 ccdtype = PI_64x1024; break; case 28: // PI 128x1024 ccdtype = PI_128x1024; break; case 29: // PI 256x1024 ccdtype = PI_256x1024; break; case 30: // RET 400x1200 ccdtype = RET_400x1200; break; case 31: // RET 512x512 ccdtype = RET_512x512; break; case 32: // RET 1024x1024 ccdtype = RET_1024x1024; break; case 33: // RET 2048x2048 ccdtype = RET_2048x2048; break; case 34: // SIT 800x2000 Back Illm ccdtype = SIT_800x2000_B; break; case 35: // SIT 800x2000 Front Illm ccdtype = SIT_800x2000_F; break; case 36: // SIT 800x1000 Back ccdtype = PI_800x1000_B; break; case 37: // TEK 512x512B [100ns] ccdtype = TEK_512x512_B_100ns; break; case 38: // TEK 512x512F [100ns] ccdtype = TEK_512x512_F_100ns; break; case 39: // TEK 1024x1024B [100ns] ccdtype = TEK_1024x1024_B_100ns; break; case 40: // TEK 1024x1024F [100ns] ccdtype = TEK_1024x1024_F_100ns; break; case 41: // TEK 2048x2048 ccdtype = TEK_2048x2048; break; case 42: // TEK 1024x1024B Illm ccdtype = TEK_1024x1024_B_200ns; break; case 43: // TEK 1024x1024F Illm ccdtype = TEK_1024x1024_F_200ns; break; case 44: // TEK 512x512B [200ns] ccdtype = TEK_512x512_B_200ns; break; case 45: // TEK 512x512F [200ns] ccdtype = TEK_512x512_F_200ns; break; case 46: // TEK 512x512D Back Illm ccdtype = TEK_512x512D_B; break; case 47: // TEK 512x512D Front Illm ccdtype = TEK_512x512D_F; break; case 48: // TEK 1024x1024B Back Illm 42usV ccdtype = TEK_1024x1024_B_42usV; break; case 49: // TEK 1024x1024D Back Illm ccdtype = TEK_1024x1024D_B; break; case 50: // TEK 1024x1024D Front Illm ccdtype = TEK_1024x1024D_F; break; case 51: // TEK 1024x1024D Back Illm T3 ccdtype = TEK_1024x1024D_B_T3; break; case 52: // TH 576x384 ccdtype = THM_576x384; break; case 53: // TH 512x512 ccdtype = THM_512x512; break; case 54: // TH 256x1024 ccdtype = THM_256x1024; break; case 55: // TH THM_2048x1024FT ccdtype = THM_2048x1024_FT; break; } }
void CTabSample::OnBnClickedButtonStopsample() { // TODO: ÔÚ´ËÌí¼Ó¿Ø¼þ֪ͨ´¦Àí³ÌÐò´úÂë if (m_bStartSample == FALSE) { return; } m_bStopSample = TRUE; m_bStartSample = FALSE; CString str; // 发送采样结束操作命令帧 //OnSendCmdFrame(StartSampleCmd, 0, m_uiSampleNb); unsigned int uiIPAim; for (int i=0; i<GraphViewNum; i++) { if ((m_uiSampleNb & (0x01<<i)) != 0) { uiIPAim = 111 - 10*i; /*OnADCSampleStop(uiIPAim);*/ } } OnADCSampleStop(uiIPAim); // // 关闭采样输出随机数定时器 // KillTimer(1); // 关闭采样时间定时器 // KillTimer(10); // 对选中的仪器进行数据处理 for (int k=0; k<GraphViewNum; k++) { if (m_iSelectObject[k] == 1) { if (m_iSelectObjectNoise[k] == 0) { double davg = 0.0; double drms = 0.0; double dmax = 0.0; double dmin = 0.0; if (m_dSampleData[k].size() == 0) { continue; } davg = SampleDataAverage(m_dSampleData[k]); str.Format("Avg = %2.3f",davg); GetDlgItem(m_iMathId[k][0])->SetWindowText(str); drms = SampleDataRms(m_dSampleData[k]); str.Format("RMS = %2.3f",drms); GetDlgItem(m_iMathId[k][1])->SetWindowText(str); dmax = SampleDataMax(m_dSampleData[k]); str.Format("Max = %2.3f",dmax); GetDlgItem(m_iMathId[k][2])->SetWindowText(str); dmin = SampleDataMin(m_dSampleData[k]); str.Format("Min = %2.3f",dmin); GetDlgItem(m_iMathId[k][3])->SetWindowText(str); // 将数据处理结果加入到数组中 m_dSampleData[k].push_back(davg); m_dSampleData[k].push_back(drms); m_dSampleData[k].push_back(dmax); m_dSampleData[k].push_back(dmin); } } } // 计算仪器最大的采样长度 m_iMaxLength = OnSampleDataMaxLength(GraphViewNum, m_dSampleData); if (m_iMaxLength == 0) { return; } // 横向滚动条的最大和最小值 m_uiScrollBarMax = m_iMaxLength; if (m_iMaxLength > m_OScopeCtrl[0].XAxisPointNum) { m_uiScrollBarMin = m_OScopeCtrl[0].XAxisPointNum; } else { m_uiScrollBarMin = 0; } CScrollBar*pSB =(CScrollBar*)GetDlgItem(IDC_SCROLLBAR_GRAPHVIEW); pSB->SetScrollRange(m_uiScrollBarMin, m_uiScrollBarMax); pSB->SetScrollPos(m_uiScrollBarMax, TRUE); // 将采样数据保存到文件中,只有设定采样时间的数据才会被保存 if (m_dSampleTime > 0) { OnSaveToFile(MathValueIdNum, GraphViewNum, m_cSelectObjectName,m_dSampleData); } }
BOOL CSpiderAddPageDlg::OnInitDialog() { CDialog::OnInitDialog(); if (m_pUiWindow) m_pUiWindow->setWindow (m_hWnd); m_schScheduleParam.schTask.hts.enType = HTS_ONCE; m_schScheduleParam.schTask.hts.last.dwHighDateTime = m_schScheduleParam.schTask.hts.last.dwLowDateTime = UINT_MAX; m_schScheduleParam.schTask.dwFlags = SCHEDULE_ENABLED; SYSTEMTIME time; GetLocalTime (&time); if (++time.wHour > 23) time.wHour = 0; time.wMinute = 0; SystemTimeToFileTime (&time, &m_schScheduleParam.schTask.hts.next); m_schScheduleParam.schTask.uWaitForConfirmation = 0; m_btnChooseFolder.SetIcon (SICO (IDI_CHOOSEFOLDER)); m_btnCreateGroup.SetIcon (SICO (IDI_CREATEGROUP)); m_btnSetTime.SetIcon (SICO (IDI_SETTIME)); m_btnOutFolderSetDefault.SetIcon (SICO (IDI_SETFOLDERDEFAULT)); m_wndGroups.Fill (); m_wndGroups.SelectGroupById (_App.CreateDld_IdOfLastGrpSelected ()); CheckDlgButton (IDC_KEEP, _App.Spider_Flags () & WPDF_KEEPFOLDERSTRUCTURE ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton (IDC_DONTSTOREPAGES, _App.Spider_Flags () & WPDF_DONTSTOREPAGES ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton (IDC_DELCOMPLETED, _App.Spider_Flags () & WPDF_DELCOMPLETEDDLDS ? BST_CHECKED : BST_UNCHECKED); CComboBox *pUrls = (CComboBox*) GetDlgItem (IDC_URL); int i = 0; for (i = 0; i < _LastUrlFiles.GetRecordCount (); i++) pUrls->AddString (_LastUrlFiles.GetRecord (i)); if (m_strStartUrl.GetLength () == 0) { LPCSTR pszUrl = _ClipbrdMgr.Text (); if (pszUrl) { fsURL url; if (url.Crack (pszUrl) == IR_SUCCESS) m_strUrl = pszUrl; } if (m_strUrl.GetLength () == 0) m_strUrl = "http://"; } else m_strUrl = m_strStartUrl; pUrls->SetWindowText (m_strUrl); CComboBox *pDirs = (CComboBox*) GetDlgItem (IDC_OUTFOLDER); for (i = 0; i < _LastFolders.GetRecordCount (); i++) pDirs->AddString (_LastFolders.GetRecord (i)); GetDlgItem (IDC_URL)->SetFocus (); m_bOutFolderChanged = m_bGroupChanged = FALSE; ReadAutostart (); ApplyLanguage (); if (m_bReqTopMost) { fsSetForegroundWindow (m_hWnd); mfcSetTopmostWindow (this); } m_wndDepthSpin.SetRange (0, UD_MAXVAL); SetDlgItemInt (IDC_DEPTH, m_wpd->GetWDPS ()->iDepth); if (m_wndGroups.SelectGroupById (_App.NewDL_GroupId ())) m_bGroupChanged = TRUE; OnChangeGroups (); BuildOutFolder (); UpdateEnabled (); return TRUE; }
BOOL CALLBACK DialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { if (uMsg == WM_INITDIALOG || uMsg == WM_NOTIFY_OUTER_NEXT) { page *this_page; static DLGPROC winprocs[]= { #ifdef NSIS_CONFIG_LICENSEPAGE LicenseProc, #endif #ifdef NSIS_CONFIG_COMPONENTPAGE SelProc, #endif DirProc, InstProc, #ifdef NSIS_CONFIG_UNINSTALL_SUPPORT UninstProc #endif }; m_delta = wParam; if (uMsg == WM_INITDIALOG) { g_hwnd=hwndDlg; m_hwndOK=GetDlgItem(hwndDlg,IDOK); m_hwndCancel=GetDlgItem(hwndDlg,IDCANCEL); SetDlgItemTextFromLang(hwndDlg,IDC_VERSTR,LANG_BRANDING); SetClassLong(hwndDlg,GCL_HICON,(long)g_hIcon); // use the following line instead of the above, if .rdata needs shirking //SendMessage(hwndDlg,WM_SETICON,ICON_BIG,(LPARAM)g_hIcon); #if defined(NSIS_SUPPORT_CODECALLBACKS) && defined(NSIS_CONFIG_ENHANCEDUI_SUPPORT) g_quit_flag = ExecuteCallbackFunction(CB_ONGUIINIT); #endif //ShowWindow(hwndDlg, SW_SHOW); m_delta = 1; } this_page=g_pages+m_page; if (m_page>=0) { #ifdef NSIS_SUPPORT_CODECALLBACKS // Call leave function. If Abort used don't move to the next page. // But if quit called we must exit now if (m_delta==1) if (ExecuteCodeSegment(this_page->leavefunc,NULL)) { SendMessage(m_curwnd, WM_IN_UPDATEMSG, 0, 1); return !g_quit_flag; } #endif // if the last page was a custom page, wait for it to finish by itself. // if it doesn't, it's a BAD plugin. // plugins should react to WM_NOTIFY_OUTER_NEXT. if (!this_page->dlg_id) return 0; } NotifyCurWnd(WM_NOTIFY_INIGO_MONTOYA); nextPage: m_page+=m_delta; this_page+=m_delta; #ifdef NSIS_SUPPORT_CODECALLBACKS if (m_page==g_blocks[NB_PAGES].num) ExecuteCallbackFunction(CB_ONINSTSUCCESS); #endif//NSIS_SUPPORT_CODECALLBACKS if (g_quit_flag || (unsigned int)m_page >= (unsigned int)g_blocks[NB_PAGES].num) { DestroyWindow(m_curwnd); g_hwnd = 0; EndDialog(hwndDlg,m_retcode); } else { HWND hwndtmp; int pflags = this_page->flags; GetNSISString(state_click_next, this_page->clicknext); SetDlgItemTextFromLang(hwndDlg, IDOK, this_page->next); SetDlgItemTextFromLang(hwndDlg, IDC_BACK, this_page->back); SetDlgItemTextFromLang(hwndDlg, IDCANCEL, this_page->cancel); hwndtmp = GetDlgItem(hwndDlg, IDC_BACK); if (g_exec_flags.abort) { pflags &= ~(PF_BACK_ENABLE | PF_NEXT_ENABLE); pflags |= PF_CANCEL_ENABLE; } ShowWindow(hwndtmp, pflags & PF_BACK_SHOW);// SW_HIDE = 0, PF_BACK_SHOW = SW_SHOWNA = 8 EnableWindow(hwndtmp, pflags & PF_BACK_ENABLE); EnableNext(pflags & PF_NEXT_ENABLE); EnableWindow(m_hwndCancel, pflags & PF_CANCEL_ENABLE); if (pflags & PF_CANCEL_ENABLE) EnableMenuItem(GetSystemMenu(hwndDlg, FALSE), SC_CLOSE, MF_BYCOMMAND | MF_ENABLED); else EnableMenuItem(GetSystemMenu(hwndDlg, FALSE), SC_CLOSE, MF_BYCOMMAND | MF_GRAYED); SendMessage(hwndtmp, BM_SETSTYLE, BS_PUSHBUTTON, TRUE); if (g_exec_flags.abort) { SendMessage(hwndDlg, DM_SETDEFID, IDCANCEL, 0); SetActiveCtl(m_hwndCancel); } else { SetActiveCtl(m_hwndOK); } mystrcpy(g_tmp,g_caption); GetNSISString(g_tmp+mystrlen(g_tmp),this_page->caption); my_SetWindowText(hwndDlg,g_tmp); #ifdef NSIS_SUPPORT_CODECALLBACKS // custom page or user used abort in prefunc if (ExecuteCodeSegment(this_page->prefunc, NULL) || !this_page->dlg_id) { goto nextPage; } #endif //NSIS_SUPPORT_CODECALLBACKS if (this_page->wndproc_id != PWP_COMPLETED) { DestroyWindow(m_curwnd); } else { if (!g_exec_flags.abort && g_exec_flags.autoclose) goto nextPage; // no need to go to skipPage because PWP_COMPLETED always follows PWP_INSTFILES return FALSE; } // update g_this_page for the dialog proc g_this_page=this_page; if (this_page->dlg_id > 0) // NSIS page { m_curwnd=CreateDialogParam( g_hInstance, MAKEINTRESOURCE(this_page->dlg_id+dlg_offset), hwndDlg,winprocs[this_page->wndproc_id],(LPARAM)this_page ); if (m_curwnd) { RECT r; SetDlgItemTextFromLang(m_curwnd,IDC_INTROTEXT,this_page->parms[0]); GetWindowRect(GetDlgItem(hwndDlg,IDC_CHILDRECT),&r); ScreenToClient(hwndDlg,(LPPOINT)&r); SetWindowPos(m_curwnd,0,r.left,r.top,0,0,SWP_NOACTIVATE|SWP_NOSIZE|SWP_NOZORDER); #ifdef NSIS_SUPPORT_CODECALLBACKS ExecuteCodeSegment(this_page->showfunc,NULL); if (g_quit_flag) return FALSE; #endif //NSIS_SUPPORT_CODECALLBACKS ShowWindow(m_curwnd,SW_SHOWNA); NotifyCurWnd(WM_NOTIFY_START); } } } skipPage: if (!ui_dlg_visible && m_curwnd) { ShowWindow(hwndDlg, SW_SHOWDEFAULT); ui_dlg_visible = 1; } return FALSE; } #ifdef NSIS_SUPPORT_BGBG if (uMsg == WM_WINDOWPOSCHANGED) { SetWindowPos(m_bgwnd, hwndDlg, 0, 0, 0, 0, SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE); } if (uMsg == WM_SIZE) { ShowWindow(m_bgwnd, wParam == SIZE_MINIMIZED ? SW_HIDE : SW_SHOW); } #endif //NSIS_SUPPORT_BGBG if (uMsg == WM_NOTIFY_CUSTOM_READY) { DestroyWindow(m_curwnd); m_curwnd = (HWND)wParam; goto skipPage; } if (uMsg == WM_QUERYENDSESSION) { SetWindowLong(hwndDlg, DWL_MSGRESULT, FALSE); return TRUE; } if (uMsg == WM_COMMAND) { int id = LOWORD(wParam); HWND hCtl = GetDlgItem(hwndDlg, id); // lParam might be NULL if (hCtl) { SendMessage(hCtl, BM_SETSTATE, FALSE, 0); if (!IsWindowEnabled(hCtl)) return 0; } if (id == IDOK) { outernotify(1); } else if (id == IDC_BACK && m_page>0) { outernotify(-1); } else if (id == IDCANCEL) { if (g_exec_flags.abort) { #ifdef NSIS_SUPPORT_CODECALLBACKS ExecuteCallbackFunction(CB_ONINSTFAILED); #endif//NSIS_SUPPORT_CODECALLBACKS m_retcode=2; outernotify(NOTIFY_BYE_BYE); } else { #ifdef NSIS_SUPPORT_CODECALLBACKS if (!ExecuteCallbackFunction(CB_ONUSERABORT)) #endif//NSIS_SUPPORT_CODECALLBACKS { m_retcode=1; outernotify(NOTIFY_BYE_BYE); } } } else { // Forward WM_COMMANDs to inner dialogs, can be custom ones. // Without this, enter on buttons in inner dialogs won't work. SendMessage(m_curwnd, WM_COMMAND, wParam, lParam); } } return HandleStaticBkColor(); }