#include "base_form.h" const std::wstring BasicForm::kClassName = L"Basic"; #define WM_USER_POS_CHANGED (WM_USER + 2) BasicForm::BasicForm(): mMonitorNewSelect(nullptr) { } BasicForm::~BasicForm() { } std::wstring BasicForm::GetSkinFolder() { return L"basic"; } std::wstring BasicForm::GetSkinFile() { return L"basic.xml"; } std::wstring BasicForm::GetWindowClassName() const { return kClassName; } LRESULT BasicForm::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam) { if (uMsg == WM_USER_POS_CHANGED) { } return WindowImplBase::HandleMessage(uMsg, wParam, lParam); } void BasicForm::InitWindow() { /* Show settings menu */ ui::Button* btn_add_new = dynamic_cast(FindControl(L"add_new")); btn_add_new->SetText(L"н¨¼àÌýÏî"); if (nullptr != btn_add_new) { btn_add_new->AttachClick([this](ui::EventArgs* args) { if (mMonitorNewSelect == nullptr) { mMonitorNewSelect = new NewMonitorForm(); mMonitorNewSelect->Create(this->GetHWND(), NewMonitorForm::kClassName.c_str(), WS_OVERLAPPEDWINDOW & ~WS_MAXIMIZEBOX & WS_SIZEBOX, 0); mMonitorNewSelect->CenterWindow(); mMonitorNewSelect->ShowModalFake(this->GetHWND()); } else { mMonitorNewSelect = new NewMonitorForm(); mMonitorNewSelect->Create(this->GetHWND(), NewMonitorForm::kClassName.c_str(), WS_OVERLAPPEDWINDOW & ~WS_MAXIMIZEBOX & WS_SIZEBOX, 0); mMonitorNewSelect->CenterWindow(); mMonitorNewSelect->ShowModalFake(this->GetHWND()); } return true; }); } ui::TreeView* tree = dynamic_cast(FindControl(L"tree")); if (nullptr != tree) { ui::TreeNode* node = new ui::TreeNode; node->SetText(nbase::StringPrintf(L"uart")); node->SetClass(L"listitem"); node->SetFixedHeight(20); node->SetMargin({ 10, 0, 0, 0 }); tree->GetRootNode()->AddChildNode(node); node = new ui::TreeNode; node->SetText(nbase::StringPrintf(L"tcp client")); node->SetClass(L"listitem"); node->SetFixedHeight(20); node->SetMargin({ 10, 0, 0, 0 }); tree->GetRootNode()->AddChildNode(node); node = new ui::TreeNode; node->SetText(nbase::StringPrintf(L"tcp server")); node->SetClass(L"listitem"); node->SetFixedHeight(20); node->SetMargin({ 10, 0, 0, 0 }); tree->GetRootNode()->AddChildNode(node); node = new ui::TreeNode; node->SetText(nbase::StringPrintf(L"udp client")); node->SetClass(L"listitem"); node->SetFixedHeight(20); node->SetMargin({ 10, 0, 0, 0 }); tree->GetRootNode()->AddChildNode(node); node = new ui::TreeNode; node->SetText(nbase::StringPrintf(L"udp server")); node->SetClass(L"listitem"); node->SetFixedHeight(20); node->SetMargin({ 10, 0, 0, 0 }); tree->GetRootNode()->AddChildNode(node); node = new ui::TreeNode; node->SetText(nbase::StringPrintf(L"udp group")); node->SetClass(L"listitem"); node->SetFixedHeight(20); node->SetMargin({ 10, 0, 0, 0 }); tree->GetRootNode()->AddChildNode(node); } ui::Window* ss = dynamic_cast(FindControl(L"ss")); if (nullptr != ss) { ss->SetWindowResourcePath(L"basic/newmonitor.xml"); } } LRESULT BasicForm::OnClose(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { PostQuitMessage(0L); return __super::OnClose(uMsg, wParam, lParam, bHandled); }