From a4d2315ee4ca3f6177b4fb2526bed2feff3d89be Mon Sep 17 00:00:00 2001
From: lifan <2308045698@qq.com>
Date: 星期三, 22 十月 2025 16:52:58 +0800
Subject: [PATCH] update
---
jrj/xframe/wobject/xwin.hpp | 24 ++++++++++++++++++++++++
1 files changed, 24 insertions(+), 0 deletions(-)
diff --git a/jrj/xframe/wobject/xwin.hpp b/jrj/xframe/wobject/xwin.hpp
index 011b1d2..12a740e 100644
--- a/jrj/xframe/wobject/xwin.hpp
+++ b/jrj/xframe/wobject/xwin.hpp
@@ -6,11 +6,14 @@
#include "win32/win.hpp"
#include "wobject/xnode.hpp"
#include "wobject/xurl.hpp"
+#include "wobject/xpage.hpp"
+#include "wobject/xnode.hpp"
using kwin=Hxsoft::XFrame::IXFWin;
using kcontrol = Hxsoft::XFrame::IXFControl;
using knode = Hxsoft::XFrame::IXNode;
+#define export __declspec(dllexport)
#define DeclWinObject_(ty,pty) class __declspec(dllexport) ty : public pty
#define CreateWinObject_(ty,pty) \
public:\
@@ -41,6 +44,8 @@
}
public:
xwin(void * impl, HWND hWnd):xview(impl,hWnd){}
+ xwin(kwin* kw) :xview(kw ? kw : nullptr, kw ? kw->GetHWND() : 0) {}
+ const xwin& operator =(kwin* kw) { this->SetNativePtr(kw ? kw : nullptr); this->SetHandle(kw ? kw->GetHWND() : 0); return *this; }
public:
kwin* getKWin()
{
@@ -120,6 +125,11 @@
xnode SetAgentNode(xnode node,xnode val)
{
return xnode(getKWin()->SetAgentNodeContent((knode*)node.getNativePointer(), (knode*)val.getNativePointer()));
+ }
+
+ xnode GetXNode()
+ {
+ return xnode(getKWin()->GetXNode());
}
Hxsoft::XFrame::IXPage* GetXPage()
@@ -251,4 +261,18 @@
{
return getKWin()->SwitchLayer((LPTSTR)pStrLayerSheet, (LPTSTR)pStrLayerFrame);
}
+
+ xpage GetChildXPage(string name)
+ {
+ xnode tnode = GetXNode().GetNodeByName(name);
+ if (!tnode) return 0;
+ return tnode.GetXPage();
+ }
+
+ kwin* GetChildWin(string name)
+ {
+ xpage tpage = GetChildXPage(name);
+ if (!tpage) return nullptr;
+ return tpage.GetWin();
+ }
};
--
Gitblit v1.9.3