Pārlūkot izejas kodu

继续做双屏

张洋 3 gadi atpakaļ
vecāks
revīzija
0d162be8f3

+ 3 - 2
bin/Win32/Debug/zhipuzi_pos_windows/skin/fuping_wnd.xml

@@ -9,7 +9,7 @@
 		</HorizontalLayout>		
 		
 		<HorizontalLayout>
-			<VerticalLayout width="500">
+			<VerticalLayout width="400">
 				<HorizontalLayout height="80">
 					<Label text="欢迎光临" font="1" align="center"></Label>
 				</HorizontalLayout>
@@ -26,11 +26,12 @@
 			
 			<VerticalLayout>
 				<HorizontalLayout>
+					<Control name="lunbo_image"></Control>
 				</HorizontalLayout>
 				
 				<Control height="1" bkcolor="#FFEBE8E8"></Control>
 				
-				<HorizontalLayout height="300">
+				<HorizontalLayout height="200">
 				</HorizontalLayout>
 			</VerticalLayout>
 		</HorizontalLayout>

+ 25 - 25
zhipuzi_pos_windows/tool/CShuangpingTool.cpp

@@ -9,26 +9,32 @@ CShuangpingTool::CShuangpingTool()
 
 bool CShuangpingTool::IsShuangping()
 {
+	return m_is_shuangping;
+}
+
+void CShuangpingTool::Init()
+{
 	INT iNumber = GetSystemMetrics(SM_CMONITORS);
 
 	if (iNumber > 1)
 	{
-		return true;
+		m_is_shuangping = true;
 	}
+	else
+	{
+		//这种情况说明没有副屏
+		m_is_shuangping = false;
 
-	return false;
-}
+		return;
+	}
 
-RECT CShuangpingTool::GetFupingArea()
-{
+	//确定副屏显示区域
 	RECT rect;
 	rect.left = 0;
 	rect.top = 0;
 	rect.right = 0;
 	rect.bottom = 0;
 
-	INT iNumber = GetSystemMetrics(SM_CMONITORS);
-
 	for (int i = 0; i < iNumber; i++)
 	{
 		//初始化
@@ -67,35 +73,29 @@ RECT CShuangpingTool::GetFupingArea()
 
 			rect.right = rect.left + devMode.dmPelsWidth;
 			rect.bottom = rect.top + devMode.dmPelsHeight;
-
-			return rect;
 		}
 	}
 
-	return rect;
-}
-
-void CShuangpingTool::UpdateShow()
-{
-	if (IsShuangping() == false)
-	{
-		//如果不是双屏,直接不处理
-		return;
-	}
-
-	//副屏区域
-	RECT fupingRect = GetFupingArea();
-
+	//创建并初始化副屏窗口
 	CFupingWnd* pFuping = new CFupingWnd();
 	if (pFuping == NULL)
 	{
+		m_is_shuangping = false;
+		LOG_INFO("副屏窗口创建失败!");
 		return;
 	}
 
-	pFuping->Create(NULL, _T("智铺子收银软件副屏"), UI_WNDSTYLE_DIALOG, 0, 0, 0, 0, 0, NULL);
+	pFuping->Create(NULL, _T("智铺子收银系统副屏"), UI_WNDSTYLE_DIALOG, 0, 0, 0, 0, 0, NULL);
 	pFuping->SetIcon(IDI_ICON_DUILIB);
 
+	::MoveWindow(pFuping->GetHWND(), rect.left, rect.top, rect.right - rect.left, rect.bottom - rect.top, true);
 	pFuping->ShowWindow(true);
+}
 
-	::MoveWindow(pFuping->GetHWND(), fupingRect.left, fupingRect.top, fupingRect.right - fupingRect.left, fupingRect.bottom - fupingRect.top, true);
+void CShuangpingTool::UpdateShow()
+{
+	if (m_is_shuangping == false)
+	{
+		return;
+	}
 }

+ 7 - 3
zhipuzi_pos_windows/tool/CShuangpingTool.h

@@ -10,6 +10,10 @@ public:
 		return &instance;
 	}
 
+	//初始化副屏,对副屏情况进行判断
+	void Init();
+
+	//刷新副屏显示
 	void UpdateShow();
 
 private:
@@ -19,9 +23,9 @@ public:
 	//当前是否双屏模式(超过1个屏幕判定为双屏)
 	bool IsShuangping();
 
-	RECT GetFupingArea();
-
 private:
-	
+	bool m_is_shuangping = false;
+
+	RECT m_fuping_rect;
 };
 

+ 1 - 1
zhipuzi_pos_windows/wnd/CLoginWnd.cpp

@@ -553,7 +553,7 @@ void CLoginWnd::HandleLogin()
 			return;
 		}
 
-		//获取店铺信息
+		//获取店铺信息(比如一些后台店铺相关的设置、副屏轮播图、打印小票二维码等等)
 		std::wstring errmsg;
 		ret = CShopinfo::GetInstance()->UpdateOneShopinfo(errmsg);
 		if (!ret)

+ 1 - 1
zhipuzi_pos_windows/zhipuzi_pos_windows.cpp

@@ -90,7 +90,7 @@ int APIENTRY wWinMain(_In_ HINSTANCE hInstance,
 	pLogin->ShowWindow(true);
 
 	//初始化副屏
-	CShuangpingTool::GetInstance()->UpdateShow();
+	CShuangpingTool::GetInstance()->Init();
 
     CPaintManagerUI::MessageLoop();