問題タブ [clistctrl]
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 を使用した子の子からのメッセージの傍受
CListCtrl クラスがあり、ユーザーがサブ項目の 1 つを選択すると、そのサブ項目の上に CComboBox が表示され、ユーザーはそこから選択できます。
しかし、私には問題があります。ユーザーが選択を行ったら、コンボ ボックスを非表示にする必要があります (つまり、CBN_SELCHANGE をインターセプトします)。問題は、CComboBox を CListCtrl の子にする必要があることです (そうしないと、コンボ ボックスを一番上に設定しても、リストがコンボ ボックスの上に描画されるという奇妙な問題が発生します)。そのため、CBN_SELCHANGE メッセージがリスト ビューに送信され、当然のことながら、それは無視されます。リストビューでそのメッセージを親ウィンドウに渡すにはどうすればよいですか。
CBN_SELCHANGE メッセージを傍受して親ウィンドウに渡すだけの独自の CListCtrl クラスを本当に派生させる必要があるのでしょうか? OnWndMsg ハンドラーを作成するよりも良い方法はありますか?
助けてくれてありがとう!
編集:このコードは機能します
しかし、これを行うためのより良い方法があれば本当に知りたいです。
c++ - CListCtrl の項目を選択済みとして設定する方法は?
ClistCtrl は、ヘッダーのないレポート ビューで単一選択および単一列に設定されます。
試してみSetItemState(0,LVIS_SELECTED,LVIF_STATE)
まし
SetSelectionMark(int index)
たが、これらは機能しません。
c++ - CListCtrl の垂直スクロールバー
アイコン ビューで CListCtrl を使用していますが、水平方向にスクロールします。
むしろ水平にスクロールしたい:
これを行う方法はありますか?
integer - CListCtrl でのファイルのサイズの表示
私は Windows MFC アプリケーションで作業しています。私のデザインでは、ファイルの詳細 (タイプ、名前、サイズ) をCListCtrl
コントロールに表示しています。を使用してこれらのファイルの詳細を見つけましたFileStatus
が、表示しようとすると、整数であるためファイルサイズを表示できません。試しCListCtrl::SetItemText
てみましたが、キャストも入力しようとしましたが、うまくいきません。
m_myList は CListCtrl 変数です。誰でも私を助けてもらえますか?
mfc - CListCtrl:同じ列で異なるフォントを使用するときに列幅を取得する方法は?
CListCtrlCustomDrawというCListCtrlからクラスを派生させ、NM_CUSTOMDRAWハンドラーを使用してリストを描画しました。
問題は、選択されたアイテムと選択されていないアイテムのフォントが異なることです。これらはリストコントロールのメンバー変数ですが、
列幅を計算するために、リストは選択されていないアイテムのフォントを使用します。これは、選択されたアイテムのフォント(太字フォント)ほど広くないため
、同じコンテンツであっても
、選択されたアイテムに表示できないコンテンツがあります。
列幅の計算にどのフォントを使用するように設定できますか?
上記のコードの前にフォントを設定しようとしましたが、効果がありません。
どんなアドバイスもいただければ幸いです。
c++ - HitTest が期待どおりに機能しない
ユーザーが CListCtrl 内の項目を右クリックしたときにコンテキスト メニューを表示したいと考えています。私のコードは次のとおりです。
どこをクリックしても、実際にコードを実行すると、アイテム上、CListCtrl 内の空きスペース、ダイアログの他の場所 (最初の if ステートメントを削除することにより)。hitTestInfo.flags
は 48 に設定されています。これは、これを正しく読んでいれば、「CListCtrl 全体の下と右」を意味します。それがCListCtrl内にあるかどうかを最初に確認するとき、これは本当に意味がありません。
では、どこかに間違った仮定がありますか? 私のコードは間違っていますか?何か不足していますか?
おそらく関連している、または関連していない可能性があるBONUS QUESTIONとして、両方ともLVHT_ONITEMSTATEICON
0x08として表示されます-これはなぜですかLVHT_ABOVE
? #define
これが私の誤解の鍵かもしれません。
mfc - OnContextMenuをカスタムCListCtlクラスで機能させることができません
CListCtrl派生クラスで機能するコンテキストメニューを取得しようとしています。OnContextMenuメソッドを作成しましたが、呼び出されていません。私は何が欠けていますか?Visual Studio 2008を使用して、CDialogベースのMFCアプリケーションを作成しています。
CustomList.h
CustomList.cpp
mfc - CListCtrl を使用して、行全体を選択色にするにはどうすればよいですか?
現在、レポート モードで listctrl の行に色を付ける関数を呼び出す NM_CUSTOMDRAW メッセージがあります。行が選択されたことを検出して自分で色を付けることができますが、このメソッドは選択されているセルに対して呼び出されないため、そのセルに色を付けることはできません。だから私の質問は1)選択されているかどうかにかかわらず、すべてのセルに対してウィンドウにカスタム描画メソッドを呼び出させる方法はありますか?2)そうでない場合、選択範囲を行全体に広げる最も簡単な方法は何ですか。ありがとう、CP
visual-c++ - ダブルクリック後もCListCtrlでハイライトを維持する
理解した。LVIF_STATEはLVIF_IMAGEである必要があります。ほら、それが初歩だと知っていた...
VC ++ 6.0プロジェクトにOnDoubleClick()ハンドラーを持つCListView派生クラスがあります。OnDoubleClick()ハンドラーが処理を実行した後、選択したアイテムの強調表示を維持する必要があります。私はそれを考えていました
(m_nHighlightIndexが選択されたアイテムのインデックスを保持していると仮定して)トリックを実行しますが、OnDoubleClick()またはOnUpdate()のいずれかで、それとクライアント領域を無効にするさまざまな試みの組み合わせは機能しません。これはとても初歩的なことのように思えますが、これまでのところ私は困惑しています。どんな助けでも大歓迎です。
mfc - CListCtrl を使用してその場でデータを編集することは可能ですか?そうでない場合は、MFC で代替コントロールを提案できますか?
ユーザーがデータを入力し、アプリがそれについて通知される編集可能な 2 つの列を持つグリッドが必要な MFC アプリを設計しています。行数は、ユーザーが必要に応じて増減できます。この種の要件に使用する理想的な MFC コントロールは何ですか?
MFC アプリを設計するのはこれが初めてです。