win32APIを使ったダイアログボックス作成方法について
CreateDialog( インスタンスハンドル, MAKEINTRESOURCE(ダイアログボックスID), ウィンドウハンドル, ダイアログ関数用のコールバック関数ポインタ)
これで作成
その後にShowWindowなどをしておくと表示されて一安心。
メッセージループでは
ダイアログ用のコールバックを取得するために、
メッセージを取得した後に
if( ダイアログウィンドウハンドルの存在可否 && IsDialogMessage(ダイアログハンドル, &msg))
{
continue;
}
で割り込んでおく必要がある。
終了時には
DestroyWindow(ダイアログウィンドウハンドル)
でダイアログを消去し、ハンドルをNULLにしておくこと。
以上、3つがダイアログボックスを作成する際のポイントである。
2008年8月26日火曜日
2008年8月25日月曜日
2008年8月1日金曜日
libとdllの作成方法
環境はVisual Studio 2005 VC++。
libを作成したい場合は構成プロパティ全般の
構成の種類をlibにする
main関数が必要なわけではない。
ビルドしてエラーが出なければlibファイルが作成される
利用する側では.hと.libを使う。
参照設定にlibを作成したプロジェクトを入れてしまえば勝手にリンクしてくれる
ヘッダは自分で読みにいかなければならない。
それからdllを作成したい場合。
libよりは少しややこしいが、まず構成プロパティ全般の
構成の種類をdllにする。
同様にmain関数は必要ない。
外部から利用したい関数やクラスの前に
__declspec(dllexport)という宣言を加える
具体的には
__declspec(dllexport) 関数名();
class __declspec(dllexport) クラス名{};
という具合。
すると同じく.dllと.libができあがる
利用する側では
同じく参照設定をする
それから.dllファイルを
利用するプロジェクトの実行ファイルと同じフォルダに置く必要がある。
libはプログラム作成時に実行ファイルの中に組み込む。
dllは組み込まないので実行ファイルと対で必要になるが
dllだけ入れ替えることができる。
用途によって使い分ければいいだろう。。。
libを作成したい場合は構成プロパティ全般の
構成の種類をlibにする
main関数が必要なわけではない。
ビルドしてエラーが出なければlibファイルが作成される
利用する側では.hと.libを使う。
参照設定にlibを作成したプロジェクトを入れてしまえば勝手にリンクしてくれる
ヘッダは自分で読みにいかなければならない。
それからdllを作成したい場合。
libよりは少しややこしいが、まず構成プロパティ全般の
構成の種類をdllにする。
同様にmain関数は必要ない。
外部から利用したい関数やクラスの前に
__declspec(dllexport)という宣言を加える
具体的には
__declspec(dllexport) 関数名();
class __declspec(dllexport) クラス名{};
という具合。
すると同じく.dllと.libができあがる
利用する側では
同じく参照設定をする
それから.dllファイルを
利用するプロジェクトの実行ファイルと同じフォルダに置く必要がある。
libはプログラム作成時に実行ファイルの中に組み込む。
dllは組み込まないので実行ファイルと対で必要になるが
dllだけ入れ替えることができる。
用途によって使い分ければいいだろう。。。
登録:
コメント (Atom)
