2021-09-15 17:37:26 +08:00
// basic.cpp : <20> <> <EFBFBD> <EFBFBD> Ӧ<EFBFBD> ó<EFBFBD> <C3B3> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ڵ㡣
//
# include "main.h"
# include "base_form.h"
# include"resource1.h"
# include <math.h>
2021-11-21 13:47:19 +08:00
# include "lua_wraper.h"
2021-11-22 23:53:21 +08:00
# include "loger.h"
2022-01-25 23:45:07 +08:00
# include "global.h"
2021-09-15 17:37:26 +08:00
enum ThreadId
{
kThreadUI
} ;
2022-01-25 23:45:07 +08:00
BasicForm * gMainWindow = nullptr ;
2021-09-15 17:37:26 +08:00
int APIENTRY wWinMain ( _In_ HINSTANCE hInstance ,
_In_opt_ HINSTANCE hPrevInstance ,
_In_ LPWSTR lpCmdLine ,
_In_ int nCmdShow )
{
2021-10-11 00:00:10 +08:00
# ifdef WIN32
WORD wdVersion = MAKEWORD ( 2 , 2 ) ; //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> Լ<EFBFBD> <D4BC> <EFBFBD> Ҫ<EFBFBD> <D2AA> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 汾<EFBFBD> <E6B1BE> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 2.2
WSADATA wdSockMsg ; //<2F> <> <EFBFBD> <EFBFBD> һ <EFBFBD> <D2BB> <EFBFBD> ṹ<EFBFBD> <E1B9B9>
int nRes = WSAStartup ( wdVersion , & wdSockMsg ) ; //<2F> <> <EFBFBD> <EFBFBD> һ <EFBFBD> <D2BB> <EFBFBD> <EFBFBD> <D7BD> <EFBFBD>
if ( 0 ! = nRes ) {
switch ( nRes ) {
case WSASYSNOTREADY :
printf ( " check your library " ) ;
break ;
case WSAVERNOTSUPPORTED :
printf ( " need updated " ) ;
break ;
case WSAEINPROGRESS :
printf ( " need reboot " ) ;
break ;
case WSAEPROCLIM :
printf ( " sdfsdfsa " ) ;
break ;
}
}
if ( 2 ! = HIBYTE ( wdSockMsg . wVersion ) | | 2 ! = LOBYTE ( wdSockMsg . wVersion ) ) {
printf ( " WSACleanup " ) ;
WSACleanup ( ) ;
return 0 ;
}
# endif
2022-01-25 23:45:07 +08:00
LPTSTR CurrentPath = new wchar_t [ 255 ] ;
GetCurrentDirectory ( 255 , CurrentPath ) ;
2021-09-15 17:37:26 +08:00
AllocConsole ( ) ;
freopen ( " CONOUT$ " , " w " , stdout ) ;
2022-01-25 23:45:07 +08:00
std : : wcout < < CurrentPath < < std : : endl ;
2021-09-15 17:37:26 +08:00
2021-11-21 13:47:19 +08:00
LuaDelegate lua ;
std : : cout < < std : : endl ;
lua . CallFuntion < lua_Number > ( std : : string ( " sds " ) ,
123.0 ) ;
2021-09-15 17:37:26 +08:00
UNREFERENCED_PARAMETER ( hPrevInstance ) ;
UNREFERENCED_PARAMETER ( lpCmdLine ) ;
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ߳<EFBFBD>
MainThread thread ;
// ִ<> <D6B4> <EFBFBD> <EFBFBD> <EFBFBD> ߳<EFBFBD> ѭ<EFBFBD> <D1AD>
thread . RunOnCurrentThreadWithLoop ( nbase : : MessageLoop : : kUIMessageLoop ) ;
return 0 ;
}
void MainThread : : Init ( )
{
nbase : : ThreadManager : : RegisterThread ( kThreadUI ) ;
// <20> <> ȡ<EFBFBD> <C8A1> Դ·<D4B4> <C2B7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ʼ <EFBFBD> <CABC> ȫ<EFBFBD> ֲ<EFBFBD> <D6B2> <EFBFBD>
std : : wstring theme_dir = nbase : : win32 : : GetCurrentModuleDirectory ( ) ;
wprintf ( L " %s \r \n " , theme_dir ) ;
# if 1
// Debug ģʽ <C4A3> <CABD> ʹ <EFBFBD> ñ<EFBFBD> <C3B1> <EFBFBD> <EFBFBD> ļ<EFBFBD> <C4BC> <EFBFBD> <EFBFBD> <EFBFBD> Ϊ<EFBFBD> <CEAA> Դ
// Ĭ<> <C4AC> Ƥ<EFBFBD> <C6A4> ʹ <EFBFBD> <CAB9> resources\\themes\\default
// Ĭ<> <C4AC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ʹ <EFBFBD> <CAB9> resources\\lang\\zh_CN
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <DEB8> <EFBFBD> ָ<EFBFBD> <D6B8> Startup <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
ui : : GlobalManager : : Startup ( theme_dir + L " resources \\ " , ui : : CreateControlCallback ( ) , false ) ;
# else
// Release ģʽ <C4A3> <CABD> ʹ <EFBFBD> <CAB9> <EFBFBD> <EFBFBD> Դ<EFBFBD> е <EFBFBD> ѹ<EFBFBD> <D1B9> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ϊ<EFBFBD> <CEAA> Դ
// <20> <> Դ<EFBFBD> <D4B4> <EFBFBD> <EFBFBD> <EFBFBD> 뵽<EFBFBD> <EBB5BD> Դ<EFBFBD> б <EFBFBD> <D0B1> <EFBFBD> <EFBFBD> <EFBFBD> Ϊ THEME<4D> <45> <EFBFBD> <EFBFBD> Դ<EFBFBD> <D4B4> <EFBFBD> <EFBFBD> Ϊ IDR_THEME
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Դʹ <D4B4> õ<EFBFBD> <C3B5> DZ<EFBFBD> <C7B1> ص<EFBFBD> zip <20> ļ<EFBFBD> <C4BC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Դ<EFBFBD> е <EFBFBD> zip ѹ<> <D1B9> <EFBFBD> <EFBFBD>
// <20> <> <EFBFBD> <EFBFBD> ʹ <EFBFBD> <CAB9> OpenResZip <20> <> һ <EFBFBD> <D2BB> <EFBFBD> <EFBFBD> <EFBFBD> غ<EFBFBD> <D8BA> <EFBFBD> <EFBFBD> <EFBFBD> <F2BFAAB1> ص<EFBFBD> <D8B5> <EFBFBD> Դѹ<D4B4> <D1B9> <EFBFBD> <EFBFBD>
ui : : GlobalManager : : OpenResZip ( MAKEINTRESOURCE ( IDR_THEME2 ) , L " THEME " , " " ) ;
//ui::GlobalManager::OpenResZip(L"resources.zip", "");
ui : : GlobalManager : : Startup ( L " resources \\ " , ui : : CreateControlCallback ( ) , false ) ;
# endif
2021-09-22 00:01:02 +08:00
auto dpiManager = ui : : DpiManager : : GetInstance ( ) ;
2022-01-11 01:07:59 +08:00
dpiManager - > SetAdaptDPI ( ) ;
2021-09-15 17:37:26 +08:00
// <20> <> <EFBFBD> <EFBFBD> һ <EFBFBD> <D2BB> Ĭ<EFBFBD> ϴ<EFBFBD> <CFB4> <EFBFBD> <EFBFBD> <EFBFBD> Ӱ<EFBFBD> ľ<EFBFBD> <C4BE> д<EFBFBD> <D0B4> <EFBFBD>
2022-01-25 23:45:07 +08:00
gMainWindow = new BasicForm ( ) ;
2021-12-31 11:42:45 +08:00
2022-01-25 23:45:07 +08:00
gMainWindow - > Create ( NULL , BasicForm : : kClassName . c_str ( ) ,
2021-12-31 11:42:45 +08:00
WS_OVERLAPPEDWINDOW & WS_SIZEBOX , 0 , true , ui : : UiRect ( 0 , 0 , 1024 , 768 ) ) ;
2022-01-25 23:45:07 +08:00
gMainWindow - > CenterWindow ( ) ;
gMainWindow - > ShowWindow ( ) ;
gMainWindow - > SetInitSize ( 1024 , 768 ) ;
2021-09-15 17:37:26 +08:00
}
void MainThread : : Cleanup ( )
{
ui : : GlobalManager : : Shutdown ( ) ;
SetThreadWasQuitProperly ( true ) ;
nbase : : ThreadManager : : UnregisterThread ( ) ;
}