static void OpenFile(WindowControl fileDialog, string path) { //ボタン取得 var buttonOpen = new NativeButton(fileDialog.IdentifyFromWindowText("開く(&O)")); //コンボボックスは二つある場合がある。 //下の方を採用。 var comboBoxPathSrc = fileDialog.GetFromWindowClass("ComboBoxEx32").OrderBy(e => { RECT rc; GetWindowRect(e.Handle, out rc); return rc.Top; }).Last(); var comboBoxPath = new NativeComboBox(comboBoxPathSrc); //パスを設定 comboBoxPath.EmulateChangeEditText(path); //開くボタンを押す buttonOpen.EmulateClick(); }
public void TestComboBoxEx32TextChangeEvent() { NativeComboBox combo = new NativeComboBox(testDlg.IdentifyFromDialogId(1007)); //イベント発生テスト。 //CBN_EDITCHANGEが発生すること。 combo.EmulateSelectItem(0); Assert.IsTrue(EventChecker.IsSameTestEvent(testDlg, delegate { combo.EmulateChangeEditText("abc"); }, //無視。 CreateIgnorMessage(1007, new CodeInfo(1007, NativeMethods.WM_COMMAND, CBN_SELENDCANCEL)), //期待値。 new CodeInfo(1007, NativeMethods.WM_COMMAND, CBN_EDITCHANGE))); combo.EmulateChangeEditText(string.Empty); }
public void TestComboBoxEx32TextChangeEventAsync() { NativeComboBox combo = new NativeComboBox(testDlg.IdentifyFromDialogId(1009)); Async async = new Async(); combo.EmulateChangeEditText("abc", async); Assert.IsTrue(0 < MessageBoxUtility.CloseAll(testDlg, async)); }
public void TestComboBoxTextChangeEvent() { NativeComboBox combo = new NativeComboBox(testDlg.IdentifyFromDialogId(1006)); //イベント発生テスト。 //CBN_EDITCHANGEが発生すること。 //ComboBoxはCBN_EDITUPDATEも発生すること。 Assert.IsTrue(EventChecker.IsSameTestEvent(testDlg, delegate { combo.EmulateChangeEditText("abc"); }, CreateIgnorMessage(1006), new CodeInfo(1006, NativeMethods.WM_COMMAND, CBN_EDITCHANGE), new CodeInfo(1006, NativeMethods.WM_COMMAND, CBN_EDITUPDATE))); combo.EmulateChangeEditText(string.Empty); }