W-ZERO3[es]にプログラミング環境を(3)
前回(W-ZERO3[es]にプログラミング環境を(2) - ひらいて)に引き続きW-ZERO3[es]のプログラミング環境(.NetCF2.0)をタダで整えるべく苦労する日記。
.Net Framework 2.0 SDK&Compact Frameworkで、メッセージボックスをes上で表示させるプログラムは作れるようになったので、今度はWindows Formsアプリケーション。特に大きい障害も無く出来た。
プログラムは、ボタン2つがフォーム上に表示されているだけの簡単なもの。赤いボタンをクリックするとメッセージボックスが表示され、終了ボタンをクリックするとプログラムが終了する。
・環境変数を設定するバッチ
System.Drawing.dll を追加した
[setncfenv.bat]
rem .Net (Normal) Framework 2.0 SDK のインストール先
rem (vbcとかのコンパイラが置いてあるディレクトリ)をパスに追加
set PATH=C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;%PATH%rem .Net Compact Framework 2.0 のインストール先をセット
set CFLIB="C:\Program Files\Microsoft.NET\SDK\CompactFramework\v2.0\WindowsCE"rem vbcに渡すコンパイルオプション。
rem /rでプログラムが利用するライブラリを列挙する
set CFOPS=/netcf /nostdlib /sdkpath:%CFLIB% ^
/r:%CFLIB%\System.dll /r:%CFLIB%\System.Windows.Forms.dll ^
/r:%CFLIB%\System.Drawing.dll
・プログラム
なぜかcf用にコンパイルするときだけ、TypeName使うのにMicrosoft.VisualBasicをインポートする必要がある。
[SampleForm.vb]
imports Microsoft.VisualBasic
imports System.Windows.Forms
imports System.Threading
imports System.Drawingpublic class SampleForm
inherits Formprivate withevents b1 as Button
private sub b1_Click(sender As Object, e As System.EventArgs) Handles b1.Click
close()
end subprivate withevents b2 as Button
private sub b2_Click(sender As Object, e As System.EventArgs) Handles b2.Click
MessageBox.show("Oops.")
end subpublic sub New()
controlBox = true
minimizeBox = true
text = TypeName(me)b1 = new Button()
b1.height = 30
b1.width = 100
b1.text = "終了"
controls.Add(b1)b2 = new Button()
b2.height = 200
b2.width = 200
b2.backcolor = Color.red
b2.text = "ホアタッ!"
controls.add(b2)
end subprotected overrides sub OnResize(e As System.EventArgs)
b1.top = 10
b1.left = (me.width - b1.width)/2
b2.top = b1.top + b1.height + 10
b2.left = (me.width - b2.width)/2
end subshared sub Main()
dim f as new SampleForm
f.show()
Application.run(f)
end sub
end class
・コンパイルしてコピーして実行
以下のコマンドを実行。環境変数をセットしてコンパイルしてesにコピーしてes上で実行。
cecopy, rapistartはPower Toys(参照)のもの。
>setncfenv
>vbc %CFOPS% SampleForm.vb /main:SampleForm
>cecopy SampleForm.exe "dev:\My Documents"
>rapistart "\My Documents\SampleForm"
・実行画面