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

📄 glidemenuview.cpp

📁 随着计算机信息技术的飞速发展
💻 CPP
字号:
// GlideMenuView.cpp : CGlideMenuView 类的实现
//

#include "stdafx.h"
#include "GlideMenu.h"

#include "GlideMenuDoc.h"
#include "GlideMenuView.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif


// CGlideMenuView

IMPLEMENT_DYNCREATE(CGlideMenuView, CView)

BEGIN_MESSAGE_MAP(CGlideMenuView, CView)
	ON_COMMAND(ID_130, On130)
END_MESSAGE_MAP()

// CGlideMenuView 构造/销毁

CGlideMenuView::CGlideMenuView()
{
	// TODO: 在此处添加构造代码

}

CGlideMenuView::~CGlideMenuView()
{
}

BOOL CGlideMenuView::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: 在此处通过修改 CREATESTRUCT cs 来修改窗口类或
	// 样式

	return CView::PreCreateWindow(cs);
}

// CGlideMenuView 绘制

void CGlideMenuView::OnDraw(CDC* /*pDC*/)
{
	CGlideMenuDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);

	// TODO: 在此处为本机数据添加绘制代码
}


// CGlideMenuView 诊断

#ifdef _DEBUG
void CGlideMenuView::AssertValid() const
{
	CView::AssertValid();
}

void CGlideMenuView::Dump(CDumpContext& dc) const
{
	CView::Dump(dc);
}

CGlideMenuDoc* CGlideMenuView::GetDocument() const // 非调试版本是内联的
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CGlideMenuDoc)));
	return (CGlideMenuDoc*)m_pDocument;
}
#endif //_DEBUG

// CGlideMenuView 消息处理程序

#include "myview.h"
void CGlideMenuView::On130()
{	//滑动面板
	// TODO: 在此添加命令处理程序代码
	LPCTSTR tip0[]={"文件","打开","保存","修改"};
	LPCTSTR tip1[]={"设置","窗口","最大化"};
	LPCTSTR tip2[]={"其它","帮助","版本","运行","关闭"};
	RECT rect;
	
	SetRect(&rect,10,10,240,189);
	InitPanels(rect,tip0,sizeof(tip0)/sizeof(tip0[0]),
		tip1,sizeof(tip1)/sizeof(tip1[0]),
		tip2,sizeof(tip2)/sizeof(tip2[0]),0);
}

int CGlideMenuView::InitPanels(RECT& rect,LPCTSTR* first,int count,...)
{
	int bottom,cx,cy,w,h,n,i;
	CMyView* pMyView;
	LPCTSTR* tip;
	va_list list;
	CSize size;
	BOOL br;
	
	w=rect.right-rect.left;
	h=rect.bottom-rect.top;
	pMyView=new CMyView(m_hWnd,w,h);

	size.cx=size.cy=100;
	pMyView->SetScrollSizes(MM_TEXT,size);
	br=pMyView->Create(0,0,WS_VISIBLE|WS_CHILD,rect,this,0x201);

	i=0;
	bottom=0;
	va_start(list,first);
	tip=first;
	while(tip)
	{
		n=va_arg(list,int);
		bottom=pMyView->AddPanel(i++,tip,n,bottom);
		tip=va_arg(list,LPCTSTR*);
	}
	va_end(list);

	cx=w-(20+2);
	cy=bottom;
	pMyView->ResizeView(cx,cy,w,h);

	return(i);
}


LRESULT CGlideMenuView::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
	// TODO: 在此添加专用代码和/或调用基类
	if(WM_CLICKTEXT==message)
	{
		LPTSTR pTip=(LPTSTR)wParam;
		AfxMessageBox(pTip);
	}
	else if(WM_NCMOUSEMOVE==message)
	{
		mouse_event(MOUSEEVENTF_LEFTDOWN,1,1,0,0);
		mouse_event(MOUSEEVENTF_LEFTUP,1,1,0,0);
	}
	
	return CView::WindowProc(message, wParam, lParam);
}

⌨️ 快捷键说明

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