win32++とはなんぞや
Win32++: A Simple Alternative to MFC.
なんだろうこれ
とりあえず使ってみた
あ、環境はVS2010でUNICODEでっす。環境によってはL""をTEXT("")とかにするとかSetWindowText()にするとか
つーかヘルプに書いてあるこれ↓うごかんだろ・・・
//ページ:"CWinApp Class" return WndProcDefault(hWnd, uMsg, wParam, lParam);
ほぼサンプルからコピペ
#include "win32pp\wincore.h" class CView : public CWnd { public: CView() {} virtual ~CView() {} virtual LRESULT WndProc(UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_DESTROY: //End the program when window is destroyed ::PostQuitMessage(0); break; } //Use the default message handling for remaining messages return WndProcDefault(uMsg, wParam, lParam); } }; int APIENTRY WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { // Start Win32++ CWinApp MyApp; // Create our view window CView m_View; m_View.Create(); // Run the application return MyApp.Run(); }
ボタンつけてみる
#include "win32pp/stdcontrols.h" #include "win32pp/wincore.h" class HelloBtn : public CButton { public: virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam) { switch (HIWORD(wParam)) { case BN_CLICKED: MessageBox(L"Hello World!", L"hello", MB_OK); return TRUE; }; return FALSE; } }; class CView : public CWnd { HelloBtn testBtn1; public: CView() {} virtual ~CView() {} virtual LRESULT WndProc(UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_DESTROY: //End the program when window is destroyed ::PostQuitMessage(0); testBtn1.Destroy(); break; } //Use the default message handling for remaining messages return WndProcDefault(uMsg, wParam, lParam); } virtual void OnCreate() //いにしゃる { testBtn1.Create(this->m_hWnd); testBtn1.MoveWindow(10,10,100,100); testBtn1.SetWindowTextW(L"test"); } }; //mainは略
てきとーに書いたけど動いた!わりと便利かも!