📄 geologworkspace.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 + -