記事「DoEasy-コントロール(第19部):TabControl、WinFormsオブジェクトイベントでのタブのスクロール」についてのディスカッション

 

新しい記事「DoEasy-コントロール(第19部):TabControl、WinFormsオブジェクトイベントでのタブのスクロール」はパブリッシュされました:

この記事では、スクロールボタンを使用してTabControlでタブヘッダーをスクロールする機能を作成します。この機能は、コントロールの両方側からタブヘッダーを1行に配置するためのものです。

EAをコンパイルし、チャート上で起動します。


ご覧のとおり、すべてが想定どおりに機能します。

ただし、2つの欠点があります。非表示のタブヘッダー領域にカーソルを合わせると、この領域に表示されているかのようにヘッダーの色が変化します。これが、表示領域のサイズが変更されたときに、コントロールのアクティブ領域のサイズが変更されない理由です。これを修正するには、表示されている領域に合わせてアクティブ領域を計算してサイズを変更する必要があります。

2つ目の欠点は、選択したヘッダーをコンテナの外に移動してパネルを移動すると、非表示のヘッダーの2ピクセルが表示されることです。これは、スコープ計算用のタブのサイズ変更に関係しています。これは、選択したヘッダーが両側で2ピクセルずつサイズが大きくなるためです。これを修正するには、タブヘッダーオブジェクト内の隣接するヘッダーのサイズを取得する方法を見つける必要があります。これに基づいて、表示領域のサイズが計算されます。

作者: Artyom Trishkin