Prechádzať zdrojové kódy

1、map的赋值方式,不要使用second来赋值

Jeff 6 rokov pred
rodič
commit
238ec823a2

+ 10 - 0
source/hook/WeChats/WeChatsDlg.cpp

@@ -189,7 +189,17 @@ void CWeChatsDlg::OnBtnClickedWxName(UINT uID)
 		return;
 	}
 
+	m_wxMgr.GetButton(m_wxMgr.m_mapIds[lastID])->SetCheck(FALSE);
+	m_wxMgr.GetWxChatWnd(m_wxMgr.m_mapIds[lastID])->ShowWindow(SW_HIDE);
 	// 单击了则显示当前微信窗口,隐藏上一个;
+	CButtonST *pButton = m_wxMgr.GetButton(m_wxMgr.m_mapIds[uID]);
+	CStatic *pWxChatWnd = m_wxMgr.GetWxChatWnd(m_wxMgr.m_mapIds[uID]);
+	CWxObject *pWxObject = m_wxMgr.GetWxObject(m_wxMgr.m_mapIds[uID]);
+
+	pButton->SetCheck(TRUE);
+	pWxChatWnd->ShowWindow(SW_SHOW);
+
+	lastID = uID;
 }
 
 HBRUSH CWeChatsDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)

+ 4 - 2
source/hook/WeChats/WxMgr.cpp

@@ -35,7 +35,8 @@ DWORD CWxMgr::GetFreeButtonId(DWORD dwProcId)
 		// 判断进程id是否为0;
 		if ( ids.second == 0 )
 		{
-			ids.second = dwProcId;
+			//ids.second = dwProcId;// 赋值无效;
+			m_mapIds[ids.first] = dwProcId;
 			return ids.first;
 		}
 	}
@@ -141,11 +142,12 @@ VOID CWxMgr::AddMapItem(DWORD dwProcId, LPCTSTR lpItemName)
 	//wxObjInfo.pWxButton->DrawTransparent();
 	wxObjInfo.pWxButton->SetIcon(ICON_CHECK);
 	wxObjInfo.pWxButton->ShowWindow(SW_SHOW);
+	wxObjInfo.pWxButton->SetCheck(FALSE);
 
 	// 创建聊天窗口;//Id使用进程id;
 	wxObjInfo.pWxChatWnd = new CStatic();
 	wxObjInfo.pWxChatWnd->Create(lpItemName, WS_CHILD | WS_VISIBLE | WS_TABSTOP | SS_GRAYRECT, m_rcWxShow, m_pMainWnd, dwProcId);
-	wxObjInfo.pWxChatWnd->ShowWindow(SW_SHOW);
+	wxObjInfo.pWxChatWnd->ShowWindow(SW_HIDE);
 
 	// 附加到窗口;
 	wxObjInfo.pWxObject->InjectDynamicLibrary();