0

これがこの問題のスクリーンショットです。使った

SendMessage(find, CB_SETHORIZONTALEXTENT, (WPARAM)200, 0);

ドロップダウン コンボ ボックスの水平スクロールを作成します。しかし、それは一番下に空の行を与えます。この問題を解決する方法を教えてください。

ここに画像の説明を入力

4

1 に答える 1

0

この質問が出されてから2年が経ちましたが、他の誰かがこの問題に遭遇した場合(私がしたように)、ここで私が解決した方法があります:

末尾のスペースは、 プロパティの計算ミスが原因であり、 ( に依存する) および にDropDownHeight基づいて計算された既定値があります。ItemHeightFontMaxDropDownItems

DropDownHeightしたがって、水平スクロールバーを手動で追加した場合 (私が行ったように、WS_HSCROLL スタイルを追加して)、次のように再計算する必要があります。

DropDownHeight = SystemInformation.HorizontalScrollBarHeight
                 + 2 + ItemHeight * MaxDropDownItems;

2国境です。

編集

より広い適用性のためにシステムの境界を考慮しています...

DropDownHeight = ItemHeight * MaxDropDownItems 
                 + SystemInformation.HorizontalScrollBarHeight 
                 + 2 * SystemInformation.BorderSize.Height;
于 2015-01-12T09:00:12.690 に答える