4.5--如何给一个对话框加入预览区域?
来源:互联网 发布:人民日报数据库账号 编辑:程序博客网 时间:2024/04/30 07:20
在对话框预览区域内动态的显示用户动作的结果可以使应用程序更加生动,更加吸引人,而且这样看起来也更加专业,具体的实现步骤如下代码:
第一步:在对话框里添加一个Picture控件以标示预览区域,将该控件的风格设置为"Frame 、Black、不选Visible"
第二步:用ClassWizard为Picture控件添加一个Control类型的变量m_DrawArea
CStatic m_DrawArea;
第三步:用ClassWizard为对话框添加一个WM_PAINT消息处理函数,该函数实现在预览区内绘画。
第四步:手工增加RedrawArea帮助函数来强制刷新区域,为了防止闪烁,该函数只刷新占位符区域,而不是整个对话框窗口,该函数实现如下:
第五步:当用户改变对话框内相关的数据时调用RedrawArea()函数,实现动态更新对话框的预览区域
如果要显示位图,使用与下面EkDrawBitmap()函数相似的代码:
CRect::DeflateRect
void DeflateRect( int x, int y );
void DeflateRect( SIZE size );
void DeflateRect( LPCRECT lpRect );
void DeflateRect( int l, int t, int r, int b );
参数:
x指定缩小CRect的左和右边的单位数。
y指定缩小CRect的上、下边的单位数。
size一个指定缩小CRect的单位数的SIZE或CSize。cx值指定缩小左、右边的单位数,cy指定缩小上、下边的单位数。
lpRect指向一个RECT结构或CRect,指定缩小每一边的单位数。
l指定缩小CRect左边的单位数。
t指定缩小CRect上边的单位数。
r指定缩小CRect右边的单位数。
b指定缩小CRect下边的单位数。
说明:
DeflateRect通过将CRect的边向其中心移动来缩小它。为了做到这一点,DeflateRect将单位数增加到矩形的左边和上边,从右边和下边减去单位数。DeflateRect的参数是有符号的值;正值缩小CRect,而负值则放大它。
前两个重载函数使CRect相对的两对边都缩小,因此CRect的总宽度减小了两倍x(或cx),总高度减小了两倍y(或cy)。其它两个重载函数使CRect的边相对独立的缩小。
UpdateWindow
BOOL UpdateWindow(HWND hWnd);
描述:
这个 UpdateWindow 函数通过发送重绘消息 WM_PAINT 给目标窗体来更新目标窗体客户区的无效区域。如果那个窗体的无效区域没有,就不发送重绘消息 WM_PAINT 了 。注意了,这个 API 函数是直接发送消息 WM_PAINT 给目标窗体的,没有进入过消息队列。
函数参数:
hWnd 一个要更新的窗体的句柄
函数返回值:
如果函数调用成功,返回值为非零值。
如果函数调用不成功,返回值为零。
- 4.5--如何给一个对话框加入预览区域?
- 如何给基于对话框的应用程序加入一个工具栏?
- 给对话框程序加入背景图片
- MFC对话框中如何给一个edit文本框赋初值?
- 如何给图片加入水印
- 在一个DataGrid中加入一个DropDownList后如何给DropDownList赋值
- 如何在对话框中加入TOOLBAR?
- 如何在对话框中加入状态条?
- 如何在对话框中加入菜单栏?
- 如何在对话框中加入工具条
- 如何在对话框中加入超链接
- 如何给对话框添加背景图片
- 如何给对话框添加背景图片
- 如何给对话框添加位图
- vc6.0如何把一个对话框编辑框的值传递给另外一个对话框编辑框
- 如何编译一个对话框
- 给自定义Dialog加入保留对话框值的功能
- 给自定义Dialog加入保留对话框值的功能
- 使用jxl,Servlet,JSP 动态生成excel文件并提示下载的简单方法
- 元素的尺寸和位置
- 测试数据生成工具TestDataBuilder、DBmonster、dataFactory试用中
- 历史轨迹回放
- do while
- 4.5--如何给一个对话框加入预览区域?
- 弹出UAC窗体,以管理员权限运行程序
- unigine游戏引擎
- js实现省市联动效果
- 泛型工厂类
- Linux ubuntu设置root密码
- memcached
- PMD规则之Basic Rules
- 试题库