質問

comtl32.dll v6.0のlistViewは、次のように複数の選択(Shiftキーを使用する場合)を実行します(xは選択されたことを意味します)

00xxxx
xxxxxx
xxxx00

ListViewの以前のバージョンは次のように行います。

00xx00
00xx00
00xx00

最初の方法(comctl32 v6.0の方法)を行う方法はありますか?

ジョンに感謝します

役に立ちましたか?

解決

短い答えはノーです。 しかし、それは不完全に思えるからです...

ListView 選択動作を変更できるAPIを公開しません。ハンスが斜めにコメントに入れているように、の動作を変更する唯一の方法は ListView バージョン6.0より前のCOMCTL32.DLLのバージョンにあるコントロールは、タイムマシンを使用しています。に組み込まれているユニークな行動がたくさんあります ListView 選択イベントに関するコントロールなので、たとえあなたが試して所有者を試してみても、コントロールを描いて修正 外観 選択動作のうち、選択の変更を引き起こす可能性のあるほぼばかげた数のウィンドウメッセージを処理する必要があることに突然直面するでしょう。

また、この質問はまったく異なるレベルで見当違いであることを指摘する価値があります。アプリケーションのユーザーがバージョン6.0より前にcomctl32.dllのバージョンを含むWindowsのバージョンを実行している場合、 これは彼らが期待する行動です の外へ ListView コントロール。それは他のすべてのものと同じように機能しないので、それは彼らに混乱することに他なりません。 ListView コンピューターで見つかった制御。対照的に、アプリケーションのユーザーがCOMCTL32.DLL V6以降を含むWindowsのバージョンを実行している場合、 ListView 制御する すでに デフォルトで説明したとおりに実行します。 (そして、まったく同じ理由でそれを変更したくないはずです。)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top