おいふぉりーのぶろぐ

きっと趣味のブログに違いないです!!

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

やっぱり、WinAPIは慣れないなぁ

ただ、ビットマップファイルを表示するプログラムにやたら手間取ってしまいました。
ひとつは、コールバック関数をクラスのメンバとするには?のSetPropの実行タイミングの関係で。。。いろいろ、ポカをやっていたので、無駄に悩んで時間を食っちゃいました。
最後にちょこっと悩んだのが、ビットマップのはじが少し切れてて、おかしいなと思ったら、ビットマップのデータ部って”非圧縮の場合、1行分のデータが、DWORDの整数倍になるように、必要に応じて0を付加します。”ってなってて、そういや、そんなのあったっけ?

とりあえず、メイン関数はこんな感じ?↓。ウィンドウの方の処理は、別スレッドで処理してます。
int main(int argc, char* argv[])
{
// デスクトップのインスタンスハンドルを代用
HINSTANCE hInstance = (HINSTANCE)GetWindowLong(HWND_DESKTOP, GWL_HINSTANCE);

// ファイルからビットマップをロード
ifstream aFile("apricot.bmp", ios::in | ios::binary);
CBitmapImage *pImage = CBitmapImage::CreateFromStream(aFile);

// 表示用ウィンドウを作成
CDisplayWindow *pWindow = new CDisplayWindow(hInstance, pImage);
pWindow->Initialize();
//pWindow->Update();

// コマンド入力待ち
bool fEnd = false;
while (!fEnd) {
cout << "> " << flush;
string aCommand; cin >> aCommand;

if (aCommand == "exit") {
fEnd = true;
}
else {
cout << "unknown command!" << endl;
}
}

pWindow->Terminate();

delete pWindow;
delete pImage;

return 0;
}
  1. 2006/04/07(金) 05:38:31|
  2. ソフトウェア開発
  3. | トラックバック:0
  4. | コメント:1
<<オープンスパークのソース | ホーム | WinAPIについてお勉強?>>

コメント

これって

4byteに 合わせるって
昔、俺のブログに書かなかったっけ?

まぁ結構忘れるけどね。
  1. 2006/04/07(金) 09:00:35 |
  2. URL |
  3. gainstrikes #-
  4. [ 編集]

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://tm86eublog.blog42.fc2.com/tb.php/75-c8469b60
この記事にトラックバックする(FC2ブログユーザー)

来客数

プロフィール

Euphorie

Author:Euphorie
"おいふぉりー"って呼んでくださいな☆
ハードウェアとかソフトウェアとかの開発に興味があったり。。。
連絡先は上の画像。

最近の記事

最近のコメント

最近のトラックバック

月別アーカイブ

カテゴリー

ブロとも申請フォーム

この人とブロともになる

ブログ内検索

RSSフィード

リンク

このブログをリンクに追加する

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。