アドエスメロディキーボードバージョンアップの課題です。
課題1 画像表示
画面が寂しいので画像を表示できるようにする。
画面にピクチャーボックスコントロールを配置して、ファイルを読み込む。
Dim Bitmap1 As Bitmap
Bitmap1 = New Bitmap("\Program Files\1.gif") //画像ファイル読込み
PictureBox1.Image = Bitmap1 //PictureBoxに画像設定 |
課題2 縦横切替
縦横切替の専用イベントがある訳ではなくて、Resize(WM_SIZE)イベントで判断するらしい。
ただ、起動時に4回、切替時に2回Resizeイベントが降ってくるので、サイズが変わったことを判定する変数を1つ用意しておく。
起動時は、Visible(画面表示フラグ)チェックをしてResize処理しないようにする。
起動時のイベント順
Resize(Visible=False)
Resize(Visible=False)
Form_Load
Resize(Visible=False)
Resize(Visible=True)
切替時のイベント
Resize(Width=新サイズ)
Resize(Width=新サイズ)
Dim lngBefSize As Long //画面幅を保存しておく変数
Private Sub Form1_Load(…) Handles MyBase.Load
If Me.Width < Me.Height Then
//縦の処理
Else
//横の処理
End If
lngBefSize = Me.Width //画面幅を退避
End Sub
Private Sub Form1_Resize(…) Handles MyBase.Resize
//画面幅が変わった場合
If lngBefSize <> Me.Width And Me.Visible = True Then
If Me.Width < Me.Height Then
//縦の処理
Else
//横の処理
End If
lngBefSize = Me.Width //画面幅を退避
End If
End Sub
|
http://www.microsoft.com/japan/msdn/mobility/windowsmobile2003/screen_orientation_awareness.aspx
画面方向の切替えに対応したアプリケーションの開発(MSDN)
課題3 キー入力とIMEのON/OFF
IMEはImmSetOpenStatusでON/OFF切替できるそうです。
これを使って初期状態で半角入力モードに切替。
http://d.hatena.ne.jp/annin102/20071122/1195753333
入力モードを _1 に変更する方法(闇忍日記さん)
http://blog.goo.ne.jp/mypda/e/bd2e6a36e011e986ab907ea64f5778c7
ソース公開企画第3弾 TextCopy(w-zero3日和さん)
あとは、どのキーにどの音を割り当てるか。
実質3段しかないので、A段に白鍵盤、Q段に黒鍵盤を割り当て。
結局1オクターブしか入らないなぁ。仕様を考えるのが一番悩ましい…(^^;