実験室 » 備忘録 » この記事

WindowsSDK 備忘録 その二

VSE2012がどんな感じかは前回ので分かったので、二回目以降は「空のプロジェクト」でプロジェクトを作り、一回目で自動的に作られた基本コードと以下の教本から必要なコードをコピー&ペーストしながらクラスを中心にしたWindowsプログラムの流れを備忘録では追ってみようかと思います。

教本としては、「デスクトップマスコットを作ろう!!」という本が自分が読んだ本の中では、比較的シンプルにC++とWindowsSDKを使ってアドベンチャー系ゲームの雛形を解説しているので、これを利用することにしました。

Amazon でのレビュー記事で述べられているように入門書としていい本かといわれると「?」な感じの本ですが、それでも一通りの流れは一冊の本の中で説明されているのと、directxやMFCを使ってないところやプロジェクトを構成するファイル数もなんとかなりそうな数で済んでいるので、とっつきやすい方の本ではないかと思います。

今回のコードですが、教本の方でメインとなるファイルの mascot.cpp を最低限の構成に組み替えてみました。
内容的には前回の内容「Hello World!!」をmascot.cpp に適用してみただけのものです。

注釈としては、40行目からのところで、教本では領域外に出して非表示状態にしてある親窓を見える位置に置きなおしたのと、初期設定データの取り込みに始まる準備処理をごっそり削り落としました。

MainWindow=CreateWindowEx(0, MainWndClassName, MainWndClassName, WS_OVERLAPPEDWINDOW, 0, 0, 800, 600, NULL, NULL, Instance, NULL);
ShowWindow(MainWindow, SW_SHOW);

「猫でもわかるプログラミング」の 「イントロダクション」のコードの形に近くなりました。

あと引っ掛かった点は、制作メモ.txtにも書いてますが、

[引っ掛かったところ]
WNDCLASS の登録のところで、構造体のメンバlpszClassNameがデフォルトだと
(LPCWSTR)型を求めてくるのだが、キャストで対処するとタイトルバーの文字が化ける。

(引用)
プロジェクトのプロパティで「構成」が「Unicode文字セットを使用する」とか書いてあると思うんだけど
「マルチバイト文字セットを使用する」とする。
http://yuxx.net/1081/computer/programming/win32-sdk

にあるように、コード系を変えてあげると文字化けは回避できる

ソースコード[v02.lzh]

黄色いツリー飾りの結果

元旦イベントの景品、黄色いツリー飾り五個分あけてみました。
左から、眼帯・るびー・燃えるしっぽG・ぴよぐら・水晶という結果でした。
しっぽのGが一番いいのかな。

WindowsSDK 備忘録 その一

まんがタイムきららMAXで連載中の「ステラのまほう」を読んでて、そういえば最近趣味で書いたりするWindowsSDKのスクリプトも全然作っていないなーと思ったので備忘録をつけてみることにしました。

最初は”Hello World!!”を画面に出すいつものあれが、VisualStudioExpress2012 (マイクロソフトのサイトで無料で配ってる)で出来るかの確認をします。Windows7のマシンにインストールして起動し、Win32プロジェクトを新規作成、そのまま完了。すでにコードが準備されているのでちょっと追加と書き換えをして期待通りに動くか確認してみました。

Win32Project1.cppのコールバック関数に、

	PAINTSTRUCT ps;
	HDC hdc;
	char *szStr = "最初の一歩";

あと、


	case WM_PAINT:
		hdc = BeginPaint(hWnd, &ps);
		// TODO: 描画コードをここに追加してください...
		TextOutA(hdc, 10, 10, (LPCSTR)szStr, strlen(szStr));
		EndPaint(hWnd, &ps);
		break;

それと、少し戻って


hWnd = CreateWindowEx(WS_EX_OVERLAPPEDWINDOW, szWindowClass, szWindowClass, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 800, 600, NULL, NULL, hInstance, NULL);

拡張型で窓を作るようにしてみました。で、出来たらビルド。動きましたね。

ソースコード[v01.lzh]

投稿テスト

あーやっとプラグイン稼働しましたよ。最近Wordpressいじってなかったんで、うろたえちゃって、危うく再インストールするところまで今回は追い詰められましたヽ(;´Д`)ノ

とにかくあせって、テンパってWordPressのアップデートをかけたらより一層状況が悪化しました。(FC2でのWordPressの自動アップデートは、三回連続で失敗するという踏んだり蹴ったりのざまになりました)どうも中途半端にファイルが更新されたみたいで、Fatalエラーなんていままで出てきたことの無いエラーがぞろぞろでてくるようになりました。結局、WP3.4を手作業でFTPクライアント経由で入れ替えて何とか持ち直しましたが、もうげっそりです。


cout << "Hello World!!" << ;

って書きだしたかっただけなんですがね~。どうしてこんなになったのか(;´Д`)

ちょっと新しく追加のプラグインのテスト

テストコードを書いてみる。


テストテスト

動かないぃorz

新年のイベント

なぞなぞイベントは、餡子ちゃんとのチームワークで好成績を収める事が出来、三位でインしました。
GMのプレゼント箱はいくつか開けてみたけど、石×2、イチゴ×1、ブドウ×2、ぶるぞあ×1、何も入ってなかった×3、PD×2、ルビー×1というような結果でした。ちょっとしょぼくないかい?

今年を振り返って

12月のイラストは無いでーす(*´д`*)

24日にギックリ腰やってうんうんやってたらそれだけで済まなくて、
その夜、突然昏倒して救急搬送とか最後の月はもうボロボロになりました。
年が明けたら精密検査ですァ ‘`,、’`,、(‘∀`) ‘`,、’`,、

体が回復したら、温泉に行こう。
温泉というとこの一年で、千葉の温泉…と言っても養老温泉ですが、
は、随分寂れたとのこと。

新川がつぶれた(渓流がみられる露天風呂がお気に入りだったのだが)
その向かいの十万石もつぶれた。
養老館もつぶれたとか(黒湯のこじんまりした浴室が気に入ってたのだが)
最後に岩風呂もつぶれたとか。

養老温泉は滝見苑ぐらいしかもうめぼしいのないじゃん。
しかもあれ黒湯じゃないし( ´Д`)=3

つぶれたとえば、養老以外にもお気に入りがあったのですが、
こっちは物理的につぶれてしまってます。
飯岡の飯岡荘。ここの黒湯は熱いのが特徴でなかなかお気に入りでしたが、
温泉としては再建しないみたいですね。とても残念。

去年(2011年)の7月に撮ってきた飯岡荘の写真。規制線が張られて近づけない。

そういえば、この辺の海に沿ってある護岸壁は、
イラストを描く際にも参考にしてたいいところなんですが、
津波対策の為今後は随分と高いものにするとか。
仕方ないとはいえ、これも残念といえば残念ですね。


大きな地図で見る

でも代わりに新しいものがでてきてくれれば、それもまたいいですね。

千葉の温泉ってどこか垢ぬけないくたびれたのが多いので、
ここは一発心機一転で洗練された温泉施設とか作って欲しいな(*´∀`*) 

それでは、みなさんよいお年をノ

精錬アップイベント経過

今年も鬱イベント到来!なけなしのルビーを消耗するイベントです。
取りあえず、途中経過報告。

ホクマ杖DG+3->4->4->5->5->6->3 ( ´Д`)=3
ハービーの羽XG+6->7 ヽ(´ー`)ノ
匠の脚DG+6->3 orz
創作の金鎚G+6->3 orz
メタロイドハンマーN+6->3 orz

その他めるめると補助の精錬で、消耗ダイヤ6、ルビー33

ホクマの杖XG化なんてこの分じゃ (ヾノ・∀・`)ナイナイ

この世の果てで恋を唄う少女YU-NO のメモ

表題作を、んー十年ぶりにやっていたりしますが、香織さんルートで行き詰まってしまうところのメモ。 25)海岸~ホール。。。海岸で工事関係者と話してから学校へ行くとホールに学生がいなくなる の個所は、作業員Aを何度かクリックして全部のセリフを引き出さないとフラグが立たないので(作業員Bと同じように主任はひどい人だ云々とかいいださないとダメ)それを見落としがち。このセリフを全部吐き出せると、フラグがたってホールから学生が退散します。いけるところ全部いくと作業員Aから全部のセリフを引き出せるようになるのかは不明。

ホクマの杖のDG化

あんまり攻撃を重視してなかったのですが、ホクマの杖はXGにしてみようかなと思いまして、DG化を図ってみました。費用は22Mで、光明胴N+6、スピルエルブレイクN+6、名匠頭N+6、名匠靴N+6、ゴージャス脚N+5で100%になりました。倉庫にいれてある拾ったものを精錬しておいたやつとかお古とか使うので倉庫整理も兼ねてます。ゴージャスの脚は変則的な補助値になるので、マイナスオプションのついたのが安く売っていたのを倉庫に放り込んでおいたのを今回つかいました。ここまでは、いいんだけど~この次は大変そうヽ(´Д`;)ノ