問題タブ [cview]
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.
mfc - CVIew 内の CWnd のレイアウトを切り替える
Document/View を有効にした MDI アプリケーションがあります。アプリケーションの CView クラス内には、複数の CWnd 派生子ウィンドウ (異なるビュー) が作成され、アプリケーション CView クラスでも作成されるタブ コントロール (CMFCTabCtrl) 内に配置されます。そのため、各アプリケーション ドキュメント内にタブが表示され、これらのタブを切り替えることで、それぞれの子ビューが表示されます。たとえば、OpenGL データ ビジュアライゼーションを含む 1 つのビュー、テキスト エディター ウィンドウを含む別のビュー、テーブル ビジュアライゼーションを含む 3 番目のビューなどです。
ここで、作成されたすべての子ビューを同時に表示する可能性を追加し、1 つのドキュメント内の分割コントロールで分離し、この新しいレイアウトを上記のタブ付きレイアウトに切り替え、メニュー コマンドでその逆を切り替えます。だから、私の仕事を達成するための最良の方法は何だろうか
前もって感謝します
c++ - CView を CFormView に変換する
私はCViewを持っていて、それにうまくペイントしています。その後、テキスト ボックスやコンボ ボックスなどのコントロールを CView に追加する必要があることに気付きました。したがって、CView をデフォルトのコンストラクターを持たない CFormView に変換しようとしています。しかし、この行にはデフォルトのコンストラクターが必要なIMPLEMENT_DYNCREATE(CMyView, CFormView)
ので、このようなデフォルトのコンストラクターを作成しましたCMyView::CMyView():CFormView( ( UINT )666 ) { ... }
。その 666 は、どの引数をそこに渡すべきかわからないためです。CMyView クラスの ID を渡す必要があると推測しています。Visual Studio プロジェクト ウィザードによって自動的に作成された CMyView クラスの ID が見つかりません。どこで探せばいいですか?プログラムを実行すると、次のエラーが表示されます。First-chance exception at 0x75AEC41F in myapp.exe: Microsoft C++ exception: CInvalidArgException at memory location 0x003CF134.
Critical error detected c0000374
myapp.exe has triggered a breakpoint.
そして、free.c の 51 行目で停止します。私の質問は、どうすればこれを修正できますか? また、以前の CView (現在は CFormView) で以前にペイントしたものを保持したいと考えています。CFormView は CView のように描画できますか? そうでない場合、CMainFrame で分割ペインを使用し、CView と CFormView を使用する必要がありますか? Javaスイングに固有の用語を使用した可能性がありますが、それについてはお詫び申し上げます。MFC と C++ は初めてです。事前にありがとう、コーネリュー
mfc - CDialogからCViewへ
したがってMFC
、主に から派生したベースのアプリケーションがありCDialog
、いくつかのコントロールなどがあります。
特定の理由から、.NET ベースのコンテナ クラスを使用して、別のアプリケーションでホストする必要がありますCView
。
CDialog
したがって、を使用して作成されたこのものをホストする何らかの方法が必要ですCView
。
コンテナクラスは私には閉じられています。がCView
必要ですが、ダイアログ ベースのアプリケーションを変更できます。
CDialog
ベースからベースに移行する簡単な方法はありますCView
か? また、何を確認する必要がありますか? 私は MFC にあまり熟練していません。質問は曖昧に聞こえるかもしれませんが、それは私が持っているものです。
助けていただければ幸いです...ありがとう。
visual-c++ - MFC を使用して VC++ 2010 SDI に複数のビューを追加する
複数 (実際には 3 ) のビューを SDI アプリケーションに追加し、ユーザーが自分の選択に応じてビューが読み込まれるかどうかを選択できるようにしようとしています。
MS の公式ドキュメントのこのチュートリアルに従いました。したがって、CAdminView、CAssistantView、CBiblioView、およびダイアログ フレームに関連付けられた認証クラスの 3 つのクラスを作成しました。
私の質問は:
1) この 3 つのビュー クラスを (グラフィカルに) 編集する方法
2) 最初は認証ダイアログ ウィンドウだけを表示したいのですが、どうすればよいですか?
3) パラメータに従ってビューをロードすることを期待しています。これは、InitInstance 関数に追加したものです。
これは私のスイッチ機能です:
エラー通知 ??!!
*私を助けてください !
ありがとう 。
html - CView 描画を HTML5 キャンバスに移植する
私は MFC Windows アプリケーションを持っており、そのソフトウェアを Web アプリに移植できるかどうかを調査しています。MFC アプリには、CDC クラスの描画メソッドを使用して描画される CView ベースのウィンドウがいくつかあります。このコードの基本ロジックを HTML5 キャンバス描画に移植できると考えています。これは理にかなっていますか?もしそうなら、それはかなり簡単ですか? このルートを使用する場合、注意すべき落とし穴、問題、または非互換性がありますか?
ありがとう、ケビン
windows - 描画用のサブ長方形デバイス コンテキストを作成する方法
私は MFC を使用しており (ただし、これは Win32 にも当てはまります)、描画したいビューがあります。だから私は OnDraw メソッドをオーバーライドしています。ここにちょっとした疑似コードがあります。私は次のようにコーディングしています:
これは素晴らしいOOソリューションだと思いました。しかし、私は問題に遭遇しました。最初の DC の周りに境界線を引きたいのですが、ノードにこれを知られたくありません。ノードが 0,0 から始まる完全なキャンバス サイズに対して相対的に描画するようにしたい (オフセットについてはわからない)。親ウィンドウの境界線に関するノードの知識を与えると、面倒に見えます。
このような問題をどのように解決しますか?既存の DC に関連する新しい DC を定義するにはどうすればよいですか?
visual-c++ - いくつかの CScrollView を 1 つに結合する
いくつかのファイルがあり、OpenDocumentFile() を使用して各ファイルを開いて pFirtView を取得します。今、私はファイル用の CView/CScrollView(s) を持っています。すべての CView/CScrollView を 1 つの CScrollView に結合する必要があります。なにか提案を?ありがとう