nim_duilib/examples/richlist/main.cpp

51 lines
1.2 KiB
C++
Raw Permalink Normal View History

2019-04-19 17:19:57 +08:00
// basic.cpp : 定义应用程序的入口点。
//
#include "stdafx.h"
#include "main.h"
#include "richlist_form.h"
enum ThreadId
{
kThreadUI
};
2019-04-19 17:19:57 +08:00
int APIENTRY wWinMain(_In_ HINSTANCE hInstance,
_In_opt_ HINSTANCE hPrevInstance,
_In_ LPWSTR lpCmdLine,
_In_ int nCmdShow)
{
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);
// 创建主线程
MainThread thread;
// 执行主线程循环
thread.RunOnCurrentThreadWithLoop(nbase::MessageLoop::kUIMessageLoop);
return 0;
}
void MainThread::Init()
{
nbase::ThreadManager::RegisterThread(kThreadUI);
2019-04-19 17:19:57 +08:00
// 获取资源路径,初始化全局参数
std::wstring theme_dir = nbase::win32::GetCurrentModuleDirectory();
2019-04-19 17:19:57 +08:00
ui::GlobalManager::Startup(theme_dir + L"resources\\", ui::CreateControlCallback(), false);
// 创建一个默认带有阴影的居中窗口
RichlistForm* window = new RichlistForm();
window->Create(NULL, RichlistForm::kClassName.c_str(), WS_OVERLAPPEDWINDOW & ~WS_MAXIMIZEBOX, 0);
window->CenterWindow();
window->ShowWindow();
}
void MainThread::Cleanup()
{
ui::GlobalManager::Shutdown();
SetThreadWasQuitProperly(true);
nbase::ThreadManager::UnregisterThread();
}