問題タブ [cwnd]

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 投票する
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 投票する
2 に答える
620 参照

c++ - MFC PrintWindow(CPaintDC) は機能しますが、PrintWindow(CDC) は機能しません

私は大きなプロジェクトで印刷機能を実装して、いわゆるガジェット(CWndから派生)を印刷しています。ガジェット クラスで、デバイス コンテキストにレンダリングする関数を作成しました。

ガジェットを簡単にレンダリングするには、PrintWindow 関数を使用することを考えました https://msdn.microsoft.com/en-us/library/x51z0shh.aspx

ただし、これは PrintPreview をレンダリングする場合にのみ機能します。私が実際に印刷しているときは、そうではありません。どちらの場合も同じ関数が呼び出され、唯一の違いは、プレビューの場合は「CDC * pDC」が「CPaintDC」オブジェクトであり、実際の印刷の場合は「CDC」オブジェクトであることです。

本当に「PrintWindow」関数が機能しないことを確認するために、関数 [pDC->Rectangle(...);] に別のコード行を追加しました。これは、プレビューと紙で確認できます。

CWnd::Print または CWnd::PrintClient 関数を使用することも考えましたが、どちらの場合も機能しません。

私の質問は、回避策として何ができるか、または (CWnd から派生した) オブジェクトのレンダリングが CDC ではなく CPaintDC で機能しない原因は何ですか?

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

c++ - CWnd* を myControl* に変換

CWnd*ポインターをカスタム コントロール ポインターに変換しようとしています。カスタム コントロールは拡張するだけCEditです。以下は私が持っているものです。pWnd渡されましたCWnd*

デバッグして test の値を確認しようとすると、そのメンバーはどれも評価できません。CWnd*間違いなく問題ではありません。

CWnd*が必要なコントロールを指していることを確認するために、 を実行しpWnd->GetDlgCtrlID()、ID が予想されるコントロールと一致するようにしました。

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

mfc - ダイアログのタイトルを右揃え/左揃えにする方法

メソッドの助けを借りてCWnd::SetWindowText、目的のキャプションをダイログ ベースのアプリケーションに設定できます。左右揃えるにはどうすればいいですか?

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

c++ - MFC - メイン MDI ウィンドウのみを最小化する

メインの MDI ウィンドウと、CWnd動的に実行時に作成するカスタム派生ウィンドウがあります。メインの MDI ウィンドウが最小化されている場合でも、そのウィンドウを画面に表示したいのですが、一番上のウィンドウを表示したくありません。WS_EX_CONTROLPARENT | WS_EX_APPWINDOWスタイルの使用、親NULLの設定、所有者の設定を試みましGetDesktopWindow()たが、何も機能しません。

どうすればいいですか?

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

c++ - MFC:親ウィンドウのサイズ変更時に子CWndダイアログがジャンプしないようにする方法は?

MFC dialog複数のコントロールを使用して書いています。現在CWnd、 の右半分に が配置されていdialogます。編集ボタンをクリックすると、子のCWndサイズが変更され、ダイアログの大部分を占めるようになります。

ただし、ウィンドウのサイズを変更しようとすると、子CWndは元の場所に戻ります。サイズ変更時に新しい位置に保持する方法がわからないようです。

関連コード:

0 投票する
3 に答える
11723 参照

c++ - MFC CWnd の高さと幅

CWnd* の高さと幅を取得するにはどうすればよいですか? CWnd は正しいウィンドウですか? コマンドではないのはなぜですか:

この LPRECT は何ですか? 私はすでにオブジェクトを持っています...なぜ、GetWindowRectに入る引数は何ですか? 私は何を指していますか?サイズを知りたいオブジェクトが既にあります...サイズを教えてください。