800X600下做的界面如何在1024X768下面正常显示
解决方案 »
- hook到了本进程的webbrowser的RegQueryValueEx函数。
- 怎么得出250了?
- 关于实例占用内存的大小Sizeof
- DBLookupComboBox 问题!!!!!!
- delphi6的问题 解决者有分
- 非常急的问题---请问DCOM能否通过Internet进行远程调用的!
- 我是新手,快帮帮我!
- Listview,DBGRID怎样分页显示!在线等待!
- 画线条时我的坐标不是整数怎么处理?请进来看看
- 请教:请问如何将一txt文件(包括有中文、英文、日文和各种符号)中的所有内容COPY到MEMO控件中
- 现分结账
- 请问DELPHI5企业版28M的补丁文件和DELPHI5企业版ADO补丁2网络里最快的下载地址在哪里?
实在需要的话,可以在form的create事件里写出form及各个要显示的控件的适合1024x768的wideth和height
在onresize事件中写一个控件跟随窗口调整的代码就可以搞定了
哈哈!!!!
我的方法根据高手的指点定义两个全局变量。SCREENX,SCREENY:INTEGER;
procedure Tmainwinform.FormCreate(Sender: TObject);
var
sx, sy: Integer;
DevMode: TDeviceMode;
begin
sx := GetSystemMetrics(SM_CXSCREEN); //分辨率宽
sy := GetSystemMetrics(SM_CYSCREEN); //分辨率高
//用于在程序结束时把分辨率 改回原始状态
screenx := sx; //分辨率宽
screeny := sy; //分辨率高
if (sx <> 800) and (sy <> 600) then
begin
DevMode.dmFields := DM_PELSWIDTH or DM_PELSHEIGHT;
DevMode.dmPelsWidth := 800;
DevMode.dmPelsHeight := 600;
ChangeDisplaySettings(DevMode,0); //设置新的显示参数
end;
程序关闭时把分辨率修改为原来状态:
procedure Tmainwinform.FormClose(Sender: TObject;
var Action: TCloseAction);
var
sx, sy: Integer;
DevMode: TDeviceMode;
begin
sx := GetSystemMetrics(SM_CXSCREEN); //分辨率宽
sy := GetSystemMetrics(SM_CYSCREEN); //分辨率高
if (sx <> screenx) and (sy <> screeny) then
begin
DevMode.dmFields := DM_PELSWIDTH or DM_PELSHEIGHT;
DevMode.dmPelsWidth := screenx;
DevMode.dmPelsHeight := screeny;
ChangeDisplaySettings(DevMode,0); //设置新的显示参数
end;
actiON:=cafree;
end;