www.pudn.com > 多文档Raclient.zip > RaChildFrame.cpp


// RaChildFrame.cpp : implementation file 
// 
 
#include "stdafx.h" 
#include "Raclient.h" 
#include "RaChildFrame.h" 
#include "MainFrm.h" 
#ifdef _DEBUG 
#define new DEBUG_NEW 
#undef THIS_FILE 
static char THIS_FILE[] = __FILE__; 
#endif 
 
///////////////////////////////////////////////////////////////////////////// 
// CRaChildFrame 
//extern HANDLE gEven; 
 
IMPLEMENT_DYNCREATE(CRaChildFrame, CMDIChildWnd) 
 
CRaChildFrame::CRaChildFrame() 
{ 
} 
 
 
CRaChildFrame::~CRaChildFrame() 
{ 
} 
 
 
BEGIN_MESSAGE_MAP(CRaChildFrame, CMDIChildWnd) 
	//{{AFX_MSG_MAP(CRaChildFrame) 
	ON_WM_CREATE() 
	ON_NOTIFY(TCN_SELCHANGE, IDC_TAB_INFO, OnSelchangeTabInfo) 
	//}}AFX_MSG_MAP 
END_MESSAGE_MAP() 
 
///////////////////////////////////////////////////////////////////////////// 
// CRaChildFrame message handlers 
 
int CRaChildFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)  
{ 
	if (CMDIChildWnd::OnCreate(lpCreateStruct) == -1) 
		return -1; 
	 
	// TODO: Add your specialized creation code here 
	//创建对话条 
	if(!m_wndBar.Create(this,IDD_DIALOGBAR,WS_CHILD|WS_VISIBLE| 
		CBRS_BOTTOM|CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY |  
		CBRS_SIZE_DYNAMIC,IDD_DIALOGBAR)) 
	{ 
		TRACE0("Failed to create dialogbar\n"); 
		return -1;      // fail to create 
	} 
	//操纵对话条上的CTabCtrl控件 
	CTabCtrl * ptab=(CTabCtrl *)m_wndBar.GetDlgItem(IDC_TAB_INFO); 
	ptab->InsertItem(0,"操作信息"); 
	ptab->InsertItem(1,"历史纪录"); 
	ptab->SetImageList(&((CMainFrame *)AfxGetMainWnd())->m_imageList); 
     
    TC_ITEM item; 
    item.mask = TCIF_IMAGE; 
	item.iImage = 6; 
    ptab->SetItem (0, &item ); 
	item.iImage = 7; 
    ptab->SetItem (1, &item ); 
 
	//隐藏和显示CListBox控件 
	CListBox * plistInfo = (CListBox*)m_wndBar.GetDlgItem(IDC_LIST_INFO); 
	plistInfo->SetWindowPos(NULL,0,0,GetSystemMetrics(SM_CXSCREEN)-11,75,SWP_NOMOVE|SWP_NOZORDER | SWP_NOACTIVATE|SWP_SHOWWINDOW); 
 
	CListBox * plistHistory = (CListBox*)m_wndBar.GetDlgItem(IDC_LIST_HISTORY); 
	plistHistory->SetWindowPos(NULL,0,0,GetSystemMetrics(SM_CXSCREEN)-11,75,SWP_NOMOVE|SWP_NOZORDER | SWP_NOACTIVATE|SWP_HIDEWINDOW); 
	return 0; 
} 
 
void CRaChildFrame::Msg(CString str) 
{ 
	CListBox * plistInfo = (CListBox*)m_wndBar.GetDlgItem(IDC_LIST_INFO); 
	SYSTEMTIME tm; 
	GetLocalTime(&tm); 
	CString time; 
	time.Format(_T(" %d年%d月%d日 %d时:%d分:%d秒"), tm.wYear,tm.wMonth,tm.wDay,tm.wHour, tm.wMinute,tm.wSecond); 
	plistInfo->AddString(time+"        "+str); 
	int numList=plistInfo->GetCount()-1; 
	plistInfo->SetTopIndex(numList); 
	plistInfo->SetCurSel(numList); 
 
	//水平滚动 
/*	int max_width=0; 
	CSize sz; 
	CClientDC dc(this); 
	for(int i=0;iGetCount();i++) 
	{ 
		plistInfo->GetText(i,str); 
		sz=dc.GetTextExtent(str); 
		if(max_widthSendMessage(LB_SETHORIZONTALEXTENT,max_width,0); 
*/ 
 
} 
 
void CRaChildFrame::OnSelchangeTabInfo(NMHDR* pNMHDR, LRESULT* pResult)  
{ 
	// TODO: Add your control notification handler code here 
 
	CTabCtrl * ptab=(CTabCtrl *)m_wndBar.GetDlgItem(IDC_TAB_INFO); 
	CListBox * plistHistory = (CListBox*)m_wndBar.GetDlgItem(IDC_LIST_HISTORY); 
	CListBox * plistInfo = (CListBox*)m_wndBar.GetDlgItem(IDC_LIST_INFO); 
	int currenttab=ptab->GetCurSel();	 
	UINT currentWin=((CMainFrame*)AfxGetMainWnd())->m_currentwin; 
	if(currenttab==0) 
	{	 
		plistInfo->ShowWindow(SW_SHOW);; 
		plistHistory->ShowWindow(SW_HIDE); 
	} 
	else 
	{ 
		plistHistory->ShowWindow(SW_SHOW); 
		plistInfo->ShowWindow(SW_HIDE); 
	} 
 
	plistHistory->ResetContent(); 
	plistHistory->AddString("当前没有历史纪录"); 
	//程序中没有添加历史纪录 
 
 
//	*pResult = 0; 
} 
 
void CRaChildFrame::MsgDel() 
{ 
	CListBox * plistInfo = (CListBox*)m_wndBar.GetDlgItem(IDC_LIST_INFO); 
	int numList=plistInfo->GetCount()-1; 
	plistInfo->DeleteString(numList); 
}