我做的Delphi 程序 是在 1280*800 分辨率下的,但把程序放到 1024*800 或者800*600 下 界面变得就不好看,
请问如何解决??谢谢!
请问如何解决??谢谢!
解决方案 »
- delphi根据数据库服务器时间来限制软件使用的问题,请教!
- 关于DELPHI多个窗口的问题
- 网上还没发现正解,实在困扰,来此一问。Delphi调用DLL后,退出程序报错的问题。
- 请问这个问题如何解决??
- DELPHI发布程序
- FastReport如何实现下面的功能?
- 在如何在模态窗口(showmodal)中动态删除动态生成的控件?
- 公开我的LexLib库源码和DEMO,散分
- 紧急:IXMLNode除了使用chridList.Delete功能外,有没有直接删除指定结点的方法?
- 求救!我运行 Web App Debugger(Default URL : http://localhost:1024/ServerInfo.ServerInfo) 后 ,不小心把ServerInfo.ServerInfo 清
- delphi按钮问题
- 如何启动带参数的程序!
1、给程序设定一个分辨率,如1280*800,使程序始终运行在这个分辨率下
具体做法是:程序运行时,先查看当前系统分辨率,若与设定的不一样,就更改系统分辨率。程序关闭后,将系统分辨率还原为原来的值。缺点:程序会有1秒钟的黑屏,影响视觉
2、针对不同的分辨率,用scaleby对窗体进行缩放
procedure TmainFRM.FormCreate(Sender: TObject);
if(Screen.width<>1024)then //在这里进行分辨率的调整,调成1024*768的
begin
change:=true;
flag:=EnumDisplaySettings(nil,0,DevMode); //取得旧的显示参数
if flag then
begin
screenWidth:=getdevicecaps(GetDc(0),HORZRES);
screenHeigth:=getdevicecaps(GetDc(0),VERTRES);
screenFrequency:=getdevicecaps(getdc(0),VREFRESH);
DevMode.dmFields:=DM_PELSWIDTH Or DM_PELSHEIGHT or DM_DISPLAYFREQUENCY;
DevMode.dmPelsWidth:=1024;
DevMode.dmPelsHeight:=768;
DevMode.dmDisplayFrequency:=screenFrequency;
ChangeDisplaySettings(DevMode,0); //设置新的显示参数
end;
end
else
change:=false;
procedure TmainFRM.FormDestroy(Sender: TObject); //在这里恢复原来的分辨率
var
flag:boolean;
DevMode:Tdevmode;
begin
if change then
begin
flag:=EnumDisplaySettings(nil,0,DevMode); //取得旧的显示参数
if flag then
begin
DevMode.dmFields:=DM_PELSWIDTH Or DM_PELSHEIGHT or DM_DISPLAYFREQUENCY;
DevMode.dmPelsWidth:=screenWidth;
DevMode.dmPelsHeight:=screenHeigth;
DevMode.dmDisplayFrequency:=screenFrequency;
ChangeDisplaySettings(DevMode,0); //设置新的显示参数
end;
end;
end;