Presentation is loading. Please wait.

Presentation is loading. Please wait.

WindowsAPI と MFC H107102 古田雅基 H107048 佐藤一樹 H107124 山下陽平.

Similar presentations


Presentation on theme: "WindowsAPI と MFC H107102 古田雅基 H107048 佐藤一樹 H107124 山下陽平."— Presentation transcript:

1 WindowsAPI と MFC H107102 古田雅基 H107048 佐藤一樹 H107124 山下陽平

2 まずはじめに・・・・ WindowsAPI とは? Windows API は Windows の各機能にアクセスするためのも の。 特に C と C++ では、 Windows SDK により、 を はじめとする多数のヘッダファイルが公開されている 多くの開発環境で、 Windows API を基にしたより高水準の フレームワークが構築されている これらを通じて、 直接・間接にすべての Windows アプリケーションは Windows API を使用している

3 もくじ ウィンドウ作成 ウィンドウ作成のための引数 メッセージループについて 準備するもの

4 ウィンドウ作成 ソースコード main() の代わりに WinMain()

5 WinMain で使用する引数 第一引数:インスタンスハンドル アプリケーションの固有の番号 第二引数:インスタンスの確認( Win16 ) Win32 ではこれと異なる方法で確認するため、常に NULL 第三引数:コマンドライン引数 Windows 標準の文字型が LPSTR 第四引数:ウィンドウの表示状態 int WINAPI WinMain(HINSTANCE hCurInst, HINSTANCE hPrevInst, LPSTR lpsCmdLine, int nCmdShow ) ;

6 メッセージループ プログラムに対して何らかの働きかけ(キー入力な ど)が起こることをイベントと呼ぶ それぞれのアプリケーションでは どのメッセージが送られてきたかを常にチェックし ている イベント発生時 メッセージに対応した処理を実行 ウィンドウプロシージャでイベント待ち受けを行う これをメッセージループと呼ぶ

7 メッセージループの図解 Windows Application キー入力(イベント) メッセージ( BM_CLICKED) ウィンドウプロシジャー BM_CLICKED 処理

8 ウィンドウハンドル ウィンドウハンドルとは CreateWindow() の戻り値である。 このハンドルを使用することによって、 ウィンドウの操作が可能となる。 ハンドルとは、 Windows が管理するためにつける 整理番号のようなもの

9 準備

10 メニューバーの 「ファイル → 新規作成 → プロジェクト」 を押す

11 プロジェクトの種類から C++ を選びそこの Win32 を選 択、テンプレートのほうで、 Win32 プロジェクトを選 択、「ソリューション~」のチェックははずして OK

12 Windows アプリケーションを選択、空のプロジェクト にチェックを入れて、完了を押す

13 上図が出るので、右側のソースファイルのところで、 右クリック、追加、新しい項目をクリック

14 上図のような画面が出るので、コードより、 C++ ファ イルを選んで、ファイル名を指定して追加のボタンを 押せば、ソースをかける場所が出てくる

15 課題 課題1:レクチャー中にも出てきたウィンドウを作 ってみよう(コピペではなく、手打ちで) 課題2:課題1のプログラムでは、ウィンドウの右 上 × などを押すと直ぐに消えてしまうと思うので、 終了前に確認画面( OK 、キャンセル)が出るように する。 課題3:キーイベントを取ってきて、何が押された のか分かるプログラムを書く 課題4:何か自由にプログラムを書いてみる

16 課題2の例 送られてくるメッセージ WM_CLOSE メッセージ BOX の出し方 MessageBox(hWnd, _T(" 終了しますか “), _T(" 終 了確認 “), MB_OKCANCEL | MB_ICONQUESTION);

17 Windows の文字コード Windows の文字コードの歴史 WindowsNT 系: Unicode 環境 Windows9x 系:非 Unicode 環境 今では全体的に Unicode に移行されている プログラムを書く上では、 Unicode 及び非 Unicode をそれぞれ区別する必要がある 対応策 コンパイル時に文字コードを切り替える TCHAR 型が存在 更に、 _T() マクロを用いることで文字列も切り 替えることが出来る(要: Tchar.h )


Download ppt "WindowsAPI と MFC H107102 古田雅基 H107048 佐藤一樹 H107124 山下陽平."

Similar presentations


Ads by Google