IronSchemeでWindows.Forms
まだ情報が少ないです。とりあえず Windows.Formsで何かを作るにはどうするのか。2、3日試行錯誤してみてできたのはこれだけ。実行するとタイトルバーに日本語を表示して、BackColorが青いフォームが表示されます。
環境は .Net Framework 3.5。IronScheme 1.0.0 です。
;; -*- coding: utf-16 -*- (import (rnrs) (ironscheme clr)) (clr-reference System.Windows.Forms) (clr-reference System.Drawing) (clr-using System.Windows.Forms) (clr-using System.Drawing) (let ((form (clr-new Form))) (clr-prop-set! Form Text form "IronSchemeサンプル") (clr-prop-set! Form BackColor form (clr-static-prop-get Color Blue)) (clr-call Form Show form) (clr-static-call Application Run (clr-cast Form form)) ;;(clr-static-call Application (Run Form) form))
ソースコードを UTF-16 にしてようやく日本語が出ました。Windows(というか.Net?)の内部文字コードで書けということでしょうか。ちなみにコンソール上で日本語を出す方法は未だわからない・・・
よくわからないのは最後の2行。どっちでも問題なく動いているように見える。型エラーみたいのが出たので clr-cast を使って回避したんだけど、もうひとつのやり方(example/form.slsに書いてあった方式) の方がどう解釈したらいいのかわからない。
もっとわからないのは Form の Controls にボタン等を Add する方法。Form の Controls を clr-prop-get で取得して、clr-call で Addを呼べばいいのかと思ってやってみたけどダメでした。んー、これさえクリアすればなんとかGUIアプリが作れそうなんだが・・・。