window


やっとwindow完成.


無駄にtemplateですがあまり気にしない方向でwww


#include <afclib/gui/windows/window.h>
#include <afclib/gui/directx/initializer.h>
#include <afclib/gui/window.hpp>

#pragma comment(lib, "d3d9.lib")
#pragma comment(lib, "d3dx9.lib")
#pragma comment(lib, "afclib_d.lib")


LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);

int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int){

  try{

    afclib::gui::window<
      afclib::gui::windows::window,
      afclib::gui::directx::initializer
    > wnd;

    wnd.proc(WndProc); // ウィンドウプロシージャ設定
    wnd.classname("AFClib_sample_class1-0"); // クラス名設定
    wnd.title("Sample Window"); // ウィンドウタイトル

    wnd.create();

    wnd.show(true); // 表示

  }
  catch(afclib::afc_error& e){
    assert(e.msg()); // assertじゃダメだけど
  }

  MSG msg;

  for(;;){
    if(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)){
      if(msg.message == WM_QUIT)
        break;
      TranslateMessage(&msg);
      DispatchMessage(&msg);
    }

    Sleep(4);
  }

  return 0;

}


LRESULT CALLBACK WndProc(HWND wnd, UINT msg, WPARAM wParam, LPARAM lParam){

  switch(msg){

    case WM_DESTROY:
      PostQuitMessage(0);
      break;

  }

  return DefWindowProc(wnd, msg, wParam, lParam);

}


最初の#includeとかtry-catch以外の部分はお決まりなんでどうしようもないですが.


無理にお決まりの部分を隠そうかとも考えたけど,そうするとユーザが独自拡張しにくくなるしねぇ.

「ユーザ≒俺」だけどwww


まぁちゃんと動く(多分)し,保障もできるだけ付けた(つもり)だからいいでしょう.

「とりあえず最初だからこれでいいや」と割切らないと,いつまでたっても次へ行けなくなるw