x := GetSystemMetrics(SM_CXSCREEN);
y := GetSystemMetrics(SM_CYSCREEN);
//程序运行时获取目标机器的屏幕分辨率
if (x >800)
//目标机器的屏幕分辨率与作者机器的屏幕分辨率不同
{
// frmWxht.Height = (frmWxht->Height*x) / 640;
// frmWxht.Width = (frmWxht->Width*y ) / 800;
Form1.ScaleBy(x,800);
//调用窗体的scaleBy函数,将窗体大小变为初始大小的x/ ScreenHeight倍。
//这是本程序的关键技巧,同时缩放的包括窗体上各组件和字体。
}
以上代码在普通窗体的create实践中正常运行,但我如果把该窗体设置为mdi子窗体,且动态创建,则报错,经跟踪,出错再scaleby语句。
请指点。
y := GetSystemMetrics(SM_CYSCREEN);
//程序运行时获取目标机器的屏幕分辨率
if (x >800)
//目标机器的屏幕分辨率与作者机器的屏幕分辨率不同
{
// frmWxht.Height = (frmWxht->Height*x) / 640;
// frmWxht.Width = (frmWxht->Width*y ) / 800;
Form1.ScaleBy(x,800);
//调用窗体的scaleBy函数,将窗体大小变为初始大小的x/ ScreenHeight倍。
//这是本程序的关键技巧,同时缩放的包括窗体上各组件和字体。
}
以上代码在普通窗体的create实践中正常运行,但我如果把该窗体设置为mdi子窗体,且动态创建,则报错,经跟踪,出错再scaleby语句。
请指点。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货