SHOEISHA iD

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

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

特集記事

C++Builder XE2 + FireMonkeyで「アハ」なアプリを作ってみる

ドラッグ&ドロップのビジュアル操作で画像処理を行うC++アプリを作成

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

画像の変化を始めるコードを記述する

 ビジュアル設計ツールを使って、簡単に画面の設計ができました。コンポーネントに元々用意されたアニメーション機能を使って、画像をじわじわと変化させるための準備もできました。

 あとはイベントハンドラを使って

  • ボタンがクリックされたら、画像を表示しアニメーションを開始させる
  • 制限時間が来たら、画面クリアする

の2つの動作を設定します。どちらも1行のコードを記述するだけです。

ボタンがクリックされたときの処理を記述する

 C++Builderでは、イベント駆動型のコードを簡単に記述することができます。コンポーネントに対して、それぞれイベントが用意されており、これらのイベントが発生したタイミングで実行されるコードをオブジェクトインスペクタを使って簡単に定義することができます。

 まず、「ボタンがクリックされたら画像を表示しアニメーションを開始させる」処理を定義しましょう。

 設計画面上でButton1を選択します。オブジェクトインスペクタの[イベント]タブをクリックすると、Button1に対するさまざまなイベントが表示されます。この中から、OnClickイベントを選択し、値列をダブルクリックします。すると、図のようにButton1のOnClickイベントハンドラが生成されます。

図10 - OnClickイベントの設定

 ここにアニメーションを開始させる以下のコードを記述します。

  BitmapAnimation1->Start();

画面をクリアする処理を記述する

 次に「制限時間が来たら、画面クリアする」コードを記述しましょう。

 画面下の[デザイン]タブをクリックして、再び設計画面を表示します。画面左上の[構造]ペインにリストされたBitmapAnimation1を選択します。すると、オブジェクトインスペクタ上にBitmapAnimation1のプロパティ/イベントが表示されます。オブジェクトインスペクタの[イベント]タブをクリックして、OnFinish イベントハンドラの値列をダブルクリックします。

図11 -OnFinishイベントを選択

 すると、BitmapAnimation1のOnFinishイベントハンドラが生成されますので、ここに以下のコードを記述します。

  Image1->Bitmap->Clear(claSkyblue);

 この1行のコードで、アニメーションが終了した時点(制限時間が経過した時点)で、画面を SkyBlue色でクリアします。

図12 -OnFinishイベントの設定

 以上でアプリケーションは完成です。

 後はキーボードの[F9]ボタンを押し、アプリケーションをビルドして実行します。

図13 -完成したアプリケーション

次のページ
おまけ - Mac OS X用にビルドしてみる

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

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

もっと読む

この記事の著者

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

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

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

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

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/6575 2012/05/11 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング