おぼえがきとか言いながら寄せ集め。
01:実行ファイルの軽量化
#pragma comment(linker,
"/nodefaultlib:\"libc.lib\"")
// ランタイムライブラリを使用しない
#pragma comment(linker,
"/entry:\"WinMain\"")
// エントリポイント変更
WinMain
関数の引数が正しく設定されません。
HINSTANCE は GetModuleHandle
コマンドライン引数は GetCommandLine
で取得可能。
02:窓を出してメッセージ表示
// "表示内容"
AfxMessageBox("");
//YES/NOの選択
a=AfxMessageBox("",MB_YESNO);
if(a==IDYES)
03:ダイアログの初期処理
BOOL CGomi5Dlg::OnInitDialog()
{
// TODO: 特別な初期化を行う時はこの場所に追加してください。
ここに処理を追加して記述する。
return TRUE; // TRUE を返すとコントロールに設定したフォーカスは失われません。
}
04:ボタンにビットマップ
ダイアログのクラスに、
CBitmapButton button1;
を追加。
コンストラクタで、以下の初期化をします。
if (!button1.LoadBitmaps(_T("Image1Up"), _T("Image1Down"), _T("Image1Focus")))
{
TRACE0("Failed to load bitmaps for buttons\n");
AfxThrowResourceException();
}
あとは、OnInitDialog()のなかで、
VERIFY(button1.SubclassDlgItem(IDOK, this));
button1.SizeToContent();
とすればOKです。
リソースエディタで
ボタンのスタイルタブの中にある「オーナー描画」をチェック。
button1.LoadBitmaps(押されてない, 押された, フォーカスが当たってる, 無効)
それぞれの状態のファイル名またはリソースIDを指定します。
で第2,3,4の引数はNULLまたはOでもかまいません。