「Kingsoft PowerWord」または「Orient Express」を使用したことがある場合は、「About」ウィンドウのローリング字幕に間違いなく興味があるでしょう。実際、この機能は Delphi の Timer コントロールを使用して簡単に実現できます。
1. デザインアイデア
まず、パネル コントロールをフォーム上に配置し、パネル コントロールに表示する必要があるテキストを配置します。次に、タイマー コントロールを使用して、パネル コントロールの位置を一定の間隔内で連続的に変更して、ローリング効果を実現します。字幕。
2. 実施方法
1. 新しいフォームを作成し、そのプロパティを次のように設定します。
名前:frmAbout1
自動スクロール:False
2. フォーム上にPanel コントロールを配置します。デフォルト名はPanel1で、そのプロパティを次のように設定します。
ベベルアウター:bvNone
キャプション: (空に設定)
パネル 1 の高さと幅を調整して垂直ストリップにします。高さは表示するコンテンツによって異なります (フォームの高さよりも大きくなる場合があります)。
3. Label1 に Label コントロールを配置してテキストを表示します。もちろん、Image コントロールを配置して画像を表示することもできますが、画像のサイズが大きすぎないように注意してください。大きすぎると表示効果に影響します。
4. フォーム上に Timer コントロールを配置します。デフォルト名は Timer1 です。Interval プロパティ値を 50 に設定し、OnTimer イベントに次のコードを入力します。
if パネル1.トップ>-パネル1.高さ then
パネル1.トップ:=パネル1.トップ-1
それ以外
パネル1.top:=frmAbout1.height-35;
{Panel1 がフォームの一番上に移動したかどうかを確認します。移動していない場合は、1 ピクセル上に移動し、Panel1 をフォームの一番下に移動し、サブタイトルをループで表示します。
5. フォーム上に Button コントロールを配置し、その Caption プロパティを「OK」に設定し、OnClick イベントに次のコードを入力します。
close;{フォームを閉じる}
3. 分析を改善する
上記はローリング字幕の単純な実装プロセスですが、さらに改善が必要な領域がまだ 1 つあります。フォームが背景として画像を使用している場合、Panel コントロールは背景パターンの一部をブロックします。実際、この問題を解決するには、Panel コントロールをまったく使用せず、Label コントロールをフォームに直接配置し、Label コントロールの Transparent プロパティ値を True に設定し、Timer を通じてこれらの Label コントロールを直接制御します。動きのコントロール。紙面の都合上、ここでは詳しく説明しません。