1、首先打开微信开发者工具,新建一个小程序。
2、page目录下新建一个test目录和相关页面文件。打开app.json文件,将test页面路径放置到index前面。
3、单个view居中:点击打开test.wxml页面代码,输入图中的代码内容。给view设置一个class。
4、点击打开test.wxss文件,这里设置元素样式。输入下面图中的样式代码,可以实现view中文字内容居中。
5、最后打开test.wxss文件,设置viewin的样式代码,如图中所示。实现内部的view相对于外层的view居中显示。
如有开发需要,例如如自己写个小软件什么的,需要在对话框程序中使用到view类,但是有不想view类中带有doc类,可以用以下的做法:① 从view类中继承一个CXXXView类
② 重写如下几个函数:OnMouseActivate、PostNcDestroy、OnActivateFrame
其中OnMouseActivate函数要修改成返回基类处理的结果
int CXXXView::OnMouseActivate(CWnd* pDesktopWnd, UINT nHitTest, UINT message)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
return CWnd::OnMouseActivate(pDesktopWnd, nHitTest, message)
// return CRichEditView::OnMouseActivate(pDesktopWnd, nHitTest, message)
}
void CPiaoDbgEditView::PostNcDestroy()
{
// TODO: 在此添加专用代码和/或调用基类
//CRichEditView::PostNcDestroy()
}
void CPiaoDbgEditView::OnActivateFrame(UINT nState, CFrameWnd* pDeactivateFrame)
{
// TODO: 在此添加专用代码和/或调用基类
//CRichEditView::OnActivateFrame(nState, pDeactivateFrame)
}
而PostNcDestroy、OnActivateFrame则改为空函数
③ 关键在这里,在CXXXView类创建一个CreateFromDlg函数,用于创建View窗口
其中使用了View类的Create方法
BOOL CXXXView::CreateFromDlg(UINT nID, CWnd* pParentWnd)
{
if (!pParentWnd || !pParentWnd->GetSafeHwnd())
{
return FALSE
}
//......此处省略若干代码
this->Create(NULL, NULL, nStyle, rect, pParentWnd, nID, NULL)
//......此处省略若干代码
}
④ 最后,看看从view类派生出来的类中,构造函数和析构函数都是protect的,当然要
改成public的了,不然外部用不了。
这样一来,在对话框类中中 CXXXView m_xxxView,再调用m_xxxView.Create(...)就可以动态创建View类窗口了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)