5

モニターごとの DPI が変更された場合 ( WM_DPICHANGEDmessage )、リスト ビュー、ツリー ビュー、リッチ エディット、リストボックスなどのコントロールの組み込みスクロールバーは (予想どおり) スケーリングされません。

スケーリングされていないスクロールバー

プログラムでスケーリングする必要があります。

スクロールバーのサイズを設定するためのAPIは見つかりませんでしたが(Win32でも、WinFormsでも)。

スクロールバーのサイズ (幅) を設定するには、どの API を使用できますか?

または、少なくともスクロールバーのハンドルを取得するにはどうすればよいですか? (内部的にスクロールバーは別個の子コントロールであると想定しています) ハンドルを取得したら、MoveWindowそれを使用してサイズを変更できると想定します(編集: @Anders の回答が示すように、私の仮定は間違っていました)


背景については、「Windows での高 DPI デスクトップ アプリケーションの開発」を参照してください。


重複しているように見える質問がいくつかありますが、実際には関連するものはありません。

そこにある回答は、システム全体の設定を変更するか、DataGrid(インターフェイスで別の子スクロールバー コントロールを使用できる) のみで機能します。

4

2 に答える 2