windowsapi と mfc h107102 古田雅基 h107048 佐藤一樹 h107124 山下陽平
Post on 21-Dec-2015
237 Views
Preview:
TRANSCRIPT
WindowsAPIと MFC
H107102 古田雅基H107048 佐藤一樹H107124 山下陽平
まずはじめに・・・・
WindowsAPIとは? Windows APIは Windowsの各機能にアクセスするためのもの。
特に Cと C++では、 Windows SDKにより、 <windows.h>をはじめとする多数のヘッダファイルが公開されている
多くの開発環境で、 Windows APIを基にしたより高水準のフレームワークが構築されている
これらを通じて、直接・間接にすべてのWindowsアプリケーションはWindows APIを使用している
もくじ
ウィンドウ作成
ウィンドウ作成のための引数
メッセージループについて
準備するもの
ウィンドウ作成
ソースコード
main()の代わりに WinMain()
WinMainで使用する引数
第一引数:インスタンスハンドル アプリケーションの固有の番号
第二引数:インスタンスの確認( Win16) Win32ではこれと異なる方法で確認するため、常に NULL
第三引数:コマンドライン引数 Windows標準の文字型が LPSTR
第四引数:ウィンドウの表示状態
int WINAPI WinMain( HINSTANCE hCurInst, HINSTANCE hPrevInst,LPSTR lpsCmdLine,int nCmdShow
) ;
メッセージループ
プログラムに対して何らかの働きかけ(キー入力など)が起こることをイベントと呼ぶ
それぞれのアプリケーションではどのメッセージが送られてきたかを常にチェックしている
イベント発生時 メッセージに対応した処理を実行
ウィンドウプロシージャでイベント待ち受けを行う
これをメッセージループと呼ぶ
メッセージループの図解Windows
Application
キー入力(イベント)
メッセージ( BM_CLICKED)ウィンドウプロシジャーBM_CLICKED
処理
ウィンドウハンドル
ウィンドウハンドルとはCreateWindow()の戻り値である。このハンドルを使用することによって、ウィンドウの操作が可能となる。
ハンドルとは、Windowsが管理するためにつける整理番号のようなもの
準備
メニューバーの→ →「ファイル 新規作成 プロジェクト」
を押す
プロジェクトの種類から C++を選びそこの Win32を選択、テンプレートのほうで、 Win32プロジェクトを選択、「ソリューション~」のチェックははずして OK
Windowsアプリケーションを選択、空のプロジェクトにチェックを入れて、完了を押す
上図が出るので、右側のソースファイルのところで、右クリック、追加、新しい項目をクリック
上図のような画面が出るので、コードより、 C++ファイルを選んで、ファイル名を指定して追加のボタンを押せば、ソースをかける場所が出てくる
課題 課題1:レクチャー中にも出てきたウィンドウを作ってみよう(コピペではなく、手打ちで)
課題2:課題1のプログラムでは、ウィンドウの右上 ×などを押すと直ぐに消えてしまうと思うので、終了前に確認画面( OK、キャンセル)が出るようにする。
課題3:キーイベントを取ってきて、何が押されたのか分かるプログラムを書く
課題4:何か自由にプログラムを書いてみる
課題2の例
送られてくるメッセージWM_CLOSE
メッセージ BOXの出し方MessageBox(hWnd, _T(" “終了しますか ), _T(" “終了確認 ), MB_OKCANCEL | MB_ICONQUESTION);
Windowsの文字コード
Windowsの文字コードの歴史WindowsNT系 : Unicode環境Windows9x系 :非 Unicode環境
今では全体的に Unicodeに移行されているプログラムを書く上では、 Unicode及び非Unicodeをそれぞれ区別する必要がある
対応策コンパイル時に文字コードを切り替える TCHAR型が存在
更に、 _T()マクロを用いることで文字列も切り替えることが出来る (要: Tchar.h)
top related