編集可能なコンボ ボックスと前方および後方検索ボタンを含む「検索」パネルを備えた VS2008 プロジェクトがあります。検索ボタンを押すとGetEditText()
、古い値が返されます。
CMainFrame *pFrame = static_cast<CMainFrame*>(GetTopLevelFrame());
CMFCRibbonBar* pRibbon = pFrame->GetRibbonBar();
ASSERT_VALID(pRibbon);
CMFCRibbonComboBox* pFindCombobox =
DYNAMIC_DOWNCAST(CMFCRibbonComboBox, pRibbon->FindByID(ID_MY_FIND_COMBOBOX));
// this returns the last value before the combo box edit field got the focus:
pFindCombobox->GetEditText();
によってアクセスされる値バッファに編集フィールドの内容を「フラッシュ」する標準的な方法はありますGetEditText()
か?
VS2010SetFocused()
ではクラスにメンバーがありCMFCRibbonPanel
、コンボボックスからフォーカスを盗み、おそらくGetEditText()
正しい値を強制的に返すために使用できることに気付きましたが、VS2008 にはありません。
現在、これを処理する方法のアイデアが不足しています。誰もが手がかりを持っていることを願っています。