問題タブ [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.

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

c++ - CListCtrlでLVN_ENDLABELEDITをトリガーするEscapeとEnterのヒット

どちらの場合も編集フィールドが空の場合、どうすれば 2 つを区別できますか?
ユーザーがエスケープを押したとき、ユーザーは新しい値をまったく必要としないと想定し、
Enter キーを押したとき、ユーザーは編集された項目に空の文字列を望んでいると想定します...

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

c++ - LVS_EX_FULLROWSELECT には他のスタイルとの互換性の問題がありますか?

行全体を選択したいので、グリッド リスト コントロールに LVS_EX_FULLROWSELECT スタイルを設定しようとしています。しかし、明らかに効果はありません。他の多くのスタイルも使用しているので、LVS_EX_FULLROWSELECT に他のスタイルとの互換性の問題があるかどうか疑問に思っています。誰?以下は、私が設定しているスタイルです。

最初に、次のスタイルがベース リスト コントロール クラスに設定されます。

次に、派生グリッド リスト コントロール クラスに追加のスタイルを設定しようとします。

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

c++ - カスタム CListCtrl

MFC で ListControl を作成する必要があり、各行には異なる数の列があります。これどうやってするの?

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

visual-c++ - CListCtrl - 選択されていることを確認する方法

CDialog クラスがあり、その中に 2 つの ClistCtrl クラスがあります。現時点で listCtrl のどれが選択されているかを調べたいと思います。たとえば、listCtrl A と B です。A と B の間を移動する場合でも、最初に A に移動して行を選択するとします。次に、Bに移動してそこでアイテムを選択しても、他のリストに移動したことがわからないため、Aのアイテムが選択されたままになります。

任意の提案、どうすればこれを見つけることができますか。

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

image - CListCtrl の透かし画像

CListCtrl の右下隅に透明な透かし画像を描画したいと考えています。

MFC でどのようにそれを行うことができますか? (ちらつきなしでそれが必要です)。

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

c++ - MFC CListCtrl 項目の選択について

私がやろうとしているのは、CListCtrl で項目を選択し、選択した項目を表示 (スクロールダウン) することです。これを行う最善の方法は何ですか?

項目を選択しようとmyListCtrl.SetItemState(idx, LVIS_SELECTED, LVIS_SELECTED)しましたが、ListCtrl を手動で下にスクロールして表示する必要があります。関数は存在しますCListCtrl::GetTopIndexが、対応するものは見つかりませんでしたSetTopIndex

助けてくれて本当にありがとうございます!

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

c++ - ClistCtrl での MFC 制限選択項目

こんにちは、20 個のアイテムを持つ ClistCtrl を使用しており、選択したアイテム数を制限したいと考えています。たとえば、10 項目しか選択できません。どうすればできますか?助けてくれてありがとう。

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

c++ - CListCtrl 列幅変更イベントをキャッチする方法は?

CListCtrlMFC で列幅の変更イベントをキャッチするにはどうすればよいですか? イベントがあるはずだと思いますがOnNotify()、メッセージマップとイベント自体に使用するさまざまな値とパラメーターについては確信があります。

CListCtrl列の区切りをドラッグするか、ヘッダー行をダブルクリックすると、列の幅を変更できることに注意してください。

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

mfc - CListCtrl: スクロール位置を維持するには?

CListCtrl (レポート スタイル) を使用して、リストをクリアし、特定の時間に再作成します。これを行うときに、垂直スクロール位置を維持したいと思います。有望に見えるいくつかの方法があることがわかりました。

GetScrollPos() と SetScrollPos() を試していますが、機能していないようです。スクロール位置を保存して後で復元する簡単で正しい方法は何ですか?

アップデート

実際には、スクロール位置 GetScrollPos() を保存してから SetScrollPos() を保存して復元できるようですが、文字通りスクロールバーの位置を設定しているように見え、実際には CListCtrl の項目をスクロールしません。

更新 2

Scroll() メソッドは、スクロールバーとコンテンツを正しくスクロールしているようです。ただし、引数として CSize オブジェクトを取ります。したがって、問題は、CSize と GetTopIndex または GetScrollInfo/Pos の出力との間でどのように変換するかです。

0 投票する
4 に答える
5184 参照

c++ - MFC CListCtrlはマウスアップイベントを食べますか?

CListCtrlダブルクリックしない限り、マウスアップイベントを送信しないようです。

不足しているメッセージをマウス ダウン ハンドラーから送信して補おうとしましたが、他の望ましくない動作が発生します。次に、マウス移動ハンドラー内でメッセージを送信して、状態を確認することでもう少し正確にできると考えました。ただし、これらは恐ろしいハックであり、醜いことは別として、派生コントロールのすべての可能な実装に対して適切に機能しない可能性があります。

マウスアップイベントが受信されない理由を誰かが知っているなら、私は興味があります. さらに重要なことは、スタイルを使用して、他のすべてのコントロールのようにマウスアップ メッセージを送信するにはどうすればよいですか?CListCtrlLVS_OWNERDATA

編集: 、 などを認識していLVN_BEGINDRAGますがLVN_BEGINRDRAG、これらを使用するにはWM_LBUTTONDOWN、 、WM_RBUTTONDOWN、およびWM_MOUSEMOVEが親ウィンドウに移動したり/にDragDropManagerフックされたりするのを防ぐ必要があるため、このコントロールが既存のシステム。CWinAppExCMDIFrameWndEx

これは、ドラッグ操作を開始するタイミング、アニメーションを終了するタイミング、キャンセルするタイミング、アニメーションを変更するタイミング、カスタム メッセージでソースとターゲットの表示オブジェクトを渡すタイミングなど、さまざまなタイプのコントロールに通知できる中央のドラッグ アンド ドロップ マネージャーがあるためです。コントロール、入力、選択または対象となるアイテムの種類、3D を含むさまざまなコントロールの種類、さらにはさまざまなアプリケーションなどに応じて、さまざまな開始方法やさまざまなアクションを実行できる柔軟性を備えている必要があります。