使用双窗口

This commit is contained in:
睿 安
2026-01-26 18:36:55 +08:00
parent 37e7d278bd
commit 1be1ecbbf2
19 changed files with 451 additions and 26 deletions

View File

@@ -177,12 +177,14 @@
<ItemGroup>
<ClInclude Include="framework.h" />
<ClInclude Include="loginForm.h" />
<ClInclude Include="mainForm.h" />
<ClInclude Include="pch.h" />
<ClInclude Include="Resource.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="DemoUi.cpp" />
<ClCompile Include="loginForm.cpp" />
<ClCompile Include="mainForm.cpp" />
<ClCompile Include="pch.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>

View File

@@ -27,6 +27,9 @@
<ClInclude Include="loginForm.h">
<Filter>头文件</Filter>
</ClInclude>
<ClInclude Include="mainForm.h">
<Filter>头文件</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="DemoUi.cpp">
@@ -38,6 +41,9 @@
<ClCompile Include="loginForm.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="mainForm.cpp">
<Filter>源文件</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<Image Include="small.ico">

Binary file not shown.

View File

@@ -1,14 +1,2 @@
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by DemoUi.rc
// <20><EFBFBD><C2B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>Ĭ<EFBFBD><C4AC>ֵ
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 101
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1001
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif

View File

@@ -18,4 +18,4 @@
#include "EzUI/TileListView.h"//瓦片列表
#include "EzUI/LayeredWindow.h"//分层窗口类-可以异型透明窗口
#include "ezui/UIManager.h"//ui管理类(使用xml生成控件)
#include "EzUI/Animation.h"

View File

@@ -1,5 +1,6 @@
#include "pch.h"
#include "loginForm.h"
#include "mainForm.h"
void loginForm::OnNotify(Control* sender, EventArgs& args)
{
@@ -8,22 +9,31 @@ void loginForm::OnNotify(Control* sender, EventArgs& args)
TextBox* editUser = (TextBox*)FindControl("user");
TextBox* editpwd = (TextBox*)FindControl("pwd");
CheckBox* ckbox = (CheckBox*)FindControl("ckbox");
if (!ckbox->GetCheck()) {
/*if (!ckbox->GetCheck()) {
::MessageBoxW(Hwnd(), L"<22><><EFBFBD>Ķ<EFBFBD>Э<EFBFBD><EFBFBD><E9B2A2>ѡ!", L"<22><>ʾ", MB_OK);
return;
}
}*/
UIString user = editUser->GetText();
UIString pwd = editpwd->GetText();
if (user == "718987717" && pwd == "123456") {
::MessageBoxW(Hwnd(), L"<EFBFBD><EFBFBD>¼<EFBFBD>ɹ<EFBFBD>!", L"<EFBFBD><EFBFBD>ʾ", MB_OK);
}
else {
::MessageBoxW(Hwnd(), L"<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!", L"<EFBFBD><EFBFBD>ʾ", MB_OK);
}
Hide(); // <20><><EFBFBD>ص<EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>
static mainForm mainForm;
mainForm.Show(); // <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//if (user == "ad" && pwd == "123") {
// ::MessageBoxW(Hwnd(), L"<22><>¼<EFBFBD>ɹ<EFBFBD>!", L"<22><>ʾ", MB_OK);
// Hide(); // <20><><EFBFBD>ص<EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>
// static mainForm mainForm;
// mainForm.Show(); // <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//}
//else {
// ::MessageBoxW(Hwnd(), L"<22>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!", L"<22><>ʾ", MB_OK);
//}
}
if (sender->Name == "btnExit") {
Application::Exit();
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (!sender->GetAttribute("url").empty()) {
::ShellExecuteA(0, "open", sender->GetAttribute("url").c_str(), "", "", SW_SHOW);
}

View File

@@ -0,0 +1,60 @@
#include "pch.h"
#include "mainForm.h"
void mainForm::OnNotify(Control* sender, EventArgs& args)
{
UIString btnName = sender->Name; // <20>ؼ<EFBFBD>id
Event eventType = args.EventType; // <20>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>
switch (eventType)
{
case ezui::OnMouseDown: //<2F><><EFBFBD><EFBFBD><EAB0B4>
{
if (btnName == "btnExitMain") { //<2F>˳<EFBFBD>
int result = ::MessageBoxW(Hwnd(), L"Ҫ<EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", L"<EFBFBD><EFBFBD>ʾ", MB_YESNO | MB_ICONQUESTION);
if (result == IDYES)
exit(0);
}
else if (btnName == "btnMinMain") { //<2F><>С<EFBFBD><D0A1>
this->ShowMinimized();
}
}
break;
case ezui::OnMouseDoubleClick: //<2F><><EFBFBD><EFBFBD>˫<EFBFBD><CBAB>
{
//if (btnName == "titleMain") { //<2F><><EFBFBD><EFBFBD><E2B2BC>
// if (this->IsMaximized()) {
// this->ShowNormal();
// }
// else {
// this->ShowMaximized();
// }
//}
}
break;
default:
break;
}
if (args.EventType == Event::OnMouseDown) {
}
__super::OnNotify(sender, args);
}
void mainForm::OnClose(bool& close)
{
Application::Exit();
}
mainForm::mainForm() :LayeredWindow(1000, 750)
{
SetResizable(true); // <20><><EFBFBD>ô<EFBFBD><C3B4>ڴ<EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>
SetMiniSize(Size(600, 450)); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>ߴ<EFBFBD>
umg.LoadXml("res/mainForm.htm");//<2F><><EFBFBD><EFBFBD>xml<6D><6C><EFBFBD><EFBFBD><EFBFBD>Ŀؼ<C4BF><D8BC><EFBFBD><EFBFBD><EFBFBD>ʽ
umg.SetupUI(this);
}
mainForm::~mainForm()
{
}

View File

@@ -0,0 +1,20 @@
#pragma once
#include "pch.h"
using namespace ezui;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
class mainForm :public LayeredWindow
{
private:
//ui<75><69><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UIManager umg;
protected:
virtual void OnNotify(Control* sender, EventArgs& args)override;//<2F><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>֪ͨ
virtual void OnClose(bool& close)override;//<2F><><EFBFBD><EFBFBD><EFBFBD>ڹرյ<D8B1>ʱ<EFBFBD><CAB1>
public:
mainForm();
virtual ~mainForm();
};