From 2fd87264ec85c9afbe4c813404c27e79f7be541d Mon Sep 17 00:00:00 2001
From: xj qian <qianxj15@sina.com>
Date: 星期二, 09 七月 2024 19:59:32 +0800
Subject: [PATCH] update report
---
jrj/xframe/wobject/xwin.hpp | 65 ++++++++++++++++++++++++++++----
1 files changed, 56 insertions(+), 9 deletions(-)
diff --git a/jrj/xframe/wobject/xwin.hpp b/jrj/xframe/wobject/xwin.hpp
index 6de68fc..3a21359 100644
--- a/jrj/xframe/wobject/xwin.hpp
+++ b/jrj/xframe/wobject/xwin.hpp
@@ -11,8 +11,34 @@
using kcontrol = Hxsoft::XFrame::IXFControl;
using knode = Hxsoft::XFrame::IXNode;
+#define DeclWinObject_(ty,pty) class __declspec(dllexport) ty : public pty
+#define CreateWinObject_(ty,pty) \
+public:\
+ ty(void* impl,HWND hWnd):pty(impl,hWnd){}\
+public:\
+ static ty * CreateInstance(void* impl,void* hWnd)\
+ {\
+ return new ty(impl,(HWND)hWnd);\
+ }
+
class xwin: public xview
{
+public:
+ xaserverarg m_xaserverarg;
+public:
+ xaserverarg& GetArg() { return m_xaserverarg; }
+ void SetArg(LPARAM p)
+ {
+ m_xaserverarg = *(xaserverarg*)p;
+ }
+ void SetArg(xaserverarg & p)
+ {
+ m_xaserverarg = p;
+ }
+ void SetArg()
+ {
+ if(GetWinParam()) SetArg(GetWinParam());
+ }
public:
xwin(void * impl, HWND hWnd):xview(impl,hWnd){}
public:
@@ -53,20 +79,24 @@
xwin* OpenWindow(string url)
{
- int WS_OVERLAPPEDWINDOW = 0x00cf0000 ;
- kwin* w = kwin::OpenWindow(GetServerUrl(),url,getKWin(),0/*param*/,0/*CmdWind*/,0,WS_OVERLAPPEDWINDOW,0);
+ int WS_OVERLAPPEDWINDOW_ = 0x00cf0000 ;
+ kwin* w = kwin::OpenWindow(GetServerUrl(),url,getKWin(),0/*param*/,0/*CmdWind*/,0,WS_OVERLAPPEDWINDOW_,0);
if(!w) return 0; //response
return (xwin*)GetPropW(w->GetHWND(),L"AttachObject");
}
xwin* OpenWindow(string url,LPARAM p)
{
- int WS_OVERLAPPEDWINDOW = 0x00cf0000;
- kwin* w= kwin::OpenWindow(GetServerUrl(),url,getKWin(),p,0/*CmdWind*/,0/*dwStyleEx*/,WS_OVERLAPPEDWINDOW,0);
+ int WS_OVERLAPPEDWINDOW_ = 0x00cf0000;
+ kwin* w= kwin::OpenWindow(GetServerUrl(),url,getKWin(),p,0/*CmdWind*/,0/*dwStyleEx*/,WS_OVERLAPPEDWINDOW_,0);
if(!w) return 0; //response
return (xwin*)GetPropW(w->GetHWND(),L"AttachObject");
}
-
+ xwin* OpenWindow(string url, xaserver& arg)
+ {
+ return OpenWindow(url, (LPARAM)&arg);
+ }
+
int trace(string info)
{
return 1;
@@ -92,14 +122,20 @@
return xnode(getKWin()->SetAgentNodeContent((knode*)node.getNativePointer(), (knode*)val.getNativePointer()));
}
- LPARAM GetParam()
+ LPARAM GetWinParam()
{
return (LPARAM)getKWin()->GetParam();
}
- bool SetParam(LPARAM pParam)
+ bool SetWinParam(LPARAM pParam)
{
return getKWin()->SetParam((void*)pParam);
}
+ xstring GetParamString()
+ {
+ if (!GetWinParam())return xstring();
+ return xstring(GetWinParam(), true);
+ }
+
LPARAM GetFrameParam()
{
return (LPARAM)getKWin()->GetFrameParam();
@@ -113,7 +149,7 @@
return getKWin()->Redraw();
}
- int openUrl(string aurl, xaserverarg* para)
+ int openUrl(xstring aurl, xaserverarg* para)
{
KXMLDOMDocument x;
@@ -154,7 +190,7 @@
return getKWin()->CloseWindow();
}
- int openUrl(string aurl)
+ int openUrl(xstring aurl)
{
xaserverarg* arg = new xaserverarg();
return openUrl(aurl, arg);
@@ -164,4 +200,15 @@
{
return getKWin()->GetElement();
}
+
+ xwin GetFrameWindow()
+ {
+ kwin* kw = getKWin()->GetFrameWindow();
+ return xwin(kw, kw->GetHWND());
+ }
+
+ void SwitchLayer(LPCTSTR pStrLayerSheet, LPCTSTR pStrLayerFrame)
+ {
+ return getKWin()->SwitchLayer((LPTSTR)pStrLayerSheet, (LPTSTR)pStrLayerFrame);
+ }
};
--
Gitblit v1.9.3