問題タブ [cdialog]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
372 参照

c++ - CDialog コントロールのフォーカスを別のダイアログから変更する

PostMessage を使用して、CDialog コントロールのフォーカスを CFormView から変更しようとしています。

[CHelpView は CFormView から継承されています。m_wndDlg は CSampleDlg (CDialog から継承) オブジェクトです]

ダイアログはメッセージを受け取りますが、NextDlgCtrl メソッドはフォーカスを変更しません。PreTranslateMessage メソッドを変更すると、Return キーが押された場合にダイアログ内で、この NextDlgCtrl メソッドは、ユーザーが (ダイアログから) Return キーを押すたびにフォーカスを適切に変更することに気付きました。しかし、これは別のダイアログでは達成できませんでした。

その背後にある理由、またはヒントや回避策を知っている人はいますか?

ありがとう。

編集:

これは、SPY++ からのダイアログのログ ファイル (の一部) です。

<01128> 0016013E R WM_GETDLGCODE fuDlgCode:0000

<01129> 0016013E P WM_KEYDOWN nVirtKey:00726574 cRepeat:2 ScanCode:00 fExtended:0 fAltDown:0 fRepeat:0 fUp:0

<01130> 0016013E S WM_NEXTDLGCTL wCtlFocus:(null) (次のコントロールがフォーカスを受け取る) fHandle:False

<01131> 0016013E R WM_NEXTDLGCTL

<01132> 0016013E S WM_GETDLGCODE

0 投票する
1 に答える
575 参照

mfc - MFC トグル ラジオ ボタンの遅延

CDialog の CButton であるラジオ ボタンがあります。ユーザーがラジオ ボタンをクリックすると、関数OnClickedRadioButtonが呼び出されます。

内部OnClickedRadioButtonでは、この関数を呼び出してボタンを切り替えます。

プログラムをコンパイルして実行すると、(i)ラジオボタンがオンになっている場合は、クリックしてクリアできます。(ii) ラジオ ボタンがオフの場合、クリックしても何も起こりません。しかし、別のプログラム (Visual Studio など) をクリックしてから CDialog に戻ると、ラジオ ボタンがオンになります。

Cwnd::UpdateDialogControls関数とを見て試してみましたがCwnd::UpdateData、問題を解決するためにこれらを取得できませんでした。

0 投票する
1 に答える
705 参照

c++ - Visual C++ DLL に MFC リソース (CDialog フォーム) を含める

CDialog フォームを含む DLL をコンパイルしようとしています。詳細には、レイアウトとすべてのパブリック メソッドを含むリソースを含めたいと思います。

主な目標は、フォーム (およびそのメソッド) をエクスポートして、既存のフォームの IDD をいじることなく外部環境で使用することです。

私の (1 日にわたる) 調査では、これに対する可能な解決策は示されませんでした。MFC を使用した C++ プログラミングは初めてなので、開始方法がわかりません。

ご協力ありがとうございました!

0 投票する
1 に答える
365 参照

button - CDialog クラスを使用して Visual Studio 2013 でボタンのプロパティ ページを有効にする方法

Visual Studio 2008 では、CDialog ボックスのリソース ビューからボタンをダブルクリックすると、アクションの編集に役立つコードに直接移動できます。しかし、2013 年にボタンをダブルクリックすると、[クラスの追加ウィザード] ウィンドウがポップアップ表示されます。ボタンの機能を編集したいだけです。これどうやってするの?ボタンのプロパティ ウィンドウで、[プロパティ ページ] ボタン (レンチ) が無効になり、[イベントの制御] ボタン (稲妻) をクリックしても何も選択できません。前もって感謝します!

0 投票する
1 に答える
903 参照

c++ - GetWindowRect(rcWindow2) の cx/cy が OnSize に供給される cx/cy と異なるのはなぜですか?

CDialog の OnInitDialog 中に cx と cy を取得したい。

次のコードでこれを行うことができます:

ただし、OnInitDialog の cx と cy は、OnSize に入った cx と cy と同じではありません。

OnInitDialog から: cx=417、cy=348

OnSize より : cx=401, cy=310

国境のように見えますが、わかりません。

OnSize に供給されるのと同じ xy データを OnInitDialog で取得する方法についての提案をいただければ幸いです。


継承:

myDialog -> CDialog -> CWnd

0 投票する
1 に答える
237 参照

c++ - DLL から実行すると C++ CDialogEx が ParentWnd を失う

状況があります。巨大なアプリ (C++ MFC) があります。ドッキング可能なペインで .dll モジュールを作成します。

ペイン インターフェイス構造:

それが私のDialogExを作成する方法です:

CDialogEx::PreTranslateMessage でアサートされます。その理由は、それが親になったときです

m_hWnd は Wnd ではありません。しかし、CDialog は完全に問題ないように見えます。m_pParentWnd はありますが、m_tabCtrl ではありません。

だから私の質問は: CDialogEx がその親を設定しないのはなぜですか?! そして、それはどのように対処できますか?