您的位置:首页 > 其它

对话框中添加视图方法- CScrollView

2011-10-14 10:54 405 查看
对话框中使用视图方法
今天工作过程中,又遇到了显示图片问题,为此把以前的代码整理一下,通过使用自定义的类继承CScrollView类,是图片或文字等等能够通过滑块进行自动操作显示。记录查询~~

步骤:

1、建立基本对话框程序,添加一个static控件。

2、添加自定义MFC类CMyView继承CScrollView类。

3、在CMyView添加接口创建显示view窗口

//nidstatic控件资源ID

CreateFromCtrl(UINTnID,CWnd*pParent)

{

if(!pParent||!pParent->GetSafeHwnd())
returnFALSE;
CWnd*pCtrl=pParent->GetDlgItem(nID);
if(!pCtrl)
returnFALSE;
CRectrcCtrl;
pCtrl->GetWindowRect(rcCtrl);
pParent->ScreenToClient(rcCtrl);
UINTstyle=::GetWindowLong(pCtrl->GetSafeHwnd(),GWL_STYLE);
pCtrl->DestroyWindow();
//设置默认滚动条大小
//一定要设置哦,在创建之前,否侧出错地,正常使用时控制滚动条大小,可以从外面调用设置此接口。
SetScrollSizes(MM_TEXT,CSize(10,10));
returnCreate(NULL,NULL,style|WS_CHILD|WS_VISIBLE,rcCtrl,pParent,nID,NULL);

}

4、重写以下两个接口voidCMyView::PostNcDestroy()
{
//TODO:在此添加专用代码和/或调用基类
//CMyView::PostNcDestroy();
}
voidCMyView::OnDestroy()
{
//CMyView::OnDestroy();
//TODO:在此处添加消息处理程序代码
CWnd::OnDestroy();
}
BOOLCMyView::OnEraseBkgnd(CDC*pDC)
{
//TODO:在此添加消息处理程序代码和/或调用默认值
returntrue;
returnCMyView::OnEraseBkgnd(pDC);
}

5、然后在继承的类里面做自己想要显示的事情即可。


结语:vc6.0-vs2008测试通过~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐