たとえば、MFCプログラムでは、メインアプリケーションと「クラス」があります。メインアプリケーション上にあるコントロール(リストボックスなど)をその「クラス」から更新したい場合はどうすればよいですか?ダイアログの外でコントロールを更新するにはどうすればよいですか?
答えて
あなたのクラスは、メインアプリケーションが聴くことができるイベントを引き起こすように設計できます。次に、リスナ/イベントハンドラ/デリゲートを呼び出してイベントを処理し、リストボックスを更新することができます。通常、ほとんどのイベントフォーマットは、送信側のリファレンス(この場合は「クラス」)とイベント引数を含むオブジェクトを渡します。これらの引数を使用して、リストボックスに追加する項目のリストを渡すことができます。
クラス内にダイアログオブジェクトのハンドルがある場合は、GetDlgItem(ResourceID)を使用してリストコントロールオブジェクトを取得できます。
これは、メインウィンドウではなくダイアログ内のコントロールにのみ適用されます。 –
しかし、MSDNのドキュメントによると、最初のパラメータ(ウィンドウハンドル)はダイアログボックスである必要はありません。 – Naveen
最も簡単なアプローチは、アプリケーションフォーム/ウィンドウからそれを使用するクラスにリストビューを公開することです。これを行うには、listviewオブジェクト(または親ウィンドウ)をクラスコンストラクタに渡すか、クラスによってアクセス可能な静的変数に格納します。
カプセル化を強化するために、クラスが呼び出すことができるアプリケーション内にメソッドを配置することができます。 "AddItemToListBox()"。これにより、アプリケーションオブジェクトはリストボックスへのアクセス方法を制御し続けることができます。ここでも静的メソッドとしてこれを行うことも、メインプログラムオブジェクトのthisポインタをクラスコンストラクタに渡すこともできます。
すなわち
class CApplication
{
CListBox m_ListBox;
public:
static void CApplication::AddItemToListBox(CString itemText)
{
// Add the item as you wish here
}
}
class CMyClass
{
afx_msg void CMyClass::OnMouseDown(...)
{
CApplication::AddItemToListBox("This is a test");
}
}
HERESに私はそれを行うにはどうすればよい私
theApp.m_pMainWnd->GetDlgItem(IDC_BUTTON6)->SetWindowTextW(L"Run Auto Test");
- 1. Silverlightコントロールを更新するにはどうすればよいですか?
- 2. 編集/更新イベントの外にTextBoxコントロールにアクセスするにはどうすればよいですか?
- 3. DbContextの外で変更されたエンティティを更新するにはどうすればよいですか?
- 4. Raddropdownlistのデフォルト値をコントロールの外から変更するにはどうすればよいですか?
- 5. 新しいMFCダイアログのデフォルト言語(地域)を変更するにはどうすればよいですか?
- 6. UIStackViewでコントロールの内容を更新するにはどうすればよいですか?
- 7. コントロール/タブページ内のすべてのWebブラウザーを更新するにはどうすればよいですか?
- 8. Labelコントロールの値を定期的に更新するにはどうすればよいですか?
- 9. 毎秒更新するWPFコントロールを作成するにはどうすればよいですか?
- 10. コントロールのBackColorが変更されないようにするにはどうすればよいですか?
- 11. TabContolの内部コントロールを更新するにはどうすればよいですか?
- 12. ブートストラップ:モーダルダイアログでは、ドロップダウンメニューをダイアログの外に展開するにはどうすればよいですか?
- 13. JQuery UiダイアログからページのDivを更新するにはどうすればいいですか?
- 14. オブジェクトの外部キー値をLINQでエンティティに更新するにはどうすればよいですか?
- 15. ブートストラップを-bootswatch.scssで更新するにはどうすればよいですか?
- 16. MapViewをアドレスで更新するにはどうすればよいですか?
- 17. JavaでGUIを更新するにはどうすればよいですか?
- 18. Androidでリストビューを更新するにはどうすればよいですか?
- 19. SQLでテーブルを更新するにはどうすればよいですか?
- 20. VBAでピボットテーブルを更新するにはどうすればよいですか?
- 21. PyQt5でQLabelを更新するにはどうすればよいですか?
- 22. リーフレットポップアップでコンテンツを更新するにはどうすればよいですか?
- 23. アプリケーションをプログラムで更新するにはどうすればよいですか?
- 24. コミットバージョンでローカルパスを更新するにはどうすればよいですか?
- 25. カスタムパースクラスでNSDictionaryを更新するにはどうすればよいですか?
- 26. ToolStripButtonでToolTipTextを更新するにはどうすればよいですか?
- 27. レールをリアルタイムで更新するにはどうすればよいですか?
- 28. indexedDBでデータを更新するにはどうすればよいですか?
- 29. wpfでウィンドウを更新するにはどうすればよいですか?
- 30. VIM:vimでディレクトリを更新するにはどうすればよいですか?
のために働いた例?申し訳ありません、ただ初心者です。 –
SoviutはMFCではなくC#の言葉で話しています。 –
ジェイソンは正しいです。私は、2つの別々のエンティティ間のやり取りの要点をあなたに伝えるために最善を尽くしています。 C#/ ActionScript/Javaの世界では、通常、カスタムイベントの使用を意味します。 – Soviut