問題タブ [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.
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
mfc - MFC トグル ラジオ ボタンの遅延
CDialog の CButton であるラジオ ボタンがあります。ユーザーがラジオ ボタンをクリックすると、関数OnClickedRadioButton
が呼び出されます。
内部OnClickedRadioButton
では、この関数を呼び出してボタンを切り替えます。
プログラムをコンパイルして実行すると、(i)ラジオボタンがオンになっている場合は、クリックしてクリアできます。(ii) ラジオ ボタンがオフの場合、クリックしても何も起こりません。しかし、別のプログラム (Visual Studio など) をクリックしてから CDialog に戻ると、ラジオ ボタンがオンになります。
Cwnd::UpdateDialogControls
関数とを見て試してみましたがCwnd::UpdateData
、問題を解決するためにこれらを取得できませんでした。
c++ - Visual C++ DLL に MFC リソース (CDialog フォーム) を含める
CDialog フォームを含む DLL をコンパイルしようとしています。詳細には、レイアウトとすべてのパブリック メソッドを含むリソースを含めたいと思います。
主な目標は、フォーム (およびそのメソッド) をエクスポートして、既存のフォームの IDD をいじることなく外部環境で使用することです。
私の (1 日にわたる) 調査では、これに対する可能な解決策は示されませんでした。MFC を使用した C++ プログラミングは初めてなので、開始方法がわかりません。
ご協力ありがとうございました!
button - CDialog クラスを使用して Visual Studio 2013 でボタンのプロパティ ページを有効にする方法
Visual Studio 2008 では、CDialog ボックスのリソース ビューからボタンをダブルクリックすると、アクションの編集に役立つコードに直接移動できます。しかし、2013 年にボタンをダブルクリックすると、[クラスの追加ウィザード] ウィンドウがポップアップ表示されます。ボタンの機能を編集したいだけです。これどうやってするの?ボタンのプロパティ ウィンドウで、[プロパティ ページ] ボタン (レンチ) が無効になり、[イベントの制御] ボタン (稲妻) をクリックしても何も選択できません。前もって感謝します!
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
c++ - DLL から実行すると C++ CDialogEx が ParentWnd を失う
状況があります。巨大なアプリ (C++ MFC) があります。ドッキング可能なペインで .dll モジュールを作成します。
ペイン インターフェイス構造:
それが私のDialogExを作成する方法です:
CDialogEx::PreTranslateMessage でアサートされます。その理由は、それが親になったときです
m_hWnd は Wnd ではありません。しかし、CDialog は完全に問題ないように見えます。m_pParentWnd はありますが、m_tabCtrl ではありません。
だから私の質問は: CDialogEx がその親を設定しないのはなぜですか?! そして、それはどのように対処できますか?