問題タブ [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.
mfc - CListCtrlでプロパティキーを処理する方法は?
MFC の CListCtrl でのプロパティ キーの押下を処理し、右クリックで既に表示されているコンテキスト メニューを表示したいと考えています。どうやってやるの?
c++ - カスタムListCtrlからWM_NOTIFYメッセージをキャッチする
私のアプリケーションはc++で、MFCとATLを組み合わせたものです。ここで使用しているのはMFCです。
ダイアログの1つに、CListCtrlから継承するカスタムリストコントロールクラスがあります。
リストの内容に依存するダイアログフォームの残りの部分を更新できるように、LVN_ITEMCHANGEDメッセージのハンドラーを追加しようとしています。具体的には、各リスト項目にチェックボックスフィールドがあり、それがいつ変更されたかを検出する必要があります。
問題は、私のリストがメッセージを送信していないことです。
これが私のメッセージマップであり、問題なく機能します。メッセージを変更するだけで、LVN _ ITEMCHANGING、NM_CLICK、NM_RELEASEDCAPTUREなどの他のメッセージを検出しました。
したがって、私の推測では、listctrlカスタムクラスはどういうわけかメッセージを適切に投稿していません。
この質問にはさまざまな方法で答えることができます
。1。LVN_ITEMCHANGEDメッセージを子リストからその親(ダイアログ)に送信するにはどうすればよいですか。
2.私は正しいメッセージをキャッチしていますか?私が試したもののほとんどは、更新のトリガーが早すぎます(つまり、リスト内のデータが更新される前に)。これを行うと、リストの以前の状態に基づいてダイアログが更新されます。
3.私がしてはいけないことは他にありますか?私はこれをオープンエンドにするためだけにお願いします。
mfc - CListCtrl で異なるサイズの画像を表示する方法
私の MFC プログラムで、さまざまなサイズの画像をリストに表示したい! CListCtrl と CImageList を使用します。しかし、CImageList は固定イメージしかロードできません!
c++ - リスト列のサイズを変更する際のHDN_ENDTRACKの問題
CListCtrlから派生したカスタムクラスのHDN_ENDTRACKWメッセージを処理するときに、少し問題が発生します。
基本的に、このメッセージが送信されると、列の幅を格納する実際の値は、処理コードが実行されるまで更新されないようです。
ハンドル内のコードは、プログレスバーにサイズを変更して、サイズ変更された列の幅を埋めるように指示するだけです。コード:
ListView_GetColumnWidthは、現時点でのデバッグを支援するためだけにあります。
変更する特定の列のデフォルト値は150です。UIで列のサイズを変更すると、このメソッドが呼び出されますが、幅は同じ150のままで、プログレスバーのサイズは変更されません。列のサイズが再度変更された場合にのみ、幅の値は最初のサイズ変更後の列の値を反映するようになります。次に、ResizeProgressBarメソッドは、プログラムバーのサイズを正しく変更して、列が存在する列を埋めます。これは連続的であり、幅の値は常に次のようになります。実際の値から一歩遅れます。
私はどんな助けにも感謝します。乾杯。
c++ - CListCtrlでスクロールイベントをキャッチする方法は?
CListCtrlを自分のクラスにサブクラス化し、いくつかのダイアログとビューで使用しています。私がやりたいのは、ClistCtrlが垂直方向にスクロールされているときにコードを実行することです。これをCListCtrlサブクラス自体に含める必要があります。
demoncodemonkeyによって提供されるメソッドを使用して、スクロールバーを操作するときにトリガーされるスクロールを検出できます。
メッセージマップ:
メソッド宣言:
メソッドの実装:
だが:
マウスホイールのスクロールはOnVScrollをトリガーしません。
下部に部分的に表示されているCListCtrlアイテムがクリックされたときに発生する自動スクロール(アイテムが完全に表示されるように上にスクロールされます)も、OnVScrollをトリガーしませんでした。例えば:
アイテム9をクリックすると、ClistCtrlが少しスクロールして、アイテムが完全に表示されます。
visual-c++ - CListCtrl アイテムが部分的に表示されないようにする方法は?
サイズ変更可能な CListCtrl があり、アイテムが部分的に表示されるのを避けたいと思っています。
例えば:
この場合、項目 9 を表示しないようにします。このためのフラグまたはメソッドはありますか? この問題をどのように解決しますか?
私は次のことを試しましたが、うまくいきませんでした:
捕まえた後
...
...
CListCtrl 親ダイアログで。(これはやりたくありません。可能であれば、CListCtrl 派生クラスでのみすべてを実行したいと考えています)。
アイテム 9 を完全に表示するだけですが、アイテム 10 はその下に部分的に表示されています。30 個のアイテムがある場合、リストをスクロールしてアイテム 30 を表示したくない場合は、アイテム 8 まで表示し、その下に部分的に表示されるアイテムを表示したくありません。
visual-c++ - CListCtrl 選択の変更を検出する方法は?
ユーザーが CListCtrl で行を選択したときにコードを実行したい (レポート ビュー、他の表示モードは気にしません)。
このイベントをキャッチするにはどうすればよいですか? マップできるメッセージや「OnSelectionChanged」などのメソッドはありますか?
c++ - CListCtrlはアイテムインデックスを取得します
キャプションテキストを使用してアイテムのインデックス番号を取得するにはどうすればよいですか?MFCのCListCtrlクラスを使用しています。アイテムのキャプションテキストがあります。そのアイテムのインデックスを取得して、テキストを更新できますか。例を挙げていただければ助かります。
list - MFC CListCtrl で以前に選択した行をプログラムで強調表示解除するにはどうすればよいですか (VS 6)?
MFC CListCtrl で以前に選択した行をプログラムで強調表示解除する方法を知っている人はいますか?
c++ - MFC リスト コントロール
MFC では、リスト コントロール内の項目のテキストを編集できますが、Edit Labels を true に設定することで最初の列に対してのみ編集できます。最初の列アイテムをクリックしてテキストを変更すると、そのテキストを変更できますが、Enter キーを押してもテキストが更新されません。他の列のテキストを編集するには、なぜ、どのようにすればよいですか?