Game client codebase including: - CharacterActionControl: Character and creature management - GlobalScript: Network, items, skills, quests, utilities - RYLClient: Main client application with GUI and event handlers - Engine: 3D rendering engine (RYLGL) - MemoryManager: Custom memory allocation - Library: Third-party dependencies (DirectX, boost, etc.) - Tools: Development utilities 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
110 lines
2.6 KiB
C++
110 lines
2.6 KiB
C++
// PatchMakerSheet.cpp : 구현 파일입니다.
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
#include "PatchMaker.h"
|
|
#include "PatchMakerSheet.h"
|
|
|
|
// PatchMakerSheet
|
|
|
|
IMPLEMENT_DYNAMIC(CPatchMakerSheet, CPropertySheet)
|
|
CPatchMakerSheet::CPatchMakerSheet(UINT nIDCaption, CWnd* pParentWnd, UINT iSelectPage)
|
|
:CPropertySheet(nIDCaption, pParentWnd, iSelectPage)
|
|
{
|
|
|
|
}
|
|
|
|
CPatchMakerSheet::CPatchMakerSheet(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage)
|
|
:CPropertySheet(pszCaption, pParentWnd, iSelectPage)
|
|
{
|
|
|
|
}
|
|
|
|
CPatchMakerSheet::~CPatchMakerSheet()
|
|
{
|
|
|
|
}
|
|
|
|
BEGIN_MESSAGE_MAP(CPatchMakerSheet, CPropertySheet)
|
|
ON_WM_CREATE()
|
|
END_MESSAGE_MAP()
|
|
|
|
|
|
// PatchMakerSheet 메시지 처리기입니다.
|
|
|
|
BOOL CPatchMakerSheet::OnInitDialog()
|
|
{
|
|
BOOL bResult = CPropertySheet::OnInitDialog();
|
|
|
|
// TODO: 여기에 특수화된 코드를 추가합니다.
|
|
|
|
// 버튼을 제거합니다.
|
|
int ids[] = { IDOK, IDCANCEL, IDHELP, ID_APPLY_NOW };
|
|
CRect rcButton;
|
|
|
|
for (int i = 0; i < sizeof(ids)/sizeof(int); i++)
|
|
{
|
|
CWnd* lpWnd = GetDlgItem(ids[i]);
|
|
if (lpWnd)
|
|
{
|
|
lpWnd->GetWindowRect(&rcButton);
|
|
lpWnd->ShowWindow(FALSE);
|
|
}
|
|
}
|
|
|
|
int nEditWidthMargin = 20;
|
|
int nEditHeightMargin = 20;
|
|
int nEditHeight = 80;
|
|
|
|
CRect rect;
|
|
GetWindowRect(&rect);
|
|
rect.bottom += nEditHeight - rcButton.Height() + nEditHeightMargin / 2;
|
|
MoveWindow(rect);
|
|
|
|
GetClientRect (&rect);
|
|
|
|
// 에딧 컨트롤을 바닥에 붙인다.
|
|
int nX = rect.left + nEditWidthMargin / 2;
|
|
int nY = rect.bottom - nEditHeight - nEditHeightMargin / 2;
|
|
int nEditWidth = rect.Width() - nEditWidthMargin;
|
|
|
|
m_edLogMsg.CreateEx (WS_EX_CLIENTEDGE, _T("EDIT"), NULL,
|
|
WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | ES_MULTILINE | ES_AUTOVSCROLL,
|
|
nX, nY, nEditWidth, nEditHeight, m_hWnd, 0, 0 );
|
|
|
|
m_edLogMsg.SetFont(GetFont());
|
|
|
|
const int nMaxPageCount = GetPageCount();
|
|
for(int nIndex = 0; nIndex < nMaxPageCount; ++nIndex)
|
|
{
|
|
// 한번씩 Active를 해서, Page의 OnInitDialog를 호출하도록 한다.
|
|
SetActivePage(nIndex);
|
|
}
|
|
|
|
SetActivePage(0);
|
|
return bResult;
|
|
}
|
|
|
|
|
|
int CPatchMakerSheet::OnCreate(LPCREATESTRUCT lpCreateStruct)
|
|
{
|
|
if (CPropertySheet::OnCreate(lpCreateStruct) == -1)
|
|
return -1;
|
|
|
|
// TODO: 여기에 특수화된 작성 코드를 추가합니다.
|
|
ModifyStyle(0, WS_MINIMIZEBOX);
|
|
return 0;
|
|
}
|
|
|
|
BOOL CPatchMakerSheet::OnCommand(WPARAM wParam, LPARAM lParam)
|
|
{
|
|
// TODO: 여기에 특수화된 코드를 추가 및/또는 기본 클래스를 호출합니다.
|
|
if (LOWORD(wParam) == IDOK)
|
|
{
|
|
// 엔터 눌러도 안먹게 함.
|
|
return TRUE;
|
|
}
|
|
|
|
return CPropertySheet::OnCommand(wParam, lParam);
|
|
}
|