From 9e409d6e1e2cb1d35cf26f3fd2bd9048c624280f Mon Sep 17 00:00:00 2001 From: LiFan <2308045698@qq.com> Date: 星期五, 05 七月 2024 11:29:43 +0800 Subject: [PATCH] update AP --- 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