From d912c0e116080cf2583fc276fde2c530b9f8f956 Mon Sep 17 00:00:00 2001 From: xj qian <qianxj15@sina.com> Date: 星期三, 11 十二月 2024 16:33:18 +0800 Subject: [PATCH] update --- jrj/xframe/devloper/XDevEditXApp.cpp | 73 ++++++++++++++++++++---------------- 1 files changed, 40 insertions(+), 33 deletions(-) diff --git a/jrj/xframe/devloper/XDevEditXApp.cpp b/jrj/xframe/devloper/XDevEditXApp.cpp index d7f0152..c47e298 100644 --- a/jrj/xframe/devloper/XDevEditXApp.cpp +++ b/jrj/xframe/devloper/XDevEditXApp.cpp @@ -74,6 +74,8 @@ xstring p = L"<box name='image_view' width='22'><xtoolbutton caption='' image='" + xstring(j) + L"'/></box>"; SetAgentNode(anode,p); } + + return 1; } int onClare() @@ -125,13 +127,15 @@ SendMessage(xc.GetHWND(), 0x014E, 0, 0); OnCombSelChanged(); + + return 1; } xstring getTVData(HTREEITEM hitem) { xstring result = L""; HTREEITEM citem = tv_folder.GetChildItem(hitem); - while (citem > 0) + while (citem) { xstring str = (wchar_t*)tv_folder.GetItemData(citem); xstring name = str.mid(1,str.find(L" ",0)); @@ -170,7 +174,7 @@ { int index = s.toInt(); HTREEITEM h = tv_folder.GetChildItem(hitem); - while (h > 0) + while (h) { xstring p = (wchar_t*)tv_folder.GetItemData(h); xml x ; @@ -205,6 +209,7 @@ copyNode(citem,h); citem = tv_folder.GetNextItem(citem); } + return 1; } //命令发布函数 @@ -420,44 +425,46 @@ } } xc = GetControl(L"image"); - xstring str = e.getAttribute(L"image"); + str = e.getAttribute(L"image"); //xc.SetText(L""+str); SendMessage(xc.GetHWND(), 0x014E, str.toInt(), 0); xc = GetControl(L"index"); - xstring str = e.getAttribute(L"index"); + str = e.getAttribute(L"index"); xc.SetText(L"" + str); xc = GetControl(L"code"); - xstring str = e.getAttribute(L"code"); + str = e.getAttribute(L"code"); xc.SetText(L"" + str); xc = GetControl(L"name"); - xstring str = e.getAttribute(L"name"); + str = e.getAttribute(L"name"); xc.SetText(L"" + str); xc = GetControl(L"status"); - xstring str = e.getAttribute(L"status"); + str = e.getAttribute(L"status"); xc.SetText(L"" + str); OnCombSelChanged(); + + return 1; } - int OnTreeSelChanged(ref TNotifyEvent evt,int param) + int OnTreeSelChanged(TEvent* evt,LPARAM param) { - ref NMTREEVIEW nmtv = evt.pnmh; - int hitem = nmtv.itemNew.hItem; + NMTREEVIEW& nmtv = *(NMTREEVIEW*)evt->notify.pnmh; + HTREEITEM hitem = nmtv.itemNew.hItem; onClare(); m_mode = L"new"; if (hitem == tv_folder.GetRootItem()) return 0; //IXMLDOMElement e = tv_folder.GetItemData(hitem); //trace(e.xml); - param p = tv_folder.GetItemData(hitem); + xstring p = (wchar_t*)tv_folder.GetItemData(hitem); xml x ; - x.loadXML(L"" + xstring(p)); - IXMLDOMElement e = x.documentElement; - m_type = e.tagName; + x.loadXML(p); + KXMLDOMElement e = x.documentElement(); + m_type = e.tagName(); if (m_type == L"file") OnCmdDispatch(L"NewFile"); else @@ -469,12 +476,14 @@ int OnAttachEvent() { //绑定工具条点击事件 - AttachEvent(L"WM_XCOMMAND",OnXCommand); + AttachEvent(L"WM_XCOMMAND", (FEvent)&XDevEditXApp::OnXCommand); //获取焦点事件,用于重置工具条 - AttachEvent(L"WM_SETFOCUS",OnSetFocus); - AttachEvent(L"image", L"CBN_SELCHANGE",OnCombSelChanged); - AttachEvent(L"tv_folder", L"TVN_ENDDRAG",OnTreeDrag); - AttachEvent(L"tv_folder", L"TVN_SELCHANGED",OnTreeSelChanged); + AttachEvent(L"WM_SETFOCUS", (FEvent)&XDevEditXApp::OnSetFocus); + AttachEvent(L"image", L"CBN_SELCHANGE", (FEvent)&XDevEditXApp::OnCombSelChanged); + AttachEvent(L"tv_folder", L"TVN_ENDDRAG", (FEvent)&XDevEditXApp::OnTreeDrag); + AttachEvent(L"tv_folder", L"TVN_SELCHANGED", (FEvent)&XDevEditXApp::OnTreeSelChanged); + + return 1; } int OnInitial() @@ -487,7 +496,7 @@ int i; for (i = 0; i < 35; i++) { - SendMessage(xc.GetHWND(), 0x0143, 0, i.toString()); + SendMessage(xc.GetHWND(), 0x0143, 0, (LPARAM)xstring(i).c_str()); //param p=i.toString(); //SendMessage(xc.GetHWND(), 0x0151, i, p); } @@ -496,21 +505,19 @@ return 1; } - int OnTreeAdd(int hitem, IXMLDOMElement e) + int OnTreeAdd(HTREEITEM hitem, KXMLDOMElement e) { auto list = e.selectNodes(L"*"); int i; - int s = list.length; + int s = list.length(); for (i = 0; i < s; i++) { - IXMLDOMElement ele = list.item(i); + KXMLDOMElement ele = list.item(i); xstring name = ele.getAttribute(L"caption"); xstring image = ele.getAttribute(L"image"); - image = L"" + image; - xstring data = ele.xml; + xstring data = ele.xml(); data = data.mid(0,data.find(L">",1)) + L"/>"; - param p = data; - int j = tv_folder.InsertChildItem(hitem,name,p,image.toInt()); + HTREEITEM j = tv_folder.InsertChildItem(hitem,name.c_str(), (LPARAM)data.c_str(true), image.toInt()); OnTreeAdd(j,ele); } return 1; @@ -529,13 +536,13 @@ OnCmdDispatch(L"NewFolder"); m_mode = L"new"; - if (!GetParam()) return 1; + if (!GetWinParam()) return 1; xwin w = GetFrameWindow(); - xtree tv = w.GetControl(L"DevExplorer"); - int hItem = GetParam(); - IXMLDOMElement e = tv.GetItemData(hItem); + xtreeview tv = w.GetControl(L"DevExplorer"); + HTREEITEM hItem = (HTREEITEM)GetWinParam(); + KXMLDOMElement e = tv.GetItemData(hItem); xstring name = e.getAttribute(L"caption"); - int root = tv_folder.InsertItem(L"" + name,e,17); + HTREEITEM root = tv_folder.InsertItem(name.c_str(), e, 17); xstring content = GetData(); if (content != L"") { @@ -543,7 +550,7 @@ xml x ; if (x.loadXML(content)) { - OnTreeAdd(root,x.documentElement); + OnTreeAdd(root,x.documentElement()); tv_folder.ExpandItemEx(root); } } -- Gitblit v1.9.3