xj qian
2024-07-16 7a91c3a1ed37b0332d4ff0ebeae60bd6da3665c0
jrj/project/business/BasicCode/AddUomGroup.cpp
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,121 @@
#include <wobject/xstring.hpp>
#include <xcontrol/xtreeview.hpp>
#include <xcontrol/xdwgrid.hpp>
#include <wobject/xdouble.hpp>
#include <xcontrol/xlayersheet.hpp>
#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
#include "viewobject/view.base.hpp"
using xml = KXMLDOMDocument;
class __declspec(dllexport) AddUomGroup : public xwin
{
public:
   AddUomGroup(void* implPtr, HWND hWnd) :xwin(implPtr, hWnd) {}
public:
   static AddUomGroup* CreateInstance(void* implPtr, void* hWnd)
   {
      AddUomGroup* pWin = new AddUomGroup(implPtr, (HWND)hWnd);
      return pWin;
   }
   int SetAgent()
   {
      return 1;
   }
   //焦点激活处理函数
   int OnSetFocus(TEvent* evt, LPARAM p)
   {
      int SetAgent();
      //重置工具条
      return 1;
   }
   //命令发布函数
   int OnCmdDispatch(xstring comdid)
   {
      if (comdid == L"cb_cancel")
         CloseWindow();
      else if (comdid == L"cb_ok")
      {
         control xc = new control;
         xc.setNativePointer(GetControl(L"Txt"));
         xstring name = xc.GetText();
         xaserverarg arg;
         arg = GetArg();
         arg.AddArg(L"GroupName", name);
         arg.AddArg(L"return", L"ok");
         CloseWindow();
      }
      return 0;
   }
   //命令处理事件
   int OnXCommand(TEvent* evt, LPARAM param)
   {
      return OnCmdDispatch(evt->xcommand.pStrID);
   }
   int OnAttachEvent()
   {
      //绑定工具条点击事件
      AttachEvent(L"WM_XCOMMAND", (FEvent)&AddUomGroup::OnXCommand);
      //获取焦点事件,用于重置工具条
      AttachEvent(L"WM_SETFOCUS", (FEvent)&AddUomGroup::OnSetFocus);
      return 1;
   }
   int OnInitial()
   {
      SetAgent();
      OnAttachEvent();
      return 1;
   }
   int onload()
   {
      SetArg();
      OnInitial();
         if (GetWinParam())
         {
            xaserverarg arg;
            arg = GetArg();
            xstring note = arg.GetArgString(L"note");
            if (note == L"修改")
            {
               xstring name = arg.GetArgString(L"GroupName");
               control xc = new control;
               xc.setNativePointer(GetControl(L"Txt"));
               xc.SetText(name);
            }
            xstring id = arg.GetArgString(L"m_id");
            if (id == L"FND_UOM")
            {
               SetWindowText(GetHWND(), L"计量单位");
            }
            else if (id == L"FND_CustomerSource")
            {
               SetWindowText(GetHWND(), L"客户来源");
            }
            else if (id == L"FND_AuxiliaryAttribute")
            {
               SetWindowText(GetHWND(), L"辅助属性");
            }
         }
      return 1;
   }
};