Initial MSVC 2008 projects workspace
This commit is contained in:
381
l2ooghelper/MainWindow.cpp
Normal file
381
l2ooghelper/MainWindow.cpp
Normal file
@@ -0,0 +1,381 @@
|
||||
#include "stdafx.h"
|
||||
#include "Resource.h"
|
||||
#include "AccountDlg.h"
|
||||
#include "Tabs.h"
|
||||
#include "MainWindow.h"
|
||||
#include "ScriptEngine.h"
|
||||
#include "GlobalMapImages.h"
|
||||
#include "DBLayer.h"
|
||||
#include "SEH_global.h"
|
||||
#include "HWID.h"
|
||||
#include "bot_interaction/BotIPC.h"
|
||||
|
||||
#ifdef _DEBUG
|
||||
#include "Logger.h"
|
||||
#endif
|
||||
|
||||
#define MAX_LOADSTRING 256
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||
HINSTANCE g_hInst; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
HWND g_hWnd; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
HWND g_hWndTab; // TabControl <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
TCHAR szTitle[MAX_LOADSTRING]; // <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
TCHAR szWindowClass[MAX_LOADSTRING]; // <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
GlobalMapImages g_mapImg; // <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>:
|
||||
ATOM MyRegisterClass( HINSTANCE hInstance );
|
||||
BOOL InitInstance( HINSTANCE, int );
|
||||
LRESULT CALLBACK WndProc( HWND, UINT, WPARAM, LPARAM );
|
||||
INT_PTR CALLBACK About( HWND, UINT, WPARAM, LPARAM );
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
LRESULT OnCreate();
|
||||
LRESULT OnClose();
|
||||
LRESULT OnDestroy();
|
||||
LRESULT OnCommand( WPARAM wParam, LPARAM lParam );
|
||||
LRESULT OnNotify( WPARAM wParam, LPARAM lParam );
|
||||
LRESULT OnPaint();
|
||||
LRESULT OnSize( WPARAM wParam, LPARAM lParam );
|
||||
|
||||
int APIENTRY _tWinMain( HINSTANCE hInstance,
|
||||
HINSTANCE hPrevInstance,
|
||||
LPTSTR lpCmdLine,
|
||||
int nCmdShow )
|
||||
{
|
||||
UNREFERENCED_PARAMETER( hPrevInstance );
|
||||
UNREFERENCED_PARAMETER( lpCmdLine );
|
||||
MSG msg;
|
||||
HACCEL hAccelTable;
|
||||
//
|
||||
#ifdef _DEBUG
|
||||
FILE *error_logger_file = fopen( "L2OOGHelper.log", "wt" );
|
||||
ErrorLogger_Init();
|
||||
ErrorLogger_SetWarnMessageLevel( LOG_DEBUG );
|
||||
ErrorLogger_SetAutoPrependErrorType( true );
|
||||
ErrorLogger_Enable( true );
|
||||
ErrorLogger_SetLogFile( error_logger_file );
|
||||
log_error( LOG_OK, "L2OOGHelper: Debug build start\n" );
|
||||
#endif // _DEBUG
|
||||
|
||||
// init Comctl32.dll
|
||||
InitCommonControls();
|
||||
|
||||
#ifdef USE_SEH
|
||||
// set default error mode and global exception handler
|
||||
SetErrorMode(0); // Use the system default, which is to display all error dialog boxes.
|
||||
SetUnhandledExceptionFilter( GlobalUnhandledExceptionFilter );
|
||||
#ifdef _DEBUG
|
||||
SEH_loadMap();
|
||||
#endif
|
||||
#endif // USE_SEH
|
||||
|
||||
#ifdef CHAT_USE_RICHEDIT // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Riched20.dll (<28><><EFBFBD> RichEdit <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
HINSTANCE hInstDllRichEdit = LoadLibrary( TEXT("Riched20") );
|
||||
if( !hInstDllRichEdit )
|
||||
{
|
||||
#ifdef _DEBUG
|
||||
log_error( LOG_ERROR, "_tWinMain: cannot load Riched20.dll!" );
|
||||
#endif
|
||||
MessageBox( NULL, TEXT("RichEdit control class DLL cannot be loaded\n")
|
||||
TEXT("(Riched20.dll not found)"),
|
||||
TEXT("L2OogHelper: FATAL ERROR"), MB_ICONSTOP );
|
||||
return -1;
|
||||
}
|
||||
#ifdef _DEBUG
|
||||
log_error( LOG_DEBUG, "_tWinMain: Riched20.dll loaded OK\n" );
|
||||
#endif
|
||||
#endif // CHAT_USE_RICHEDIT
|
||||
|
||||
// verify HWID
|
||||
if( !verifyHWID() ) return 0;
|
||||
if( !verifyTimeLimit() ) return 0;
|
||||
|
||||
// init WinSock
|
||||
WSADATA wsadata;
|
||||
WSAStartup( MAKEWORD(2,0), &wsadata );
|
||||
|
||||
// init L2Packets
|
||||
L2PNet_InitDefault();
|
||||
L2PacketNames_Init();
|
||||
L2Data_init();
|
||||
L2Data_SM_init();
|
||||
// init caching database layer (based on L2Packets L2Data_*)
|
||||
DBLayer_init();
|
||||
|
||||
// init global map images maps directory
|
||||
char aCurDir[256] = {0};
|
||||
GetCurrentDirectoryA( 255, aCurDir );
|
||||
strcat( aCurDir, "\\maps" );
|
||||
g_mapImg.setMapsDir( aCurDir );
|
||||
// init recipe data
|
||||
L2Data_InitRecipes();
|
||||
|
||||
// init Bot interprocess communications
|
||||
BotIPC::getInstance();
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
LoadString( hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING );
|
||||
LoadString( hInstance, IDC_L2OOGHELPER, szWindowClass, MAX_LOADSTRING );
|
||||
MyRegisterClass( hInstance );
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||
if( !InitInstance( hInstance, nCmdShow ) )
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
hAccelTable = LoadAccelerators( hInstance, MAKEINTRESOURCE(IDC_L2OOGHELPER) );
|
||||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||
while( GetMessage( &msg, NULL, 0, 0) )
|
||||
{
|
||||
if( !TranslateAccelerator( msg.hwnd, hAccelTable, &msg ) )
|
||||
{
|
||||
//if( !IsDialogMessage( msg.hwnd, &msg ) ) // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//{
|
||||
TranslateMessage( &msg );
|
||||
DispatchMessage( &msg );
|
||||
//}
|
||||
}
|
||||
}
|
||||
|
||||
BotIPC::getInstance()->delAllMyProcessBots(); // safe cleanup
|
||||
BotIPC::freeInstance();
|
||||
|
||||
L2Data_SM_free();
|
||||
DBLayer_free();
|
||||
|
||||
WSACleanup();
|
||||
|
||||
g_mapImg.unloadAllSquares();
|
||||
if( g_mapImg.getLoadedCount() > 0 )
|
||||
{
|
||||
MessageBox( NULL, TEXT("GlobalMapImages: not all images are unloaded!"),
|
||||
TEXT("Warning! Potential memory leaks!"), MB_ICONWARNING );
|
||||
}
|
||||
|
||||
#ifdef _DEBUG
|
||||
log_error( LOG_OK, "Closing log; last message... Bye!\n" );
|
||||
ErrorLogger_SetLogFile( stdout );
|
||||
ErrorLogger_Enable( false );
|
||||
if( error_logger_file ) fclose( error_logger_file );
|
||||
error_logger_file = NULL;
|
||||
#endif
|
||||
|
||||
return (int)msg.wParam;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: MyRegisterClass()
|
||||
//
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
||||
//
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||
//
|
||||
// <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
|
||||
// <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Win32, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> RegisterClassEx'
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> Windows 95. <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>,
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
// <20> <20><><EFBFBD><EFBFBD>.
|
||||
//
|
||||
ATOM MyRegisterClass( HINSTANCE hInstance )
|
||||
{
|
||||
WNDCLASSEX wcex;
|
||||
wcex.cbSize = sizeof(WNDCLASSEX);
|
||||
wcex.style = CS_OWNDC; // | CS_DBLCLKS | CS_HREDRAW | CS_VREDRAW;
|
||||
wcex.lpfnWndProc = WndProc;
|
||||
wcex.cbClsExtra = 0;
|
||||
wcex.cbWndExtra = 0;
|
||||
wcex.hInstance = hInstance;
|
||||
wcex.hIcon = LoadIcon( hInstance, MAKEINTRESOURCE(IDI_L2OOGHELPER) );
|
||||
wcex.hCursor = LoadCursor( NULL, IDC_ARROW );
|
||||
wcex.hbrBackground = (HBRUSH)( COLOR_WINDOW + 1 );
|
||||
wcex.lpszMenuName = MAKEINTRESOURCE(IDC_L2OOGHELPER);
|
||||
wcex.lpszClassName = szWindowClass;
|
||||
wcex.hIconSm = LoadIcon( wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL) );
|
||||
return RegisterClassEx( &wcex );
|
||||
}
|
||||
|
||||
//
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: InitInstance(HINSTANCE, int)
|
||||
//
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
||||
//
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||
//
|
||||
// <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
//
|
||||
BOOL InitInstance( HINSTANCE hInstance, int nCmdShow )
|
||||
{
|
||||
HWND hWnd;
|
||||
g_hInst = hInstance; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
hWnd = CreateWindow( szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
|
||||
CW_USEDEFAULT, 0, 960 /*CW_USEDEFAULT*/, 695, NULL, NULL, hInstance, NULL );
|
||||
if( !hWnd ) return FALSE;
|
||||
ShowWindow( hWnd, nCmdShow );
|
||||
UpdateWindow( hWnd );
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
LRESULT OnCreate()
|
||||
{
|
||||
RECT r;
|
||||
GetClientRect( g_hWnd, &r );
|
||||
// init common controls :)
|
||||
INITCOMMONCONTROLSEX icex;
|
||||
icex.dwSize = sizeof(INITCOMMONCONTROLSEX);
|
||||
icex.dwICC = ICC_TAB_CLASSES | ICC_LISTVIEW_CLASSES | ICC_TREEVIEW_CLASSES |
|
||||
ICC_BAR_CLASSES | ICC_STANDARD_CLASSES | ICC_PROGRESS_CLASS;
|
||||
InitCommonControlsEx( &icex );
|
||||
// create tab control
|
||||
g_hWndTab = CreateWindowEx( 0, WC_TABCONTROL, NULL,
|
||||
WS_CHILD | WS_VISIBLE | TCS_MULTILINE | TCS_TABS,
|
||||
0, 0, r.right - r.left, r.bottom - r.top, g_hWnd, NULL, g_hInst, NULL );
|
||||
//
|
||||
Tabs_Init();
|
||||
return 0;
|
||||
}
|
||||
|
||||
LRESULT OnClose()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
LRESULT OnDestroy()
|
||||
{
|
||||
PostQuitMessage( 0 );
|
||||
return 0;
|
||||
}
|
||||
|
||||
LRESULT OnCommand( WPARAM wParam, LPARAM lParam )
|
||||
{
|
||||
int wmId, wmEvent;
|
||||
wmId = LOWORD( wParam );
|
||||
wmEvent = HIWORD( wParam );
|
||||
switch( wmId )
|
||||
{
|
||||
case IDM_ABOUT:
|
||||
DialogBox( g_hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), g_hWnd, About );
|
||||
break;
|
||||
case IDM_EXIT:
|
||||
PostMessage( g_hWnd, WM_CLOSE, 0, 0 );
|
||||
break;
|
||||
case IDM_LINEAGE_ADD_ACC:
|
||||
{
|
||||
AccountDlg *dlg = new AccountDlg();
|
||||
if( dlg->run( g_hWnd ) )
|
||||
{
|
||||
Account acc = dlg->getAccount();
|
||||
Tabs_AddAccount( &acc );
|
||||
}
|
||||
delete dlg;
|
||||
} break;
|
||||
#ifdef _DEBUG
|
||||
case ID_DEBUG_ENABLECON: ErrorLogger_EnableLoggingToConsole( true ); break;
|
||||
case ID_DEBUG_DISABLECON: ErrorLogger_EnableLoggingToConsole( false ); break;
|
||||
case ID_LOGLEVEL_OK: ErrorLogger_SetWarnMessageLevel( LOG_OK ); break;
|
||||
case ID_LOGLEVEL_ERROR: ErrorLogger_SetWarnMessageLevel( LOG_ERROR ); break;
|
||||
case ID_LOGLEVEL_WARN: ErrorLogger_SetWarnMessageLevel( LOG_WARNING ); break;
|
||||
case ID_LOGLEVEL_USERAI: ErrorLogger_SetWarnMessageLevel( LOG_USERAI ); break;
|
||||
case ID_LOGLEVEL_PACKETNAME: ErrorLogger_SetWarnMessageLevel( LOG_PACKETNAME ); break;
|
||||
case ID_LOGLEVEL_DEBUG: ErrorLogger_SetWarnMessageLevel( LOG_DEBUG ); break;
|
||||
case ID_LOGLEVEL_DEBUGDUMP: ErrorLogger_SetWarnMessageLevel( LOG_DEBUGDUMP ); break;
|
||||
/*case ID_DEBUG_RUNTESTSCRIPT:
|
||||
{
|
||||
ScriptEngine se;
|
||||
se.init();
|
||||
se.startScript( "test.lua" );
|
||||
se.deinit();
|
||||
} break;*/
|
||||
#endif
|
||||
default:
|
||||
return DefWindowProc( g_hWnd, WM_COMMAND, wParam, lParam );
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
LRESULT OnNotify( WPARAM wParam, LPARAM lParam )
|
||||
{
|
||||
UNREFERENCED_PARAMETER(wParam);
|
||||
LPNMHDR lpnmhdr = (LPNMHDR)lParam;
|
||||
switch( lpnmhdr->code )
|
||||
{
|
||||
case TCN_SELCHANGING: Tabs_OnSelChanging( lpnmhdr ); break;
|
||||
case TCN_SELCHANGE: Tabs_OnSelChange( lpnmhdr ); break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
LRESULT OnPaint()
|
||||
{
|
||||
//RECT wr;
|
||||
//GetWindowRect( hWnd, &wr );
|
||||
//TCHAR tstr[256];
|
||||
//wsprintf( tstr, TEXT("%d x %d"), wr.right - wr.left, wr.bottom - wr.top );
|
||||
PAINTSTRUCT ps;
|
||||
HDC hdc;
|
||||
hdc = BeginPaint( g_hWnd, &ps );
|
||||
// TODO: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>...
|
||||
//TextOut( hdc, 0, 0, tstr, lstrlen(tstr) );
|
||||
EndPaint( g_hWnd, &ps );
|
||||
Tabs_OnPaint();
|
||||
return 0;
|
||||
}
|
||||
|
||||
LRESULT OnSize( WPARAM wParam, LPARAM lParam )
|
||||
{
|
||||
UNREFERENCED_PARAMETER(wParam);
|
||||
/*lParam:
|
||||
The low-order word of lParam specifies the new width of the client area.
|
||||
The high-order word of lParam specifies the new height of the client area.*/
|
||||
int w = LOWORD( lParam );
|
||||
int h = HIWORD( lParam );
|
||||
// resize tab
|
||||
MoveWindow( g_hWndTab, 0, 0, w, h, TRUE );
|
||||
return 0;
|
||||
}
|
||||
|
||||
LRESULT OnMyDeleteTab( LPARAM lParam )
|
||||
{
|
||||
Tabs_DeleteTab( (int)lParam );
|
||||
return 0;
|
||||
}
|
||||
|
||||
LRESULT CALLBACK WndProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam )
|
||||
{
|
||||
switch( message )
|
||||
{
|
||||
case WM_CREATE:
|
||||
{
|
||||
g_hWnd = hWnd;
|
||||
return OnCreate();
|
||||
} break;
|
||||
case WM_COMMAND: return OnCommand( wParam, lParam ); break;
|
||||
case WM_PAINT: return OnPaint(); break;
|
||||
case WM_DESTROY: return OnDestroy(); break;
|
||||
case WM_SIZE: return OnSize( wParam, lParam ); break;
|
||||
case WM_NOTIFY: return OnNotify( wParam, lParam ); break;
|
||||
case WMMY_DELETETAB: return OnMyDeleteTab( lParam ); break;
|
||||
}
|
||||
return DefWindowProc( hWnd, message, wParam, lParam );
|
||||
}
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> "<22> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>".
|
||||
INT_PTR CALLBACK About( HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam )
|
||||
{
|
||||
UNREFERENCED_PARAMETER(lParam);
|
||||
switch( message )
|
||||
{
|
||||
case WM_INITDIALOG: return (INT_PTR)TRUE;
|
||||
case WM_COMMAND:
|
||||
if( LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL )
|
||||
{
|
||||
EndDialog( hDlg, LOWORD(wParam) );
|
||||
return (INT_PTR)TRUE;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return (INT_PTR)FALSE;
|
||||
}
|
Reference in New Issue
Block a user