これがこの問題のスクリーンショットです。使った
SendMessage(find, CB_SETHORIZONTALEXTENT, (WPARAM)200, 0);
ドロップダウン コンボ ボックスの水平スクロールを作成します。しかし、それは一番下に空の行を与えます。この問題を解決する方法を教えてください。
この質問が出されてから2年が経ちましたが、他の誰かがこの問題に遭遇した場合(私がしたように)、ここで私が解決した方法があります:
末尾のスペースは、 プロパティの計算ミスが原因であり、 ( に依存する) および にDropDownHeight
基づいて計算された既定値があります。ItemHeight
Font
MaxDropDownItems
DropDownHeight
したがって、水平スクロールバーを手動で追加した場合 (私が行ったように、WS_HSCROLL スタイルを追加して)、次のように再計算する必要があります。
DropDownHeight = SystemInformation.HorizontalScrollBarHeight
+ 2 + ItemHeight * MaxDropDownItems;
は2
国境です。
編集
より広い適用性のためにシステムの境界を考慮しています...
DropDownHeight = ItemHeight * MaxDropDownItems
+ SystemInformation.HorizontalScrollBarHeight
+ 2 * SystemInformation.BorderSize.Height;