Caedeで作成したプログラムで、
起動後に画像を差し替えるような動作を考えています。
Graphicクラスで
{image
source={url "adria.jpg"}
}
とすれば画面に画像を貼り付けることは普通にできましたが、
これを別の画像に差し替える方法がわかりません。
どのようにすればよいでしょうか。
imageテキストプロシージャの代わりにcaede-imageプロシージャを使います。
Curl Developer Centerの逆引きリファレンス→モバイル開発環境「Caede」→GUIコンポーネント
にも解説があります。
http://developers.curlap.com/re-referenc...2-gui.html
ローカルの画像ファイルを使用したい場合は image-map引数にHashTabelに登録する必要があり、
どの画像ファイルを使用するかは、 そのHashTableに登録されたキー(文字列)で指定します。
Code:
|| Graphicクラス
{caede-image
name = "new_image_g",
image-map =
{{HashTable-of String, Url}
"logo1", {url "image/logo1.png"},
"logo2", {url "image/logo2.png"}
},
"logo1"
}
{caede-image
name = "new_image_g2",
"logo2"
}
image-mapは一度にまとめて指定することができ、 一度登録すると、別のcaede-imageプロシージャから
キーだけで使用できます。(ex 上記の"logo2"の指定)
画像ファイルを切り替える時は、Screenクラスで以下のようにします。
Code:
|| CaedeImageGraphicコントロールを取得
set self.image-g = {self.find-graphic-by-name "new_image_g"} asa CaedeImageGraphic
|| sourceプロパティを再設定
set self.image-g.source = "logo2"
}
なお、caede-image、CaedeImageGraphicを使用するときには
COM.CURL.CAEDE.TRANSLATOR.HTML.CLIENTパッケージからのインポートが必要です。
load.scurlなどに以下のimport文を追加してください。
{import * from COM.CURL.CAEDE.TRANSLATOR.HTML.CLIENT}