nim_duilib/examples/proto_debuger/main.cpp

112 lines
2.9 KiB
C++
Raw Normal View History

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;
2022-01-29 10:37:21 +08:00
// 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();
}