問題タブ [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 投票する
3 に答える
7535 参照

c++ - CListCtrl のちらつきを防ぐにはどうすればよいですか?

LVS_REPORT仮想モード ( ) でCListCtrl/CListView レポート ビュー ( LVS_OWNERDATA) をLVS_EX_DOUBLEBUFFER有効にして使用していますが、見苦しいちらつきが発生します。ダブルバッファには実際の効果がありますが、すべてのちらつきを止めるわけではありません (非常に遅くなることなく)。

大量の再作業が必要な他のコントロール (ObjectListView など) への切り替えは考えていません。

ちらつきはどのように動作しますか。

  • 列のサイズ変更時 - 背景は最初にライトグレーを使用してきれいになり、その後テキストが表示されます (背景は白)
  • マウス スクロール時 (アニメーション) - 非常に短時間、新しい行が表示される領域に薄い灰色のバーが表示されます。

再描画する必要がある領域のデフォルトのウィンドウ背景色 (ライトグレー) を使用して背景をきれいにしているようです。

ちらつきの問題を解決するにはどうすればよいですか?

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

c++ - C ++ / MFC:複数のCListCtrlのヘッダーHDN_ITEMCLICKイベントの処理

レポートビューに複数のCListCtrlを含むダイアログボックスがあるMFCアプリケーションをコーディングしています。そのうちの1つを並べ替え可能にします。だから私はHDM_ITEMCLICKイベントを処理し、すべてがうまく機能します..別のCListCtrlのヘッダーをクリックすると、他のCListCtrlがソートされることを除いて、それはちょっとばかげているように見えます。

これは明らかに、ヘッダーのIDが0であるため、メッセージマップのエントリは次のようになります。

しかし、すべてのヘッダーのIDがゼロであるため、ダイアログのすべてのヘッダーがメッセージを送信しているようです。

この問題を回避する簡単な方法はありますか?

編集:たぶん私は明確ではありませんでしたが、NMHDR構造内の値を確認しました。HwndFromポインターは、クリックされたヘッダーによって異なりますが、実行ごとに値が明らかに異なるため、あまり役に立ちません。idFrom値は0です。これは、上記で説明した理由により、すべてのヘッダーのIDであるためです。ありがとう

EDIT2:hwndポインターの値もCListCtrlに対応していません。これは、おそらく完全に別のオブジェクトからのものであるためです。

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

mfc - OnMeasureItem()の問題

MFC ListControlでOnMeasureItem()を使用して行の高さを増やし、マップにWM_ON_MEASUREITEM()メッセージを追加しました。私が使用したコードは次のとおりです。

void CListCtrlTestDlg :: OnMeasureItem(int nIDCtl、LPMEASUREITEMSTRUCT lpMeasureItemStruct)

{{

if(nIDCtl == IDC_LIST1)//IDC_LIST1は私のListControlIDです

}

動作しません。問題が何であるかについての提案???

ありがとうございました!!!!

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

mfc - CListCtrl の列幅の自動サイズ変更

CListCtrl列の幅を自動的にサイズ変更するにはどうすればよいですか? 通常、リスト内の項目が長くなりすぎると、バックエンドが表示されなくなり、ユーザーは対応する列の幅を手動でサイズ変更する必要があります。コードでこれを行う方法はありますか?

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

mfc - リスト コントロール MFC のエントリ数の制限

リスト コントロールに表示されるエントリを制限する必要があるのは、エントリが 2 つあると MFC プログラムが遅くなるためです。リスト コントロールに最後の数エントリ (たとえば、最新の 100 エントリなど) のみを表示する方法はありますか?

ありがとうございました!!!

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

c++ - 一度に 1 つのノードだけでなく、ツリー全体のビューを取得するために MFC CListCtrl と CTreeCtrl を結合する

Windows Explorer (または regedit など) を検討してください。左側にはツリー ビューがあり、右側にはリスト ビューがあります。私が知っているすべてのケースで、右側のビューの内容は、左側のペインで選択したノードの属性を反映しています。これはすべてうまくいっています...しかし、私が望むものではありません。

表示したいツリーのノードには、各ノードに関連付けられた非常に少数の属性 (2 ~ 3) があります。これは、テーブルの行として水平方向に表示するのに妥当な量です。非常に少ないプロパティを持つ単一のノードでそのリスト ビュー スペースをすべて無駄にするのではなく、リスト ビューにツリー全体のプロパティのテーブルを (現在展開されているツリーの一部として) 表示したいと考えています。したがって、左側のビュー (ツリー) の n 番目の行は、右側のビュー (リスト/テーブル) の n 番目の行に直接対応し、ツリーのプロパティの適切な概要が得られます。

これを行うコードを知っている人はいますか? CListCtrl を CTreeCtrl にスレーブ化するのが最善の方法であり、何らかの方法で垂直スクロール機能をオーバーライドして、それらが一緒にロックされるようにしていると推測しています。このようにスクロールを一緒にロックできるかどうかはわかりません...とりわけ!すべてのアドバイスを歓迎します:-)

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

mfc - CListCtrlでCHeaderCtrlをカスタムバージョンに置き換える正しい方法

CListCtrlにはCHeaderCtrl'が組み込まれており、カスタマイズされたもの、つまりCHeaderCtrlから派生したクラスでオーバーライドしたいと考えています。

CListCtrlm_ListとカスタムヘッダーCCustomHeaderを含むダイアログCMyDlgがあると仮定すると、これを行うための最良/正しい方法は何ですか。

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

c++ - CListCtrlの上下のアイコン

複数の列を持つCListCtrlがあり、すべてを並べ替えることができます。現在どの列がどの方向にソートされているかが明確になるように、上下のアイコンを追加したいと思います。Windowsエクスプローラによく似ています。私の考えは、列名に上向き/下向きの実線の矢印を追加することでした。拡張ASCII文字30/31を使用してみました。しかし、矢印を表示する代わりに、ボックス(「文字が見つかりません」の文字)を取得しました。Unicodeバージョンを使用すると、文字の代わりに疑問符が表示されます。

これをどのように達成できるかについての提案はありますか?

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

visual-c++ - 仮想リスト制御の問題

仮想照明コントロールを使用しており、マップからデータを取得しています。私の問題は、コードを実行するとリストが正常に表示されることですが、マウスカーソルがリストコントロールに移動するか、下にスクロールしようとすると、マップ/セットイテレーターが参照解除可能ではないというデバッグアサーションエラーが発生します。私の GetDispInfo() メソッドは次のとおりです。

}

また、マウス ポインターがリスト コントロールの上にある場合、output.c ファイルで以下に示す行からのアクセス違反を示して、プログラムが再びクラッシュします。

誰も同じ経験をしましたか?ここで何が間違っているのか、どうすればこの問題を解決できますか?

ありがとう!

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

c++ - 「キャンセル」キーを押して CListCtrl の編集をキャンセルするにはどうすればよいですか?

CListCtrl コントロールの項目を編集しています。テキストを入力できる編集ボックスが表示されます。
ただし、テキストを入力するイベントは、LVN_KEYDOWN ハンドラーによってキャッチされません。
それ以外の場合はどうすればキャッチできますか?サンプルはありますか?
ありがとうございました