ウィンドウ表示プログラムについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
feel out

ウィンドウ表示プログラムについて

#1

投稿記事 by feel out » 8年前

質問させていただきます

現在

Windows7

VC++ 2010 EE

Direct X

環境の下でウィンドウ表示のプログラム

ソースコードは「15歳からはじめる Direct X9 ゲームプログラミング C++編」の第3章の84Pをコピペして書いています

エラーも無しでコンパイルは通るのですが、ウィンドウが表示されません

以下 ソースコードです

コード:

#include<windows.h>
#include<tchar.h>


int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPInst, LPSTR lpCmd, int nCmd){



	HWND hWnd = CreateWindow(_T("botton"), _T("Windos7"), WS_OVERLAPPEDWINDOW, 100, 100, 300, 300, NULL, NULL, hInst, NULL );

	ShowWindow( hWnd, SW_SHOWDEFAULT );



	MSG msg;

	ZeroMemory( &msg, sizeof(MSG) );

	while( msg.message != WM_QUIT){
		if(PeekMessage( &msg, NULL, 0U, 0U, PM_REMOVE ) ){
			TranslateMessage( &msg );
			DispatchMessage( &msg );
		}
	}
	


	return 0;
}


同書を持っている方にも質問です

AmazonのレビューではVC++2008ではPlatform SDKの設定1は不要と書いてありましたが、2010verでもそうなのでしょうか?
Platform SDKの設定2をしようとしましたが、「オプションからの設定は推奨されていません」と書かれていて出来ません、どうすればよいでしょうか?


ご回答よろしくお願いします

アバター
Ciel
記事: 252
登録日時: 8年前

Re: ウィンドウ表示プログラムについて

#2

投稿記事 by Ciel » 8年前

まず最初にウィンドウを作る必要があります。
それに、ウィンドウプロシージャの処理がまったく書かれていません。
Windowsアプリケーションを作る上での基本がまったく出来ていないと思うので、
ここhttp://wisdom.sakura.ne.jp/system/winap ... index.htmlとかで、ウィンドウの作成から勉強して下さい。

最低でも↓ぐらいのコードは必要です。(ほかにも色々方法はありますが)
本のことは読んだことないので分かりません。

コード:

#include <windows.h>

LRESULT CALLBACK WinProc(HWND hwnd,UINT msg,WPARAM wp,LPARAM lp)
{
	switch(msg){

		case WM_DESTROY:
			PostQuitMessage(0);
			return 0;
	}

	return DefWindowProc(hwnd,msg,wp,lp);
}


int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd)
{
	MSG msg;
	WNDCLASS winc;

	memset(&winc,0,sizeof(winc));

	winc.style=CS_HREDRAW | CS_VREDRAW;
	winc.cbCls Extra=winc.cbWndExtra=NULL;//←禁止文字に引っかかるのでスペースいれてます
	winc.hInstance=hInstance;
	winc.lpfnWndProc=WinProc;
	winc.lpszClassName="test";
	winc.lpszMenuName=NULL;
	winc.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);

	if(!RegisterClass(&winc)){
		return -1;
	}

	CreateWindowA("test","テストだよ",WS_VISIBLE | WS_MINIMIZEBOX | WS_CAPTION | WS_SYSMENU,0,0,300,300,
		NULL,NULL,hInstance,NULL);

	while(1){
		if(GetMessage(&msg,NULL,0,0)!=-1){
			if(msg.message==WM_QUIT){
				break;
			}
			DispatchMessage(&msg);
		}else{
			break;
		}
	}

	UnregisterClass("test",hInstance);

	return 0;
}
oui C'est la Vie♪

ISLe
記事: 2645
登録日時: 8年前
連絡を取る:

Re: ウィンドウ表示プログラムについて

#3

投稿記事 by ISLe » 8年前

"botton" を "button" にすれば表示されるはずですが、サンプルだとしても酷いプログラムですね。

閉鎖

“C言語何でも質問掲示板” へ戻る