67 lines
1.8 KiB
C++
67 lines
1.8 KiB
C++
![]() |
// 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>
|
|||
|
|
|||
|
enum ThreadId
|
|||
|
{
|
|||
|
kThreadUI
|
|||
|
};
|
|||
|
|
|||
|
int APIENTRY wWinMain(_In_ HINSTANCE hInstance,
|
|||
|
_In_opt_ HINSTANCE hPrevInstance,
|
|||
|
_In_ LPWSTR lpCmdLine,
|
|||
|
_In_ int nCmdShow)
|
|||
|
{
|
|||
|
AllocConsole();
|
|||
|
freopen("CONOUT$", "w", stdout);
|
|||
|
|
|||
|
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
|
|||
|
|
|||
|
// <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>Ĭ<EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD>Ӱ<EFBFBD>ľ<EFBFBD><C4BE>д<EFBFBD><D0B4><EFBFBD>
|
|||
|
BasicForm* window = new BasicForm();
|
|||
|
window->Create(NULL, BasicForm::kClassName.c_str(), WS_OVERLAPPEDWINDOW & ~WS_MAXIMIZEBOX & WS_SIZEBOX, 0);
|
|||
|
window->CenterWindow();
|
|||
|
window->ShowWindow();
|
|||
|
}
|
|||
|
|
|||
|
void MainThread::Cleanup()
|
|||
|
{
|
|||
|
ui::GlobalManager::Shutdown();
|
|||
|
SetThreadWasQuitProperly(true);
|
|||
|
nbase::ThreadManager::UnregisterThread();
|
|||
|
}
|