From d013a35ef5bb3b45b46362c67d6f3ca52a54e96d Mon Sep 17 00:00:00 2001
From: xj qian <qianxj15@sina.com>
Date: 星期一, 01 七月 2024 16:07:55 +0800
Subject: [PATCH] Merge branch 'master' of http://116.62.18.175:6699/r/mis-prj

---
 jrj/xframe/wobject/xwin.hpp |   44 ++++++++++++++++++++++++++++++++++++++------
 1 files changed, 38 insertions(+), 6 deletions(-)

diff --git a/jrj/xframe/wobject/xwin.hpp b/jrj/xframe/wobject/xwin.hpp
index 099e1b7..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,16 +79,16 @@
 
 	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");
 	}
@@ -96,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();

--
Gitblit v1.9.3