更改单文档下的对话框的显示范围

来源:互联网 发布:潘海利根小众香水 知乎 编辑:程序博客网 时间:2024/06/05 21:18

(1)在当文档下的对话框所对应的view类中,添加OnSize()函数。

     注:在该VIEW类的属性对话框中,选择“消息”下的 VM_SIZE即可添加OnSize函数。

(2)在OnSize函数中添加如下代码:

     this->MoveWindow(5,5,500,300);//设置在不移动滚动条的情况下,对话框能显示的大小。

     SetScrollSizes(MM_TEXT,CSize(600,500));//加上滚动条后,总共能显示的对话框的部分。

     即可完成题目所述功能。

     关于上述函数说明:

            1.MoveWindow函数为设置对话框的显示部分的大小和位置。第1、2个参数为我们要变化的对话框的初始坐标,我们可以将其放到我们希望出现的地方,该2个参数为         相对坐标,即若希望对话框出现在VIEW区的最左上角,则为(0,0)。

            2. SetScrollSizes函数为设置滚动调的部分。MM_TEXT不用变。CSize函数的两个参数为加上滚动条后,总共显示的大小(可能小于原本对话框的大小)。若不需要滚       动条 则输入以下代码:

     SetScrollSizes(MM_TEXT,CSize(0,0));

            3.举例,如图:

         

                                                                                     图1

           

                                                                                 图2


           

           对话框的实际大小为图1所示。

          此时在对话框的类中做了前述更改,在OnSize函数中加入了如下代码:

           this->MoveWindow(5,5,500,300);

           SetScrollSizes(MM_TEXT,CSize(550,600));

           注:1.此对话框实际大小如图1,尺寸为628*716。

                   2.整个对话框在视图区从坐标为(5,5)的点开始绘制。

                   3.此时,不移动滚动条能看到的尺寸为500*300(MoveWindow中规定)。

                   4.加上移动滚动条总共能看到的尺寸为550*600(SetScrollSizes中规定)。


完结。


0 0