亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? basevarframe.cpp

?? 簡單的VisualC++關于視圖分割代碼
?? CPP
字號:
// CBaseVarFrame.cpp : implementation of the CBaseVarFrame class
//

#include "stdafx.h"
#include "resource.h"
#include "BaseVarFrame.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CBaseVarFrame
IMPLEMENT_DYNCREATE(CBaseVarFrame, CMDIChildWnd)

BEGIN_MESSAGE_MAP(CBaseVarFrame, CMDIChildWnd)
	//{{AFX_MSG_MAP(CBaseVarFrame)
	ON_COMMAND(ID_SPLITTER_UNO, OnSplitterUno)
	ON_UPDATE_COMMAND_UI(ID_SPLITTER_UNO, OnUpdateSplitterUno)
	ON_COMMAND(ID_SPLITTER_DUE, OnSplitterDue)
	ON_UPDATE_COMMAND_UI(ID_SPLITTER_DUE, OnUpdateSplitterDue)
	ON_COMMAND(ID_SPLITTER_TRE, OnSplitterTre)
	ON_UPDATE_COMMAND_UI(ID_SPLITTER_TRE, OnUpdateSplitterTre)
	ON_COMMAND(ID_SPLITTER_NESSUNO, OnSplitterNessuno)
	ON_UPDATE_COMMAND_UI(ID_SPLITTER_NESSUNO, OnUpdateSplitterNessuno)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CBaseVarFrame construction/destruction

CBaseVarFrame::CBaseVarFrame()
{
	// TODO: add member initialization code here
m_nStato = 0;
m_pwndSplitter = new CSplitterWnd;	
m_pwndSplitter1 = new CSplitterWnd;
 m_pClass = NULL;
m_pDefaultView = NULL;

}

CBaseVarFrame::~CBaseVarFrame()
{
	if (m_pwndSplitter)
		delete m_pwndSplitter;
	if (m_pwndSplitter1)
		delete m_pwndSplitter1;
}

BOOL CBaseVarFrame::OnCreateClient( LPCREATESTRUCT lpcs,
	CCreateContext* pContext)
{

 m_pDefaultView = pContext->m_pNewViewClass;
if (m_pClass == NULL)
OnConfigViews();
 if (!m_nStato)
	 return  CMDIChildWnd::OnCreateClient(lpcs,pContext);
	 CSize s3(0,lpcs->cy/m_nStato);
 	if (!m_pwndSplitter->CreateStatic (this, 1, 2))
				 return FALSE;
    if  (!m_pwndSplitter->CreateView (0,0,pContext->m_pNewViewClass,CSize (192, 0) , pContext))
    return FALSE;
	if (m_nStato > 1)
	{			 if (!m_pwndSplitter1->CreateStatic (m_pwndSplitter, m_nStato,1,WS_CHILD|WS_VISIBLE,m_pwndSplitter->IdFromRowCol(0,1)))
				return FALSE;
	for(int i=0;i<m_nStato;i++)
	m_pwndSplitter1->CreateView (i,0,m_pClass[i],s3,pContext);
}
 else if (!m_pwndSplitter->CreateView(0,1,m_pClass[0],CSize(0,0), pContext))
 return FALSE;
 return TRUE;
}

/////////////////////////////////////////////////////////////////////////////
// CBaseVarFrame diagnostics

#ifdef _DEBUG
void CBaseVarFrame::AssertValid() const
{
	CMDIChildWnd::AssertValid();
}

void CBaseVarFrame::Dump(CDumpContext& dc) const
{
	CMDIChildWnd::Dump(dc);
}

#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CBaseVarFrame message handlers

void CBaseVarFrame::OnSplitterUno() 
{
	// TODO: Add your command handler code here
if (m_nStato == 1)
return;
	m_nStato = 1;	
RebuildSpitter();
}

void CBaseVarFrame::OnUpdateSplitterUno(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
		pCmdUI->SetRadio(m_nStato == 1);
  pCmdUI->Enable(m_nClass > 0);
}

void CBaseVarFrame::OnSplitterDue() 
{
	// TODO: Add your command handler code here
if (m_nStato == 2)
return;
	m_nStato = 2;	
RebuildSpitter();

}

void CBaseVarFrame::OnUpdateSplitterDue(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
		pCmdUI->SetRadio(m_nStato == 2);
  pCmdUI->Enable(m_nClass > 1);

	
}

void CBaseVarFrame::OnSplitterTre() 
{
	// TODO: Add your command handler code here
if (m_nStato == 3)
return;
m_nStato = 3;
RebuildSpitter();	
	
}

void CBaseVarFrame::OnUpdateSplitterTre(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	pCmdUI->SetRadio(m_nStato == 3);
	  pCmdUI->Enable(m_nClass > 2);

}

void CBaseVarFrame::OnSplitterNessuno() 
{
	// TODO: Add your command handler code here
if (m_nStato == 0)
return;
m_nStato = 0;
     CView * pActiveView= GetActiveView();

    CDocument * pDoc= pActiveView->GetDocument();
		pDoc->m_bAutoDelete=FALSE;    
m_pwndSplitter1->DestroyWindow();
m_pwndSplitter->DestroyWindow();
 		delete m_pwndSplitter;
 		delete m_pwndSplitter1;
m_pwndSplitter = new CSplitterWnd;	
m_pwndSplitter1 = new CSplitterWnd;	

		pDoc->m_bAutoDelete=TRUE;    

   CCreateContext context;
   context.m_pNewViewClass= m_pDefaultView;
   context.m_pCurrentDoc=pDoc;
   context.m_pNewDocTemplate=NULL;
   context.m_pLastView=NULL;
   context.m_pCurrentFrame=NULL;


	CView* p = (CView*)CreateView(&context, AFX_IDW_PANE_FIRST);

	 SetActiveView(p);
   p->OnInitialUpdate();
	RecalcLayout();
 
}

void CBaseVarFrame::OnUpdateSplitterNessuno(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	pCmdUI->SetRadio(m_nStato == 0);
	
}

BOOL CBaseVarFrame::RebuildSpitter()
{
	CCreateContext context;
    CDocument * pDoc;
 if (m_pwndSplitter->m_hWnd == NULL)
 {
	 CRect r;
	 GetClientRect(r);
CREATESTRUCT s;
s.cy = r.bottom-r.top;
	 CView * pActiveView= GetActiveView();
     pDoc= pActiveView->GetDocument();
	pDoc->m_bAutoDelete=FALSE; 
	   pActiveView->DestroyWindow();
    pDoc->m_bAutoDelete=TRUE;

   context.m_pNewViewClass= m_pDefaultView;
   context.m_pCurrentDoc=pDoc;
   context.m_pNewDocTemplate=NULL;
   context.m_pLastView=NULL;
   context.m_pCurrentFrame=NULL;
  if (!OnCreateClient(&s,&context))
	  return FALSE;
   CView* pV = (CView *)m_pwndSplitter->GetPane(0,0);
   if (pV == NULL)
	   AfxMessageBox("null view");
  SetActiveView(pV);
     pV->OnInitialUpdate();
	 if (m_nStato == 1)
    {
	pV = (CView *)m_pwndSplitter->GetPane(0,1);
     pV->OnInitialUpdate();
	}
	else
		for(int i=0;i< m_nStato;i++)
    {
	pV = (CView *)m_pwndSplitter1->GetPane(i,0);
     pV->OnInitialUpdate();
	}
RecalcLayout();
  return TRUE;
}

 
   // Get pointer to CDocument object so that it can be used in the creation 
   // process of the new view

   CView * pActiveView= GetActiveView();
   if (pActiveView == NULL)
	   AfxMessageBox("noview");
CRect r;
  pActiveView->GetClientRect(r);
  CSize s3(0,0);
   if (m_nStato)
   s3.cy = (r.bottom-r.top)/m_nStato;

 pDoc= pActiveView->GetDocument();
   context.m_pNewViewClass= m_pClass[0];
   context.m_pCurrentDoc=pDoc;
   context.m_pNewDocTemplate=NULL;
   context.m_pLastView=NULL;
   context.m_pCurrentFrame=NULL;

    // set flag so that document will not be deleted when view is destroyed
	pDoc->m_bAutoDelete=FALSE;    
    // Delete existing view 
	int i;

   if (m_pwndSplitter1->m_hWnd)
	   m_pwndSplitter1->DestroyWindow();
  else
	{
   CView* pV = (CView *)m_pwndSplitter->GetPane(0,1);
   pV->DestroyWindow();
	 }

    pDoc->m_bAutoDelete=TRUE;
     if (m_nStato > 1)
	{
       delete m_pwndSplitter1;
	   m_pwndSplitter1 = new CSplitterWnd;	
		if (!m_pwndSplitter1->CreateStatic (m_pwndSplitter, m_nStato,1,WS_CHILD|WS_VISIBLE,m_pwndSplitter->IdFromRowCol(0,1)))
		return FALSE;
	 }
   
   context.m_pNewViewClass= m_pClass[0];
   context.m_pCurrentDoc=pDoc;
   context.m_pNewDocTemplate=NULL;
   context.m_pLastView=NULL;
   context.m_pCurrentFrame=NULL;
if (m_nStato > 1)
   for(i=0;i<m_nStato;i++)
  {
	   m_pwndSplitter1->CreateView(i,0,m_pClass[i],s3, &context);
 
   CView * pNewView= (CView *)m_pwndSplitter1->GetPane(i,0);
   
   	
   pNewView->OnInitialUpdate();
}
else
  {
	
		m_pwndSplitter->CreateView(0,1,m_pClass[0],s3, &context);
 
 		CView * pNewView= (CView *)m_pwndSplitter->GetPane(0,1);
 		pNewView->OnInitialUpdate();
   }
	 SetActiveView((CView*)m_pwndSplitter->GetPane(0,0));

	   m_pwndSplitter->RecalcLayout(); 
 if (m_nStato > 1)
	 m_pwndSplitter1->RecalcLayout(); 
 return TRUE;
}
	void CBaseVarFrame::ConfigViews(CRuntimeClass** pviews,int nviews,int InitialStato)
  {
		m_pClass = pviews;
		m_nClass = nviews;
        m_nStato = InitialStato;
		if (m_nStato >= m_nClass)
			m_nClass = 0;
	}
void CBaseVarFrame::OnConfigViews() 
{
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜影院久久久| 一区二区三区在线观看欧美| 欧美伦理视频网站| 欧美一区二区女人| 国产亚洲精品aa| 综合网在线视频| 日韩影院免费视频| 国内国产精品久久| 99久久婷婷国产| 欧美日韩国产乱码电影| 久久久久国产成人精品亚洲午夜| 国产精品福利一区二区| 婷婷丁香激情综合| 国产99久久精品| 欧美色视频在线观看| 久久综合色之久久综合| 亚洲欧美偷拍卡通变态| 日本午夜一本久久久综合| 国产成a人亚洲| 免费成人在线视频观看| 不卡电影免费在线播放一区| 欧美四级电影网| 国产午夜亚洲精品午夜鲁丝片| 亚洲激情图片小说视频| 久久精品久久综合| 色偷偷88欧美精品久久久| 日韩精品最新网址| 亚洲欧美日韩电影| 国产精品资源在线看| 欧美视频一区二区三区| 中文av字幕一区| 日本视频免费一区| k8久久久一区二区三区| 26uuu国产日韩综合| 亚洲综合一区二区三区| 高清日韩电视剧大全免费| 欧美老女人第四色| 亚洲免费观看在线视频| 国产九色sp调教91| 欧美一区二区视频在线观看2022| 国产精品国产三级国产三级人妇| 日韩国产精品久久久| 欧亚洲嫩模精品一区三区| 亚洲成人激情自拍| 波波电影院一区二区三区| 欧美成人a∨高清免费观看| 亚洲综合一区二区精品导航| 成人性视频网站| 精品黑人一区二区三区久久| 五月婷婷激情综合网| 91片在线免费观看| 国产精品久久久久影院亚瑟| 国产主播一区二区| 日韩欧美的一区二区| 亚洲成人免费影院| 欧美中文字幕一区二区三区 | 美腿丝袜在线亚洲一区| 91国偷自产一区二区开放时间| 国产欧美一区二区精品性色超碰| xvideos.蜜桃一区二区| 青青草成人在线观看| 欧美性猛交xxxxxx富婆| 亚洲男帅同性gay1069| 国产成人在线观看免费网站| 精品美女在线播放| 久久99精品一区二区三区| 91麻豆精品国产91久久久| 午夜影院久久久| 精品视频在线免费观看| 亚洲国产综合色| 欧美视频一二三区| 午夜不卡av在线| 欧美精品在线观看一区二区| 午夜精品影院在线观看| 欧美日韩成人综合天天影院| 久久99国产精品尤物| 欧美丝袜第三区| 亚洲午夜在线视频| 欧美精品在线一区二区三区| 日韩成人精品在线| 日韩亚洲欧美成人一区| 久久精品国产一区二区| 日韩精品一区二区在线| 韩国在线一区二区| 久久精品综合网| 成人性生交大片免费看中文网站| 亚洲欧洲日韩av| 久久久久久夜精品精品免费| 激情综合亚洲精品| 久久久国产精品不卡| 高清成人在线观看| 亚洲欧洲成人av每日更新| 色综合久久88色综合天天| 亚洲制服丝袜av| 欧美精选午夜久久久乱码6080| 男女性色大片免费观看一区二区 | 日韩精品一二三| 日韩精品一区二区三区在线| 国内一区二区视频| 国产精品久久久久久久久动漫| 一区二区三区在线观看国产| 欧美性生活久久| 免播放器亚洲一区| 国产日韩av一区二区| 91视频91自| 日韩精品电影一区亚洲| 久久综合久久综合久久综合| www.视频一区| 亚洲电影第三页| 精品国产乱码久久久久久牛牛| 懂色av中文一区二区三区| 一级中文字幕一区二区| 日韩女优制服丝袜电影| 成人综合在线观看| 亚洲第一激情av| 久久综合丝袜日本网| 中文字幕免费一区| 韩国av一区二区三区在线观看| 国产精品色在线| 欧美人成免费网站| 粉嫩久久99精品久久久久久夜| 一区二区国产盗摄色噜噜| 日韩欧美一区二区三区在线| 成人激情小说网站| 日韩黄色一级片| 国产精品欧美极品| 91精品午夜视频| 成人综合日日夜夜| 麻豆精品久久久| 亚洲国产日韩a在线播放性色| 亚洲综合久久久| 欧美精品一区二区三区视频| 色综合色狠狠天天综合色| 另类小说图片综合网| 亚洲欧美日韩中文播放| 日韩欧美久久一区| 色久优优欧美色久优优| 狠狠色伊人亚洲综合成人| 一区二区在线观看不卡| 久久人人超碰精品| 欧美日本在线视频| www.av精品| 激情综合一区二区三区| 亚洲成人av中文| 国产精品久久久久aaaa樱花| 日韩欧美中文字幕一区| 在线观看网站黄不卡| 风间由美一区二区av101| 日韩成人免费电影| 欧美精品乱码久久久久久按摩| 成人av资源网站| 精品无人区卡一卡二卡三乱码免费卡| 一区二区三区四区精品在线视频| 久久综合色天天久久综合图片| 8x8x8国产精品| 91色视频在线| 成人美女在线观看| 国产乱人伦偷精品视频不卡| 日韩专区一卡二卡| 亚洲一二三专区| 亚洲三级久久久| 中文一区在线播放| 久久综合资源网| 精品国产一区二区国模嫣然| 欧美高清视频不卡网| 在线看日韩精品电影| 亚洲欧洲日韩一区二区三区| 欧美在线观看禁18| 91麻豆高清视频| 波多野结衣欧美| 成人91在线观看| 成人免费毛片app| 国产成人综合视频| 国产成人在线视频网站| 国产在线视频不卡二| 久久99精品国产麻豆婷婷 | 4438x成人网最大色成网站| 欧美亚洲尤物久久| 在线观看不卡一区| 91美女视频网站| 99国产精品99久久久久久| 欧美三级在线看| 久久精品视频一区| 久久九九99视频| 国产欧美va欧美不卡在线| 久久蜜桃av一区二区天堂| 亚洲精品在线观看视频| 精品福利二区三区| 久久精品亚洲麻豆av一区二区 | 一区二区三区在线视频播放| 怡红院av一区二区三区| 亚洲精品ww久久久久久p站| 亚洲伊人伊色伊影伊综合网| 亚洲乱码中文字幕| 亚洲综合激情另类小说区| 性做久久久久久久免费看| 视频在线在亚洲| 久久免费看少妇高潮| 日韩欧美一级在线播放| 精品国产一区二区国模嫣然|