62 lines
1.3 KiB
C
Raw Normal View History

2015-05-29 01:47:26 +09:00
#pragma once
#include <windows.h>
#include <vector>
#include <unordered_map>
#include "CWindowBase.h"
#include "GUICommon.h"
// <20><><EFBFBD><EFBFBD>
// <20>C<EFBFBD>x<EFBFBD><78><EFBFBD>g<EFBFBD>n<EFBFBD><6E><EFBFBD>h<EFBFBD><68><EFBFBD><EFBFBD>SetWindowLong<6E><67>GWL_USERDATA<54><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EA8D87><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD>
class CWindow: public CWindowBase
{
private:
struct stEvent
{
EventFunc pfunc;
LPVOID lpData;
stEvent() : pfunc(nullptr), lpData(nullptr)
{
}
stEvent(const EventFunc &func, const LPVOID Data) : pfunc(func), lpData(Data)
{
}
stEvent(const stEvent &st)
{
pfunc = st.pfunc;
lpData = st.lpData;
}
};
std::unordered_map<UINT, stEvent> mEvent;
// <20>R<EFBFBD>s<EFBFBD>[<5B>A<EFBFBD><41><EFBFBD><EFBFBD><EFBFBD>̋֎~
CWindow(const CWindow&);
CWindow& operator =(const CWindow&);
// <20>_<EFBFBD>C<EFBFBD>A<EFBFBD><41><EFBFBD>O<EFBFBD>v<EFBFBD><76><EFBFBD>V<EFBFBD>[<5B>W<EFBFBD><57><EFBFBD>i<EFBFBD><69><EFBFBD><EFBFBD><EFBFBD>j
LRESULT WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
public:
// <20><><EFBFBD>‚̃<C282><CC83>b<EFBFBD>Z<EFBFBD>[<5B>W<EFBFBD>ɂ‚<C982><C282><EFBFBD><EFBFBD>‚̊֐<CC8A><D690><EFBFBD><EFBFBD><EFBFBD><EFBFBD>o<EFBFBD>^<5E>ł<EFBFBD><C582>Ȃ<EFBFBD>.
// <20><><EFBFBD>łɂ<C582><C982><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͏<CD8F><E38F91><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
// lpData<74>͓o<CD93>^<5E><><EFBFBD><EFBFBD><EFBFBD>֐<EFBFBD><D690>ɗ^<5E><><EFBFBD><EFBFBD><EFBFBD>D<EFBFBD><44><EFBFBD>Ȉ<EFBFBD><C888><EFBFBD>.
// <20>o<EFBFBD>^<5E>ł<EFBFBD><C582><EFBFBD><EFBFBD>֐<EFBFBD><D690>́A
// BOOL Create(HWND hWnd, WPARAM wParam, LPARAM lParam, LPVOID lpData);
// <20>̂悤<CC82>Ȋ֐<C88A>.
// <20>߂<EFBFBD><DF82>l<EFBFBD><6C>TRUE<55>ł<EFBFBD>FALSE<53>ł<EFBFBD><C582>悢.
void SetEventCallBack(EventFunc pfunc, LPVOID lpData, UINT uMsg);
// <20>E<EFBFBD>B<EFBFBD><42><EFBFBD>h<EFBFBD>E<EFBFBD>T<EFBFBD>C<EFBFBD>Y<EFBFBD>ύX
void SetWindowSize(int nWidth, int nHeight, BOOL Adjust);
// <20>E<EFBFBD>B<EFBFBD><42><EFBFBD>h<EFBFBD>E<EFBFBD><45><EFBFBD><EFBFBD><EFBFBD>ʒ<EFBFBD><CA92>S<EFBFBD>ֈړ<D688>
void MoveWindowCenter();
// <20>R<EFBFBD><52><EFBFBD>X<EFBFBD>g<EFBFBD><67><EFBFBD>N<EFBFBD>^(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD>)
CWindow();
};