Initial commit: ROW Client source code
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>
This commit is contained in:
114
Tools/LauncherMY/HtmlCtrl.cpp
Normal file
114
Tools/LauncherMY/HtmlCtrl.cpp
Normal file
@@ -0,0 +1,114 @@
|
||||
////////////////////////////////////////////////////////////////
|
||||
// Microsoft Systems Journal -- December 1999
|
||||
// If this code works, it was written by Paul DiLascia.
|
||||
// If not, I don't know who wrote it.
|
||||
// Compiles with Visual C++ 6.0, runs on Windows 98 and probably NT too.
|
||||
//
|
||||
#include "StdAfx.h"
|
||||
#include "HtmlCtrl.h"
|
||||
#include "RYLLOGIN_DEFINITIONS.H"
|
||||
|
||||
#ifdef _DEBUG
|
||||
#define new DEBUG_NEW
|
||||
#undef THIS_FILE
|
||||
static char THIS_FILE[] = __FILE__;
|
||||
#endif
|
||||
|
||||
IMPLEMENT_DYNAMIC(CHtmlCtrl, CHtmlView)
|
||||
BEGIN_MESSAGE_MAP(CHtmlCtrl, CHtmlView)
|
||||
ON_WM_DESTROY()
|
||||
ON_WM_MOUSEACTIVATE()
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
//////////////////
|
||||
// Create control in same position as an existing static control with
|
||||
// the same ID (could be any kind of control, really)
|
||||
//
|
||||
BOOL CHtmlCtrl::CreateFromStatic(UINT nID, CWnd* pParent)
|
||||
{
|
||||
CStatic wndStatic;
|
||||
if (!wndStatic.SubclassDlgItem(nID, pParent))
|
||||
return FALSE;
|
||||
|
||||
// Get static control rect, convert to parent's client coords.
|
||||
CRect rc;
|
||||
wndStatic.GetWindowRect(&rc);
|
||||
pParent->ScreenToClient(&rc);
|
||||
wndStatic.DestroyWindow();
|
||||
|
||||
// create HTML control (CHtmlView)
|
||||
return Create(NULL, // class name
|
||||
NULL, // title
|
||||
(WS_CHILD | WS_VISIBLE ), // style
|
||||
rc, // rectangle
|
||||
pParent, // parent
|
||||
nID, // control ID
|
||||
NULL); // frame/doc context not used
|
||||
}
|
||||
|
||||
////////////////
|
||||
// Override to avoid CView stuff that assumes a frame.
|
||||
//
|
||||
void CHtmlCtrl::OnDestroy()
|
||||
{
|
||||
// This is probably unecessary since ~CHtmlView does it, but
|
||||
// safer to mimic CHtmlView::OnDestroy.
|
||||
/*
|
||||
if (m_pBrowserApp) {
|
||||
m_pBrowserApp->Release();
|
||||
m_pBrowserApp = NULL;
|
||||
}
|
||||
*/
|
||||
CWnd::OnDestroy(); // bypass CView doc/frame stuff
|
||||
}
|
||||
|
||||
////////////////
|
||||
// Override to avoid CView stuff that assumes a frame.
|
||||
//
|
||||
int CHtmlCtrl::OnMouseActivate(CWnd* pDesktopWnd, UINT nHitTest, UINT msg)
|
||||
{
|
||||
// bypass CView doc/frame stuff
|
||||
return CWnd::OnMouseActivate(pDesktopWnd, nHitTest, msg);
|
||||
}
|
||||
|
||||
//////////////////
|
||||
// Override navigation handler to pass to "app:" links to virtual handler.
|
||||
// Cancels the navigation in the browser, since app: is a pseudo-protocol.
|
||||
//
|
||||
void CHtmlCtrl::OnBeforeNavigate2( LPCTSTR lpszURL,
|
||||
DWORD nFlags,
|
||||
LPCTSTR lpszTargetFrameName,
|
||||
CByteArray& baPostedData,
|
||||
LPCTSTR lpszHeaders,
|
||||
BOOL* pbCancel )
|
||||
{
|
||||
const char APP_PROTOCOL[] = "app:";
|
||||
int len = _tcslen(APP_PROTOCOL);
|
||||
if (_tcsnicmp(lpszURL, APP_PROTOCOL, len)==0) {
|
||||
OnAppCmd(lpszURL + len);
|
||||
*pbCancel = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
//////////////////
|
||||
// Called when the browser attempts to navigate to "app:foo"
|
||||
// with "foo" as lpszWhere. Override to handle app commands.
|
||||
//
|
||||
void CHtmlCtrl::OnAppCmd(LPCTSTR lpszWhere)
|
||||
{
|
||||
// default: do nothing
|
||||
}
|
||||
|
||||
|
||||
void CHtmlCtrl::OnNavigateError(LPCTSTR lpszURL, LPCTSTR lpszFrame, DWORD dwError, BOOL *pbCancel)
|
||||
{
|
||||
#ifdef _NATION_KR_
|
||||
|
||||
if(!m_bRef)
|
||||
{
|
||||
Navigate(STR_FAIL_NOTICE_URL);
|
||||
m_bRef = true;
|
||||
}
|
||||
|
||||
#endif
|
||||
}
|
||||
Reference in New Issue
Block a user