菜鸟求教:利用CView 来绘图,如何改变CView的大小而不影响Frame 的大小(当然Frame上会出现滚动条)??
菜鸟求教:
MFC,我在SDI中用CSplitterWnd分割了左右两个窗口,其中右边为CView,现想利用CView 的CDC来绘图,请问用什么方法可以改变CView的大小?我希望不影响Frame 的大小,当然Frame上会出现滚动条。
再有,如何是利用CDC来画图的话,有没有比CView更合适的View?
问题点数:100、回复次数:10Top
1 楼ExitWindows(void)回复于 2002-02-02 21:02:46 得分 0
用SetViewPortOrg(), 可乎??Top
2 楼ExitWindows(void)回复于 2002-02-02 21:26:50 得分 0
用SetViewPortOrg不行,为什么View加不上滚动条呢?
我用了EnableScrollBar()也不行。Top
3 楼ahphone(阿丰--重出江湖,陌生的容颜)回复于 2002-02-02 21:33:53 得分 90
从CScrollView继承就会有滚动条了Top
4 楼ExitWindows(void)回复于 2002-02-02 21:49:59 得分 0
谢谢。
可是我从CScrollView继承的话,在分割窗口的时候总会有RUNTIME_CLASS方面的错误。Top
5 楼ahphone(阿丰--重出江湖,陌生的容颜)回复于 2002-02-02 21:55:26 得分 0
你分割窗口时的几个FORMVIEW(如果有的话)的基类是不是搞成dialog了?
有错误就调试贝。Top
6 楼ExitWindows(void)回复于 2002-02-02 22:07:50 得分 0
老大,我刚才专门做了一个未分割窗的SDI,用了CScrollView,还是没有滚动条。
在什么情况下CScrollView才会出现滚动条?Top
7 楼ahphone(阿丰--重出江湖,陌生的容颜)回复于 2002-02-02 22:15:34 得分 0
void CMyView::OnInitialUpdate ()
{
CScrollView::OnInitialUpdate ();
SetScrollSizes (MM_LOENGLISH, CSize (850, 1100),
CSize (200, 200), CSize (25, 25));
}
Top
8 楼joshua0137(joshua)回复于 2002-02-02 22:34:58 得分 10
CView does not have scrollbars, you can use CScrollViewTop
9 楼ExitWindows(void)回复于 2002-02-02 22:38:56 得分 0
ahphone:
我在未分割窗口的SDI下已经试成功了,但一分窗口,把CScrollView作为右侧窗口,以下代码就会出错,
CScrollView *pView = (CScrollView*)this->GetActiveView();
CSize sizePage(300,400), sizeLine(10,10);
pView->SetScrollSizes(MM_TEXT,CSize(10000,10000),sizePage,sizeLine);
GetParentFrame()->RecalcLayout();
pView->ResizeParentToFit(FALSE);
以上代码是在按下某一菜单后执行。能帮忙检查一下吗?Top
10 楼ExitWindows(void)回复于 2002-02-02 22:43:31 得分 0
我找到了,应该先把该窗口SetActiveView()才行。
谢谢。Top




