問題タブ [ctabctrl]
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++ - MFC で CTabCtrl と CPropertySheet のどちらが優先されますか?
両方とも使い方がわかりません。したがって、賛否両論のあるサンプルコードは完璧です。どちらが好ましいですか?なんで?
c++ - MFC:ダイアログがCPropertySheetまたはCTabCtrlを使用して作成されたかどうかを識別する方法
この質問に関連して:CTabCtrlとCPropertySheetのどちらが優先されますか
初めてのMFCを使用するDDKがあります。DDKの基本的な例では、ボックスの右側に[OK]ボタンと[キャンセル]ボタンがある3つのタブがある単純なダイアログボックスを実装しています。
上記のリンクからの質問に基づいて、CTabCtrlだけがその種のインターフェースを持つことができるように見えますか?(間違っている場合は訂正してください)しかし、関係するクラスを見ると、CTabCtrlがまったく使用されていないようです?? これについての説明が必要です...
クラスエクスプローラーから:
CObject->
- CCmdTarget
- CWnd
- CDialog
- CxxxDlg
- CPropertyPage
- CIntHelpPropertyPage
- CxxxConfigPage
- CDialog
- CWinThread
- CWinApp
- CWinDebugApp
- CDriverApp
- CxxxApp
- CDrvCfg
- CxxxApp
- CDriverApp
- CWinDebugApp
- CWinApp
- CxxxDrvCfg
- CWnd
- CSrvObj
- CChannelObj
- CDriverObj
- CxxxObj
user-interface - MFCダイアログベースのアプリケーションでCTabCtrlを使用するにはどうすればよいですか?
私は単純だと思っていた何かをする必要があります-2つのタブを持つタブコントロールを作成します。これは私のアプリの2つの操作モードを意味します。ユーザーがTab1をクリックすると、いくつかのボタンとテキストボックスが表示され、Tab2をクリックすると、他の入力方法が表示されます。MFCでタブを追加するために使用されるCTabCtrlクラスがあることに気づきました。ただし、UIデザイナーを使用してタブコントロールを追加すると、プロパティウィンドウを使用してタブの数を指定できませんでした。ネットで検索すると、いくつかの例が見つかりましたが、それらはすべて、CtabCtrlから派生し、2つ以上の子を作成する必要がありました。ダイアログなど、独自のカスタムクラスを作成します。私の質問は、非常に基本的なことをしたいので、使い慣れたイベントハンドラーの追加/メンバー変数の追加ウィザードを使用してそれを実行し、アプリのクラス内の他のすべてを処理できないのはなぜですか?確かに、デフォルトのCTabCtrlクラスは、それから派生する必要なしに何か便利なことをすることができますか?
mfc - win32 CTabctrl: アクティブなタブで「子」ウィンドウを描画する
CTabCtrl を含むサイズ変更可能なダイアログがあります。タブ コントロールには 4 つのタブがあり、クリックすると 4 つの異なる CTreeCtrls のいずれかが表示されます。
CTabCtrl からクラスを派生させました。このクラスは、その「子」コントロールを次のように追跡します。
そして、次のように子コントロールを描画しようとします:
ただし、子コントロールは、表示されている間は常に正しく描画されるとは限りません。コンテンツを混同し、クリックすると正しいコンテンツのみが表示されます(実際のツリーコントロール)。
これは、zorder でウィンドウを描画して移動する最良の方法ですか?何が欠けていますか?
どうもありがとう
BG
c++ - 内容に合わせて CTabCtrl のサイズを変更する方法
私のプログラムにはCTabCtrlがあり、ユーザーがアクティブなタブを変更するたびに表示/非表示を切り替える3つの「子」* CFormView *があります。
固定サイズを使用する代わりに、囲んでいる CTabCtrl のサイズを変更して、最大の CFormView のサイズに合わせたいと思います。
c++ - MFC CTabCtrlを作成すると、タブの描画にフルコントロール幅が使用されなくなります
アプリケーションの変更について、やや複雑なリクエストがあります。これは、タブコントロールの1つが、タブを描画する目的でコントロールの幅の一部にしかアクセスできないようにすることです。これにより、追加のステータステキストを貼り付けることができます。側面の残りの領域に。
写真はおそらく役立つでしょう:
ご覧のとおり、タブコントロールはダイアログの右端まで拡張されていますが、「総在庫コスト」用の予約領域が必要であり、追加のタブ(一般的)が侵入しないようにする必要があります。そのエリアに。
私は、アプリケーションを完全に書き直すことを除いて、これを実装するためのほとんどすべての手段を受け入れています。うまく機能するタブコントロールがある場合はタブコントロールを切り替えることができます。そうでない場合は、理由の範囲内でタブ設定の実装を変更できます。
クライアントエリアとタブ描画長方形エリアを別々に設定できると思っていたのですが、そうではないようです。私が間違っている場合は訂正してください。
助けていただければ幸いです。
mfc - CTabCtrl SetItemRect?
タブのサイズを変更したい。
タブに閉じ十字を追加しましたが、タブのテキストとかなり競合しています。
これまでのところ、次のことがわかりました。
GetItemRect(int i, RECT* rc)
私にrectを与えます。私が本当に欲しいのは SetItemRect です。SetItem
アイテムにはそのサイズが含まれていないため、使用できません。それは私が与える内容に基づいて計算されます。- 文字列の最後にスペース char を追加することもできますが、それは自然の秩序に反するだけです。CStrings でピクセルを微調整しません。
SetSize
タブのサイズを設定することになっています(すべてのタブ?)。しかし、再描画をトリガーしない場所を見つけることができず、WM_PAINT ケースで配置すると無限ループが発生します。
これは、タブのコンテンツをカスタム描画する場所ですが、ここでサイズを変更することはできません。
タブのサイズはどこで、どのように設定しますか?
mfc - MFC、TabCtrl のキャピトンを変更するにはどうすればよいですか
InsertItemがtabctrlに新しいタブを追加するためのものであることは知っていますが、作成後にタブのキャプションを変更する必要があります。キーワードtabctrlとキャプションを使用して古い記事を検索しますが、それを解決するための関係の問題はありません。タブページ...