如题!帮帮忙!
解决方案 »
- 怎么能够通过鼠标钩子知道某个应用程序窗体上的控件属于哪个窗体?谢谢各位!
- 怎么得到光驱的路径?急!在线等!
- ★★★请问我用Delphi Formatter Expert来格式化我的代码格式,为什么进入delphi时提示i/o error 103,急呀,谢谢!!★★★
- 如何让TStringGrid 的cell高亮显示?-----告知答案绝对给分
- Delphi对Clob字段的存取
- 小问题
- 关于生成曲线
- 关于excel数据的导入和导出
- 请问怎样用QuickReport打印预览DBGrid的数据呢?
- 关于自定义函数 一个判空的自定义函数
- 大家一起谈谈开发电子显示屏时的一些思路和注意事项
- 如何把图片存储到Sql里面的某个字段里面?
begin
if not assigned(Form2) then
begin
Form2 := TForm2.Create(self);
Form2.Show;
end
else
begin
Form2.Free;
Form2 := Nil;
end;
end;
我的方法根据高手的指点定义两个全局变量。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 <> 1024) and (sy <> 768) then
begin
DevMode.dmFields := DM_PELSWIDTH or DM_PELSHEIGHT;
DevMode.dmPelsWidth := 1024;
DevMode.dmPelsHeight := 768;
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;
贴子贴错地方了,不好意思。
hd: THandle;
begin
Hd := FindWindow (nil,form.caption);
if Hd > 0 then
窗体没关闭
else
窗体关闭了;
end;