From 7ed0554070bccbac404a1fd4f7de548d06133183 Mon Sep 17 00:00:00 2001
From: xj qian <qianxj15@sina.com>
Date: 星期二, 02 七月 2024 15:23:45 +0800
Subject: [PATCH] this is update

---
 jrj/project/vindexform.cpp |   34 ++++++++++++++++++----------------
 jrj/project/vindexmenu.cpp |    4 ++--
 jrj/xframe/win32/win.hpp   |    4 +++-
 3 files changed, 23 insertions(+), 19 deletions(-)

diff --git a/jrj/project/vindexform.cpp b/jrj/project/vindexform.cpp
index b110535..72ce110 100644
--- a/jrj/project/vindexform.cpp
+++ b/jrj/project/vindexform.cpp
@@ -13,7 +13,7 @@
 
 
 using xml = KXMLDOMDocument;
-class __declspec(dllexport) vindexform: public xframe
+class __declspec(dllexport) vindexform: public xwin
 {
 public:
 	string m_Assignment;
@@ -36,7 +36,7 @@
 	int menuShow;
 
 	HWND m_npHwnd2; //openwindow
-	int m_startwin;
+	HWND m_startwin;
 
 public:
 	vindexform(void* implPtr,HWND hWnd):xwin(implPtr,hWnd){}
@@ -99,7 +99,7 @@
 		alert(L"clicked");
 		return 1;
 	}
-	int OnMenu(HWND hMenu)
+	int OnMenu(xstring hMenu)
 	{
 		if (!hMenu)
 		{
@@ -129,7 +129,7 @@
 		}
 		else
 		{
-			m_hMenu = hMenu;
+			m_hMenu = (HWND)hMenu.toInt64();
 		}
 
 		xrect xr;
@@ -322,10 +322,10 @@
 				else
 					AppendMenu(m, MF_STRING, i + 1, name);
 			}
-			xrect xr;
+			RECT xr;
 			xpoint pt;
 			GetCursorPos(pt);
-			int res = TrackPopupMenu(m, TPM_RIGHTBUTTON | TPM_RETURNCMD, pt.x, pt.y, 0, GetHWND(), xr);
+			int res = TrackPopupMenu(m, TPM_RIGHTBUTTON | TPM_RETURNCMD, pt.x, pt.y, 0, GetHWND(), &xr);
 			if (res == 0) return 0;
 			KXMLDOMElement ele = li.item(res - 1);
 			xstring sInfoEx = ele.selectSingleNode(L"AssignmentID").text();
@@ -361,10 +361,10 @@
 			else
 				AppendMenu(m, MF_STRING, i + 1, str);
 		}
-		xrect xr;
+		RECT xr;
 		xpoint pt;
 		GetCursorPos(pt);
-		int res = TrackPopupMenu(m, TPM_RIGHTBUTTON | TPM_RETURNCMD, pt.x, pt.y, 0, GetHWND(), xr);
+		int res = TrackPopupMenu(m, TPM_RIGHTBUTTON | TPM_RETURNCMD, pt.x, pt.y, 0, GetHWND(), &xr);
 		if (res == 0) return 0;
 		int nSheet = mainsheet.GetSheetIndex();
 		if (nSheet == (res - 1)) return 0;
@@ -400,6 +400,8 @@
 		}
 		return 1;
 	}
+
+#if 0
 	int OnOpen(xstring pa)
 	{
 		//xwin::SendMessage(m_npHwnd2, 0x401, pa, 0);
@@ -411,7 +413,6 @@
 		}*/
 
 		xaserverarg arg ;
-		
 		xstring isnew = arg.GetArgString(L"_isNewModule");
 		xstring vx = arg.GetArgString(L"_ModuelPage");
 		if (isnew == L"Y")
@@ -422,9 +423,10 @@
 				openUrl(vx, p);
 			return 1;
 		}
-		OpenWindow(L"dev:xpage[vindexforold.vx]", p);
+		//OpenWindow(L"dev:xpage[vindexforold.vx]", p);
 		return 1;
 	}
+
 	int OnOpenForOld(xstring pa)
 	{
 		m_npHwnd2 = pa.toInt();
@@ -444,7 +446,7 @@
 		ShowWindow(m_npHwnd2, SW_MAXIMIZE);
 		return 1;
 	}
-
+#endif
 	int OnHelp()
 	{
 		OpenWindow(L"dev:xpage[trade.help3.vx]");
@@ -463,11 +465,11 @@
 		else if (comdid.find(L"menuid:", 0) >= 0) OnMenu(comdid.mid(comdid.find(L":", 0) + 1, comdid.length()));
 		else if (comdid.find(L"menuAgent:", 0) >= 0) OnMenuAgent(comdid.mid(comdid.find(L":", 0) + 1, comdid.length()));
 		else if (comdid.find(L"changesheet:", 0) >= 0) OnChangeSheet(comdid.mid(comdid.find(L":", 0) + 1, comdid.length()));
-		else if (comdid.find(L"openforoldid:", 0) >= 0) OnOpenForOld(comdid.mid(comdid.find(L":", 0) + 1, comdid.length()));
-		else if (comdid.find(L"open:", 0) >= 0) OnOpen(comdid.mid(comdid.find(L":", 0) + 1, comdid.length()));
+		//else if (comdid.find(L"openforoldid:", 0) >= 0) OnOpenForOld(comdid.mid(comdid.find(L":", 0) + 1, comdid.length()));
+		//else if (comdid.find(L"open:", 0) >= 0) OnOpen(comdid.mid(comdid.find(L":", 0) + 1, comdid.length()));
 		else if (comdid == L"xmRefreshTask")
 		{
-			SendMessage(m_startwin, 0x401, comdid, 0);
+			SendMessage(m_startwin, 0x401, (WPARAM)comdid.c_str(), 0);
 			return 1;
 		}
 
@@ -519,8 +521,8 @@
 
 		if (cursheet != mainsheet.GetSheetIndex())
 		{
-			int hPicture = FindWindowEx(0, 0, L"XFrameWndClass", L"__ProductPicture");
-			if (hPicture > 0)
+			HWND hPicture = FindWindowEx(0, 0, L"XFrameWndClass", L"__ProductPicture");
+			if (hPicture)
 			{
 				int WM_CLOSE = 0x0010;
 				PostMessage(hPicture, WM_CLOSE, 0, 0);
diff --git a/jrj/project/vindexmenu.cpp b/jrj/project/vindexmenu.cpp
index 0a54c11..612ff34 100644
--- a/jrj/project/vindexmenu.cpp
+++ b/jrj/project/vindexmenu.cpp
@@ -187,10 +187,10 @@
 		int TPM_RIGHTBUTTON = 0x0002;
 		int TPM_RETURNCMD = 0x0100;
 		AppendMenuW(m,MF_STRING, 1, str);	
-		xrect xr = { 0,0,0,0 };
+		RECT xr = { 0,0,0,0 };
 		xpoint pt;
 		GetCursorPos(pt);				
-		return TrackPopupMenu (m, TPM_RIGHTBUTTON | TPM_RETURNCMD, pt.x, pt.y, 0, this->GetHandle(), xr);
+		return TrackPopupMenu (m, TPM_RIGHTBUTTON | TPM_RETURNCMD, pt.x, pt.y, 0, this->GetHandle(), &xr);
 	}			
 			
 	int OnRClicked(TEvent* evt,int p)
diff --git a/jrj/xframe/win32/win.hpp b/jrj/xframe/win32/win.hpp
index 46f784c..1fbfcee 100644
--- a/jrj/xframe/win32/win.hpp
+++ b/jrj/xframe/win32/win.hpp
@@ -86,7 +86,7 @@
 	int WINAPI DestroyWindow(HWND hWnd) ;//native from "user32.dll" alias "DestroyWindow";
 	HMENU WINAPI CreatePopupMenu() ;//native from "user32.dll" alias "CreatePopupMenu";
 	bool WINAPI AppendMenuW(HMENU hMenu, int uFlags, int uIDNewltem, string lpNewltem) ;//native from "user32.dll" alias "AppendMenuW";
-	bool WINAPI TrackPopupMenu(HMENU hMenu, int uFlags, int x, int y, int nReserved, HWND hWnd, xrect prcRect) ;//native from "user32.dll" alias "TrackPopupMenu";
+	bool WINAPI TrackPopupMenu(HMENU hMenu, int uFlags, int x, int y, int nReserved, HWND hWnd, LPRECT prcRect) ;//native from "user32.dll" alias "TrackPopupMenu";
 	//int WINAPI CallWindowProc(int OldWProc,HWND hWnd,int uMsg,param wParam,param lParam) ;//native from "user32.dll" alias "CallWindowProcW";
 	int WINAPI InvalidateRect(HWND hWnd,xrect * lpRect, bool bErase) ;//native from "user32.dll" alias "InvalidateRect";
 	int WINAPI Sleep(int dwMilliseconds) ;//native from "kernel32.dll" alias "Sleep";
@@ -120,6 +120,8 @@
 #define PathRemoveFileSpec PathRemoveFileSpecW
 #define SetWindowText SetWindowTextW
 #define GetWindowText GetWindowTextW
+#define AppendMenu AppendMenuW
+#define FindWindowEx  FindWindowExW 
 #endif
 
 #if 0

--
Gitblit v1.9.3