タグ

ブックマーク / www.sm.rim.or.jp/~shishido (3)

  • リソースを使わないモーダルダイアログ

    モーダルダイアログボックスを出すには、リソースを定義してDialogBox()を呼び出す、というのが一般的な方法のようです。しかしダイアログボックスを定義するリソースは座標系がやや特殊な上に、あらかじめリソースを定義しておくのでは実行時に動的にダイアログボックスを作成できないので不便です。そこで、今回はリソースもDialogBox()も使わないでモーダルダイアログを実現する方法を考えてみる事にします。 モーダルダイアログは、ダイアログが閉じるまでダイアログを呼び出したウインドウの操作が出来ない、つまり無効化されるダイアログです。という事は、メインウインドウからあるウインドウをモーダルダイアログボックスとして呼び出す処理は ウインドウを作成しメインウインドウを無効化。制御を得る。 ダイアログの処理を行い、ダイアログが閉じられる(選択が行われる)まで待つ ダイアログを閉じてメインウインドウを有

  • スレッドの作成と優先順位-Windowsプログラミング実験室-

    これまで、何度かマルチスレッドプログラミングを扱ってきましたが、改めてマルチスレッド(メインのスレッド以外に作成するワーカースレッド)関連のWin32API をまとめてみましょう。 スレッドの作成にはCreateThreadを使います。この関数は以下のような形です。 HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, DWORD dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter, DWORD dwCreationFlags, LPDWORD lpThreadId ); まず、lpThreadAttributes はNTで使用するセキュリティ関連の設定で、Windows95/98 ではNULLにします。次のdwStackSize

  • バイナリリソースの追加-Windowsプログラミング実験室-

    Windowsの実行ファイルやDLLには、プログラムのコードの他に任意のデータを「リソース」として追加することができます。リソースを使うと各種アイコンやビットマップ、メニュー、文字列などさまざまなデータを一つの実行ファイルにまとめられるので、配布やプログラムのコピーが楽になるという利点があります。 Visual C++など最近のビジュアルなプログラミング環境では、アイコンやメニューのリソースを作る場合もちょっとした設定で自動的に作ってくれるのですが、今回は独自形式のバイナリイメージをリソースとして実行ファイルに統合し、プログラムからそのリソースを読み込んでみましょう。この方法を使うと、画像やサウンド、あるいはゲームのマップやイベントデータなどどんなデータでもリソースとして扱えることになります(画像に関しては、ビットマップリソースを扱うAPIもあります。ただ、24ビットのBMPから32ビット

  • 1