SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

特集記事

C++Builder XE2+FireMonkeyで昔のラケットゲームを再構築してみる(1)

15年前の入門書の課題を、最新の開発環境を使って再挑戦

  • X ポスト
  • このエントリーをはてなブックマークに追加

ボタンのスタイルを定義する

ボタンのカスタムスタイル

 設計画面上で SpeedButton1をマウスでクリックし、右ボタンを押して、表示されたポップアップメニューから[カスタムスタイルの編集]を選択します。

 スタイルエディタが表示されます。右側のスタイルリストを見ると、先ほど設定したBlackPanelの下に SpeedButton1Style1という新しいスタイルが追加されています。

 リスト上のSpeedButton1Style1を見ると、左側に三角の印が付いています。これをクリックすると、スタイルを構成する複数のコンポーネントが表示されます。

図8 SpeedButton1Style1のスタイル
図8 SpeedButton1Style1のスタイル

 SpeedButton1Style1には、すでに初期スタイルが設定されており、「マウスがこのコンポーネントの上に来た時だけ色を変更する」ようになっています。今回は、最初から色を表示させたいので、この設定を削除し、新たに必要な設定を加えます。

既定のスタイルを変更する

 削除するのはTFloatAnimationです。これが、マウスが上に来た時だけ色を変更するという操作を行っていたアニメーション効果です。リスト中のTFloatAnimationの右側の×印をクリックして、スタイルから削除します。

 次に、リスト中のbackground: TRectangleをクリックし、オブジェクトインスペクタ上で、不透明度を表すOpacityプロパティの値を0.0001から1に変更します。

TRectangle
プロパティ
Opacity 1

 これでスタイルエディタ上に表示されているイメージにも色が反映されます。このスタイルの名前を SpButtonに変更します。

SpeedButton1Style1
プロパティ
StyleName SpButton

[適用して閉じる]をクリックして、スタイルエディタから設計画面に戻ります。

 SpeedButton1とSpeedButton2のプロパティを変更し、設定したスタイルを適用します。

SpeedButton1
プロパティ
Name StartButton
StyleLookup SpButton
Text START
Font.Style.fsBold True
SpeedButton2
プロパティ
Name StopButton
Enabled False
StyleLookup SpButton
Text STOP
Font.Style.fsBold True

 StopButtonは、ゲームを行っている最中のみ有効なため、初期段階でEnabledプロパティはFalseです。

図9 SpeedButtonのプロパティ設定
図9 SpeedButtonのプロパティ設定

試しに動かしてみる

 さて、ここまで作ったところで、いったんプロジェクトを保存しておきましょう。

 ここまででは、アプリケーションに特に動きはありませんが、設計したフォームを実際に実行してみることはできます。F9ボタンを押すと、アプリケーションがビルドされ、作りかけのゲームが起動します。

 マウスを[START]ボタンの上に移動してみてください。ボタンの色が変化しますね。

図10 とりあえず実行してみる
図10 とりあえず実行してみる

 これは、SpeedButtonのスタイルを設定したときに残しておいたアニメーション効果によるものです。では、次回はラケットを配置して、ゲームらしくしていきましょう。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
特集記事連載記事一覧

もっと読む

この記事の著者

EDN編集部(イーディーエヌ編集部)

エンバカデロ・デベロッパーネットワーク(EDN)は、ソフトウェア開発者とデータベース技術者のための技術情報サイトです。Delphi、C++Builderをはじめとする開発ツールやER/Studioなどのデータベースツールに関連する技術記事、ビデオなどを提供しています。EDN編集部は、EDN記事と連携...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/6599 2012/06/19 16:07

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング