⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 geologworkspace.cpp

📁 类似flashget下载工具代码 本来想在完善了上传的
💻 CPP
字号:
// GeoLogWorkSpace.cpp : implementation file
//

#include "stdafx.h"
#include "MyInsaneBT.h"
#include "GeoLogWorkSpace.h"
#include "MainFrm.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CGeoLogWorkSpace

CGeoLogWorkSpace::CGeoLogWorkSpace()
{
	m_wndTab = NULL;
	m_Visable = FALSE;
	m_Event = ::CreateEvent(NULL, TRUE, FALSE, NULL);
}

CGeoLogWorkSpace::~CGeoLogWorkSpace()
{
	::CloseHandle(m_Event);
}


BEGIN_MESSAGE_MAP(CGeoLogWorkSpace, CBCGPDockingControlBar)
	//{{AFX_MSG_MAP(CGeoLogWorkSpace)
		// NOTE - the ClassWizard will add and remove mapping macros here.
		ON_WM_CREATE()
		ON_WM_SIZE()
		ON_WM_ERASEBKGND()
	//}}AFX_MSG_MAP
	ON_MESSAGE(WM_SWITCH_PAND,OnSwitchPand)
    ON_MESSAGE(WM_CREATETAB,OnCreateTabs)
    ON_MESSAGE(WM_SETTESTSERVER,OnWriteTestSerLog)
	ON_MESSAGE(WM_SETTHREADLOG,OnWriteThreadLog)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CGeoLogWorkSpace message handlers
	 
int CGeoLogWorkSpace::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
       
    if (CBCGPDockingControlBar::OnCreate(lpCreateStruct) == -1)
		return -1;
	
	CRect rectDummy;
	rectDummy.SetRectEmpty();
	if(!m_wndTab) 
	{   
        m_wndTab = new CBCGPTabWnd();
		m_wndTab->Create (CBCGPTabWnd::STYLE_3D,rectDummy, this, 1,
	                      CBCGPTabWnd::LOCATION_BOTTOM);
	
	}
    

 
	m_Listbox.Create(WS_CHILD | WS_VISIBLE,CRect (0, 0, 0, 0),m_wndTab, 1);
    m_wndTab->AddTab (&m_Listbox, "下载信息", 0, FALSE);
//    CFont   font;   
//    font.CreateFont(   
//        10,                                                
//        0,                                                  
//        0,                                                   
//        0,                                                   
//        FW_NORMAL,                                   
//        FALSE,                                        
//        FALSE,                                         
//        0,                                                
//        ANSI_CHARSET,                          
//        OUT_DEFAULT_PRECIS,               
//        CLIP_DEFAULT_PRECIS,             
//        DEFAULT_QUALITY,                        
//        DEFAULT_PITCH|FF_SWISS,     
//        "宋体");                                   

  
     //m_Listbox.SetFont(&font);    


    return 0;
}
void CGeoLogWorkSpace::OnSize(UINT nType, int cx, int cy)
{
    
    CBCGPDockingControlBar::OnSize(nType, cx, cy);
   
	m_wndTab->SetWindowPos (NULL, -1, -1, cx, cy,
		                    SWP_NOMOVE|SWP_NOACTIVATE | SWP_NOZORDER);
	
    
	
}

void CGeoLogWorkSpace::OnSwitchPand(WPARAM wp,LPARAM lp)
{
     
	/*****************************************
     int Index = (int)wp;
     CRect rect;
	 GetWindowRect(&rect);
	 switch(Index)
	 {
	   
	 case 1:
		 {
		  
         m_wndPeerlist.ShowWindow(SW_HIDE);
		 m_wndLoglist.ShowWindow(SW_HIDE);
		 m_wndList.SetWindowPos (NULL, -1, -1, rect.Width(), rect.Height(),
		                    SWP_NOMOVE|SWP_NOACTIVATE | SWP_NOZORDER);
	
	     m_wndList.ShowWindow(SW_SHOW);


		 }break;
     case 2:
		 {
		 
         m_wndList.ShowWindow(SW_HIDE);
		 m_wndLoglist.ShowWindow(SW_HIDE);
		 m_wndPeerlist.SetWindowPos (NULL, -1, -1, rect.Width(), rect.Height(),
		                    SWP_NOMOVE|SWP_NOACTIVATE | SWP_NOZORDER);
	
	     m_wndPeerlist.ShowWindow(SW_SHOW);
		 }
		 break;
     case 3:
		 {
		 m_wndList.ShowWindow(SW_HIDE);
		 m_wndPeerlist.ShowWindow(SW_HIDE);
		 m_wndLoglist.SetWindowPos (NULL, -1, -1, rect.Width(), rect.Height(),
		                    SWP_NOMOVE|SWP_NOACTIVATE | SWP_NOZORDER);
	
	     m_wndLoglist.ShowWindow(SW_SHOW);
		 }
		 break;
	 case 4:
		 {
		    
		 }
		 break;
     default:
		 {}
	 }
    *********************************/
}

BOOL CGeoLogWorkSpace::OnEraseBkgnd(CDC* pDC)
{
   	CRect rect;
	GetClientRect(&rect);
	CBrush brush(RGB(255,255,255));
	pDC->FillRect(&rect,&brush);
    return CBCGPDockingControlBar::OnEraseBkgnd(pDC);
}


BOOL CGeoLogWorkSpace::create_thread_tab(int tab_num)
{
	return TRUE;
}


void CGeoLogWorkSpace::OnCreateTabs(WPARAM wp,LPARAM lp)
{

    CRect rectDummy;
	rectDummy.SetRectEmpty();
	const DWORD dwViewStyle = WS_CHILD | WS_VISIBLE;
    CString Text,t = _T("线程"),p;
	int tab_num = 5;
	if(!m_wndTab) 
	{   
        m_wndTab = new CBCGPTabWnd();
		m_wndTab->Create (CBCGPTabWnd::STYLE_3D_VS2005,rectDummy, this, 1,
	                      CBCGPTabWnd::LOCATION_BOTTOM);
	
	}
    if(m_wndTab->GetSafeHwnd()==NULL)
	   return;
	
	for(int i=0;i<tab_num;i++)
	{
	   CListBox* listbox = new CListBox();
	   listbox->Create(dwViewStyle,rectDummy,m_wndTab,i+2);
	   Text.Format("%d",i+1);
	   Text = t + Text; 
       m_wndTab->AddTab (listbox, Text, i+1, FALSE);
	   m_threadtab.push_back(listbox);
	   Text = "";
	   
	}


    m_Visable = TRUE;
	SetEvent(m_Event);
    return;

}

void CGeoLogWorkSpace::OnWriteTestSerLog(WPARAM wp,LPARAM lp)
{
   
     LPTestSrvLog LPLog = (LPTestSrvLog)lp;
     CString Text,t;
     t.Format("%d",LPLog->Num);
     Text = t + _T(":") + LPLog->log;
     m_Listbox.AddString(Text);
	 m_Listbox.SendMessage(WM_VSCROLL,SB_BOTTOM ,0);//wm_vscroll
     delete LPLog;

}

void CGeoLogWorkSpace::OnWriteThreadLog(WPARAM wp,LPARAM lp)
{
     LPTestSrvLog LPlog = (LPTestSrvLog)lp;
     CListBox* listbox =  m_threadtab[LPlog->Num];
     listbox->AddString(LPlog->log);

	 delete LPlog;
	 LPlog = NULL;

}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -