这是网上打到的别人的实现效果:
int CHDPaintPView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CScrollView::OnCreate(lpCreateStruct) == -1)
return -1;
// TODO: Add your specialized creation code here
m_tracker.m_rect.SetRect(0,0,GetDocument()->m_cavasW,GetDocument()->m_cavasH);
m_tracker.m_nStyle = CRectTracker::resizeOutside;
// 此外必须为指针,如果为变量程序会崩溃
m_drawView = new CHDPaintView();
if (!m_drawView->CreateEx(WS_EX_LEFT | WS_EX_LTRREADING | WS_EX_RIGHTSCROLLBAR,
AfxRegisterWndClass(CS_VREDRAW | CS_HREDRAW,LoadCursor(NULL,IDC_CROSS),
(HBRUSH)GetStockObject(WHITE_BRUSH),NULL),
"",WS_CHILDWINDOW | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS,
m_tracker.m_rect.left,m_tracker.m_rect.top,
m_tracker.m_rect.right-1,m_tracker.m_rect.bottom-1,
this->m_hWnd,NULL))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
m_drawView->SetDocument((CHDPaintDoc*)m_pDocument);
m_drawView->ShowWindow(SW_NORMAL);
m_drawView->UpdateWindow(); SetClassLong(m_hWnd,GCL_HBRBACKGROUND,(long)GetStockObject(GRAY_BRUSH));
return 0;
}
原来的作者是自己实现了一个类,用来实现画布,但我在自己的程序中用了他的代码,却没有效果。
区别是,他的程序是一个单文档程序,我的是多文档的。我不清楚还需要在哪里修改?
程序是的ChildFrame、View、MainFrame中的哪一个?或者是Doc类。。
int CHDPaintPView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CScrollView::OnCreate(lpCreateStruct) == -1)
return -1;
// TODO: Add your specialized creation code here
m_tracker.m_rect.SetRect(0,0,GetDocument()->m_cavasW,GetDocument()->m_cavasH);
m_tracker.m_nStyle = CRectTracker::resizeOutside;
// 此外必须为指针,如果为变量程序会崩溃
m_drawView = new CHDPaintView();
if (!m_drawView->CreateEx(WS_EX_LEFT | WS_EX_LTRREADING | WS_EX_RIGHTSCROLLBAR,
AfxRegisterWndClass(CS_VREDRAW | CS_HREDRAW,LoadCursor(NULL,IDC_CROSS),
(HBRUSH)GetStockObject(WHITE_BRUSH),NULL),
"",WS_CHILDWINDOW | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS,
m_tracker.m_rect.left,m_tracker.m_rect.top,
m_tracker.m_rect.right-1,m_tracker.m_rect.bottom-1,
this->m_hWnd,NULL))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
m_drawView->SetDocument((CHDPaintDoc*)m_pDocument);
m_drawView->ShowWindow(SW_NORMAL);
m_drawView->UpdateWindow(); SetClassLong(m_hWnd,GCL_HBRBACKGROUND,(long)GetStockObject(GRAY_BRUSH));
return 0;
}
原来的作者是自己实现了一个类,用来实现画布,但我在自己的程序中用了他的代码,却没有效果。
区别是,他的程序是一个单文档程序,我的是多文档的。我不清楚还需要在哪里修改?
程序是的ChildFrame、View、MainFrame中的哪一个?或者是Doc类。。
解决方案 »
- 谁有读取DXF的比较好的VC++代码或其他代码?
- [求助]基于非模态对话框的应用程序如何中止?!
- 请问windows的exe文件的图标信息保存在哪儿?是在exe里面吗?
- 想开始学多线程,怎么开始啊!
- 谁有InstallShield developer 7的序列号给一个,谢谢
- 内存中的位图修改
- 怎样才能将vfw捕获的位图从中扣出一部分,并将其直接存成jpeg格式。
- 使用api将客户区域的图像生成一张位图
- 那里能搞到Visual FoxPro 写的人事管理的原代码,师弟毕业设计,急需,高分答谢,其它代码也行,只要完整
- 用InstallShield制作驱动安装包,驱动没有安装成功
- DialogBox创建的对话框上面创建子控件怎么写?
- 打印预览怎么预览整个视图
用双缓冲效果更佳,CRectTracker纯粹用来实现拉伸效果。