コンボボックスでの選択に基づいてコントロールの種類を動的に変更するダイアログが表示されるC++ MFCアプリケーションがあります。ダイアログリソースは、普通の古いエディットコントロールから始まります。次に、カスタムコントロールタイプに変更するためにSubclassDlgItemを呼び出します。SubclassDlgItemを使用してコントロールの種類を変更する
これまでのところとても良いです。今、ユーザーが画面上の別のコンボボックスで選択を変更すると、このコントロールを別のカスタムタイプに変更します。だから、私はそのコントロールのカスタムクラスへのポインタの削除を呼び出すことによって、既存のコントロールを破壊します。次に、:: CreateExを呼び出して編集コントロールを再作成し、SubclassDlgItemを再度呼び出して新しいカスタムコントロールを作成します。
私の問題は、これがかなりちらつき、私はカスタムコントロールの上に:: CreateExで作成されたエディットコントロールを得ていると思います。どのようにちらつきを取り除くためのアイデア、特にユーザーがコントロールコンボボックスの内容をすばやく変更している場合は?
古いカスタムコントロールを削除する前にUnsubclassDlgItemを呼んでいたので、:: CreateExエディットコントロールの重複があったことをどのように私はそれがちょうど1制御IDで動作するように入手できますか?どのコントロールがIDに関連付けられているかを切り替えるには、UnsubclassとSubclassを再度呼び出す必要がありますか? – Tyler