회사에서 이번에 새로운 게임 엔진을 개발했습니다.
혼자 만든다고 고생을 했는데... 사람들이 과연 쓰기 좋은 구조인지
확신을 못하네요...
VCL과 완전히 똑같습니다.
아래 코드를 보시면 아시겠지만... 정말 똑같죠 ^^
MFC라는 말만 들어도 불쾌한 기분이 들 정도라서 -_-;;
철저하게 VCL의 구조를 따랐습니다.
class CMainForm : public CForm {
private:
CImage *m_pImage;
public:
CMainForm(CComponent *pOwner) : CForm(pOwner)
{
CObject::SetClassName(_T("CMainForm"));
CObject::SetObjectName(_T("CMainForm"));
CControl::SetCaption(_T("CMainForm"));
OnCreate = (CControl::TNotifyEvent)OnFormCreate;
OnDestroy = (CControl::TNotifyEvent)OnFormDestroy;
}
virtual ~CMainForm(void)
{
}
void OnFormCreate(CObject *pSender)
{
#if defined(_WIN32_WCE)
CImageManager::SetPathPrefix(_T("\\Projects\\"));
#else
CImageManager::SetPathPrefix(_T(".\\"));
#endif
m_pImage = new CImage(this);
m_pImage->SetLeft(0);
m_pImage->SetTop(0);
m_pImage->Create(_T("Images\\cnlstbg.bmp"));
m_pImage->SetGraphicControlOwner(NULL);
}
void OnFormDestroy(CObject *pSender)
{
delete m_pImage;
}
};
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
{
CMainForm *pForm = NULL;
CApplication<CMainForm> App(hInstance);
App.Initialize();
App.CreateForm(pForm);
return App.Run();
}
문제는.
과연 이벤트 콜백 형식(OnCreate, OnDestroy, ...)이 MFC의 메시지맵보다 좋은 점이
무엇인가? 또... 기타 모든 면에서 VCL이 MFC보다 좋다는건... 경험적으로 알고는 있지만...
다른 사람을 설득시키기는 역부족입니다. ㅠ.ㅠ
도와주세요 ㅠ.ㅠ
구조가 같으므로... VCL의 모든 장점(IDE와 연동을 위한 부부들 빼고)이 제가 만든 라이브러리의 장점이 될 수 있을거 같습니다. VCL과 MFC의 구조적인 측면에서의 장단점 비교... ㅠ.ㅠ 도와주세요 ㅠ.ㅠ
|