2

TSpeedButtonを強制的にフラットに再描画する方法はありますか?

タッチスクリーンモニターを使用している場合、マウスはボタンの外に移動しないため、別のボタンをクリックしても、浮き上がった境界線は画面に表示されたままになります。

4

2 に答える 2

3

これはタッチスクリーンなしで再現できるものではないようですが、正しく理解していれば、誰かがボタンに触れると熱くなります(Downがtrueの場合は上昇するか、ハイライト表示されます)が、タッチすると別のボタンはマウスの終了をトリガーしないため、高温のままです。あれは正しいですか?

これを修正する方法はいくつかあります。おそらく最も簡単なのは、クリックイベントごとに、マウスをボタンから離すメソッドであるtopを呼び出すことです。

Mouse.CursorPos := Point(0,0);

それでも不十分な場合は、クリックされたボタンを無効にし、マウスをオフにして更新し、再度有効にすることができます。 無効にしたボタンをホットにすることはできません。 マウスを動かしてボタンを1秒間無効にした後、ボタンを有効にするタイマーが必要な場合もありますが、マウスを動かすだけで十分だと思います。

また、タッチしたボタンにマウスカーソルを置いたままにするとチーズだといつも思っていたので、タッチシステムが上品に見えます。

于 2009-06-05T03:27:05.870 に答える
2

FlatプロパティをTrueに設定してみましたか?

于 2009-06-04T21:23:04.373 に答える