All articles(网络文学目录) All Pictures(图片目录) All Softwares(软件目录)

 
delphi设置窗口范围

Writer: aaa Article type: Programming skills(编程技巧) Time: 2014/7/19 0:13:32 Browse times: 370 Comment times: 0

delphi设置窗口范围


Head photo

Go homepage
Upload pictures
Write articles

delphi设置窗口范围

设置窗口范围
SetWindowExtEx()和SetViewPortExtEx()函数可以定义Win32 将逻辑单位转换为设备单位的方式。这些函数只在窗口映射模式设为MM_ANISOTROPIC 或MM_ISOTROPIC 时才能使用,否则无效。因此,下面的代码的一个逻辑单位对应两个设备单位(像素):
SetWindowExtEx(Canvas.Handle,1,1,nil) ;
SetViewportExtEx(Caanvas.Handle,2,2,nil);
同样,下面的代码的5 个逻辑单位需要10 个设备单位:
SetWindowExtEx(Canvas.Handle,5,5,nil);
SetViewportExtEx(Canvas.Handle,10,10,nil);
注意,这与前面的例子完全一样。两者的逻辑与设备单位比都为1:2。
下面的例子可以用来改变窗体的单位:
SetWindowExtEx (Canvas.Handle, 500, 500, nil);
SetWindowExtEx (Canvas.Handle, ClientWidth, ClientHeight, nil);
注意,使用VCL 画布改变设备范围的映射模式是不稳定的,它可能恢复到原始状态。通常,映射模式必须由实际绘图句柄来设置。
这样,不管窗体的尺寸多大,上面的代码都让用户工作在客户区的宽度和高度为500×500 单位(不是像素)的窗体上。
SetWindowOrgEx()和SetViewportOrgEx()函数可重定位默认的原点(0,0)。此位置在MM_TEXT映射模式下位于窗体客户区左上角。通常情况下,只需要修改视区的原点。
例如执行下面的代码:
SetViewportOrgEx(Canvas.Handle,ClientWidthdiv2,ClientHeightdiv2,nil);
注意:传递给SetWindowOrgEx()、SetWindowExtEx()、SetViewportOrgEx 和SetViewportExtEx()的最后一个参数是nil。SetWindowOrgEx()和SetViewportOrgEx()函数需要传递一个TPoint 结构,用来保存上次设置的原点,以便必要时恢复设备环境的原点。另外,SetWindowExtEx()和SetViewportExtEx()函数需要传递一个TSize 结构,用于保存设备环境的原先范围。





There are 0 records,
Comment:
Must be registered users to comment(必须是注册用户才能发表评论)

Disclaimer Privacy Policy About us Site Map
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.