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