モニターごとの DPI が変更された場合 ( WM_DPICHANGED
message )、リスト ビュー、ツリー ビュー、リッチ エディット、リストボックスなどのコントロールの組み込みスクロールバーは (予想どおり) スケーリングされません。
プログラムでスケーリングする必要があります。
スクロールバーのサイズを設定するためのAPIは見つかりませんでしたが(Win32でも、WinFormsでも)。
スクロールバーのサイズ (幅) を設定するには、どの API を使用できますか?
または、少なくともスクロールバーのハンドルを取得するにはどうすればよいですか? (内部的にスクロールバーは別個の子コントロールであると想定しています) ハンドルを取得したら、MoveWindow
それを使用してサイズを変更できると想定します(編集: @Anders の回答が示すように、私の仮定は間違っていました)
背景については、「Windows での高 DPI デスクトップ アプリケーションの開発」を参照してください。
重複しているように見える質問がいくつかありますが、実際には関連するものはありません。
そこにある回答は、システム全体の設定を変更するか、DataGrid
(インターフェイスで別の子スクロールバー コントロールを使用できる) のみで機能します。