0

ドロップダウンコンボボックスの文字列(水平)があります。それらのデータが非常に小さいことを考えると、ドロップダウン矢印は多くのスペースを占有し、全体が見苦しく見えます。

そのため、「矢印」をマウスのホバー中のみオンにするか、または同様のことを考えています。しかし、私は他の人にそれを見て、彼らの目を出血させたくありません。UI標準には理由があることは知っていますが、これは私にとっては例外のようです。誰かがデータを変更したい場合は、クリックしない場合でも、少なくともマウスをその上に置くと思います。

ターゲットはC++Builder XE2ですが、VisualC++をターゲットにした例でも問題ありません。完全に機能する例は期待していません。正しい方向にプッシュするだけです(もちろん、ドラッグアンドドロップを待っている完全に機能するコンポーネントがない限り、その場合はポイントを再発明する必要はありません)

4

2 に答える 2

0

ドロップダウン矢印を制御することはできません。これは、VCLではなく、OSによって管理される基盤となるComboBoxウィンドウの一部です。

TEditの代わりに使用してから、を含む別のをTComboBox作成することをお勧めします。ユーザーがにカーソルを合わせるかクリックすると、を表示して更新し、関連するアイテムを含めることができます。ユーザーがの項目をクリックすると、その文字列値を現在のに割り当てることができます。これにより、ディスプレイのルックアンドフィールをより細かく制御したり、画面上の位置をより細かく制御したり、プロパティを介したフェードイン/フェードアウトなどの特殊効果を追加したりすることができます。TFormTListBoxTEditTFormTListBoxTListBoxTEditTListBoxTForm.AlphaBlend

于 2012-09-08T01:42:13.633 に答える
0

TEditの代わりにTLabelを使用し(ユーザーが直接編集する必要がないため)、ユーザーがラベルにカーソルを合わせると、TComboBoxがまったく同じ位置に表示されるため、クリックできることが明らかになります。マウスが領域の外に出ると、TComboBoxは非表示になり、ラベルだけが表示されます。

または、自分に矢印を表示するTEditを用意し、クリックするとTListBoxを表示します(上記の回答と非常によく似ていますが、フォームはありません)

于 2012-09-08T11:34:51.413 に答える