WinASM Studio. の使用例

それでは、いよいよ使ってみましょう。最初の例は、ポトペタです(笑)。

簡易型メモ帳を作る

1.WinASM Studio. を起動し、ツールバーのNew Project をクリックします。
New Project
2.図のようなダイアログが開きます。Dialogタブをクリックします。
Empty Project
3.今回は、bones を選び、OKをクリック。
Dialogタブ
4.プロジェクトを保存するフォルダを選択するダイアログが開くので、選択します。
フォルダ選択
5.Explorer窓で、リソースファイルをクリックします。
リソースファイル選択
6.ダイアログエディタが表示されます。いわゆるポトペタです。フォームをドラッグして形や大きさを整えます。ボタンも右下に移動しておきます。そのあと、ToolBoxEditを選びます。
ダイアログエディタ
7.フォーム上をマウスでドラッグしてEditを貼り付け、位置と大きさを整えます。Editの中の文字が邪魔ですね。まずこれを消しちゃいましょう。
Edit貼り付け
8.Explorer窓の最下部のResourcesタブをクリックします。
Resourcesタブ
9.Explorer窓でEditに相当するIDを選びます。
editを選択
10.Text欄をクリックして、右半分の文字を変えられるようにします。BackSpaceキーで空欄にしてしまいます。
Text欄
11.次は、Editの属性を設定します。Style欄をクリックすると、右端にボタンが出現します。これをクリック。
Style欄
12.設定ダイアログが開きます。関係する多くの項目が羅列されます。当該行をクリックするたびにYes/Noが切り替わりますので、好みの設定に変えます。
Window Styles
13.このままでは文字化けするので、ダイアログフォームのIDを選択して、設定に移ります。
IDD_MAIN
14.Font欄をクリックして、設定ダイアログを出します。
Font設定
15.おなじみのフォント選択ダイアログですね。日本語フォントにしておきましょう。
フォント ダイアログ
16.ツールバーのGo All ボタンをクリック。するとアセンブル・リンクが行われ、エラーがなければ完成した実行ファイルが起動します。
Go All
17.完成品を試しに使ってみます。右クリックすると、おなじみのコンテキストメニューも使えます。
簡易メモ帳
以上で完成です。この段階までに、1文字も自分でソースを書いていないことに注目してください。作成した実行ファイルのサイズは5KBに過ぎません。まあこのままでは、ファイルの読み書きもできないわけですが、興味のある方は、さらに機能追加してみてください。チュートリアルの33章が参考になるでしょう。

生成されたソースを眺めてみると、CのSDKと大差ないんですよね。bones.asmを見てみましょう。

.386
.model	flat, stdcall
option	casemap :none

include		bones.inc


.code
start:
	invoke	GetModuleHandle,NULL
	mov	hInstance, eax
	invoke	InitCommonControls
	invoke	DialogBoxParam,hInstance,IDD_MAIN,0,offset DlgProc,0
	invoke	ExitProcess,eax

DlgProc proc hWin:DWORD,uMsg:DWORD,wParam:DWORD,lParam:DWORD
	mov	eax,uMsg
	
	.if	eax == WM_INITDIALOG
		invoke	LoadIcon,hInstance,200
		invoke	SendMessage,hWin,WM_SETICON,1,eax
	.elseif eax == WM_COMMAND
		mov	eax,wParam
		.if	eax == IDB_EXIT
			invoke	SendMessage,hWin,WM_CLOSE,0,0
		.endif
	.elseif	eax == WM_CLOSE
		invoke	EndDialog,hWin,0
	.endif

	xor	eax,eax
	ret
DlgProc endp

end start

レジスタはeaxしか使っていないです。関数の返す値を受け取ったりするのに使われています。アセンブラ特有のニーモニックもmovだけですね。ちなみにmov A ,B はBをAにコピーするって言う意味です(笑)。初めて見た人でも想像が付くレベルですよね。あとはあえて言えば、xor eax,eax がアセンブラらしい使い方かも。これはeaxを0にしたいときに使います。

bones.inc も bones.rc も特に難しくなさそうです。え、bones.rc のソースが出ない? ツールバーのVisual Mode On/Off で切り替えれば、ソース表示にできます。RCファイルは、Cの場合とまったく共通ですね。ということは、C開発用のリソースエディタとしても、WinASM Studio.は使えます。別ページで紹介したReloなんかと違って、メニューエディタも付いています。


<次のページ>