Visual C++中建立滚动视窗
2008-11-14 19:33:35 来源:WEB开发网核心提示:滚动视窗在应用程序中十分有用,它可以使用户看到比显示器屏幕还大的窗口,Visual C++中建立滚动视窗,下面有一个建立滚动视窗的实例,在该例中,因此,用户只需找到这些框架加入代码即可,不仅滚动条会与视窗相连,而且HOME、PAGE DOWN、PAGE UP和END方向键会与视窗相连
滚动视窗在应用程序中十分有用,它可以使用户看到比显示器屏幕还大的窗口。下面有一个建立滚动视窗的实例,在该例中,不仅滚动条会与视窗相连,而且HOME、PAGE DOWN、PAGE UP和END方向键会与视窗相连。现将本例中需用到的函数和类作一些必要的说明。
CscrollView类: | 它是从Cview类派生出来的,可以支持窗口的滚动。 |
GetsystemMetrics函数: | 它是Window中的函数,可以返回Windows显示屏幕的高度和宽度。 |
OnCreate函数: | 若Windows发送调用。每次应用要求创建一个窗口时,WM-CREATE消息都会被发送。在本例中,Onc WM-CREATE消息,在本例中,Oncreate函数完成一些字初始化操作,如:设置窗口的大小,页的大小和滚动行的大小。 |
SetScrollSizes | 它是滚动视窗在初始阶段必要的CscrollView类的成员函数。 |
CSize totalSize=CSize(::GetSystemMetrics(SM-CXSCREEN)*3,
::GetSystemMetrics(SM-CYSCREEN)*3);
CSize pageSize=CSize(totalSize.cx/3,totalSize.cy/3);
CSize lineSize=CSize(totalSize.cx/10 otalSize.cy/100);
SetScrollSizes(MM-TEXT,totalSize,pageSize,lineSize);
在OnKeyDowm函数中加入代码:switch(nChar){
case VK-HOME:
OnScroll(SB-VERT,SB-TOP,0);
OnScroll(SB-HORZ,SB-TOP,0);
break;
case VDK-END:
OnScroll(SB-VERT,SB-BOTTOM,0);
break;
case VK-UP:
OnScroll(SB-VERT,SB-LINEUP,0);
break;
case VK-DOWN:
OnScroll(SB-VERT,SB-LINEDOWN,0);
break;
case VK-PRIOR;
OnScroll(SB-VERT,SB-PAGEUP,0);
break;
case VK-NEXT;
OnScroll(SB-VERT,SB-PAGEDOWN,0);
break;
case VK-LEFT;
OnScroll(SB-HORZ,SB-PAGEUP,0);
break;
case VK-RIGHT;
OnScroll(SB-HORZ,SB-PAGEDOWN,0);
break;
default:
break;
}
在OnDraw函数中加入以下代码来代替OnDraw函数中原来的代码:int x=::GetSystemMetrics(SM-CXSCREEN);
int y=::GetSystemMetrics(SM-CYSCREEN);
pDC-$#@62;SelectStockObject(GRAY-BRUSH);
pDC-$#@62;Rectangle(CRect(x-300,y-300,x+300,y+300));
5、创建,执行程序,在Visual Workench中,在Project菜单中选择Build,然后再选择Execute,程序就会在滚动视窗中显示一个大的正方形,用户可以通过滚动条和HOME等方向键来观察它。
- ››Visual Basic 2008 数学函数
- ››Visual Studio2005中Smart Device的问题
- ››Visual Studio 中根据数据库字段动态生成控件
- ››Visual Studio 11全新黑色主题
- ››Visual Studio 2011 Beta新特性(一):安装VS201...
- ››建立唯美图片特效,十个jQuery插件分享
- ››Visual Studio自定义调试窗体两个小技巧
- ››Visual Studio 2005 Team Edition for Database P...
- ››Visual C#两分钟搭建BHO IE钩子
- ››建立自己的TextView和ImageView的组合View类
- ››Visual C++优化对大型数据集合的并发访问
- ››VISUAL C++中的OCX控件的使用方法
赞助商链接