小编Ruu*_*itz的帖子

在Delphi 7中使用TScreen

我的Delphi-7应用程序显示:

Screen.DesktopWidth  
Screen.DesktopHeight  
Screen.Monitors[0].Width  
Screen.Monitors[0].Height  
Run Code Online (Sandbox Code Playgroud)

并且,如果选择了第二台显示器,还:

Screen.Monitors[1].Width  
Screen.Monitors[1].Height  
Run Code Online (Sandbox Code Playgroud)

随着应用程序在我的WinXP-Pro PC上运行,我转到控制面板/显示/设置,并更改第二台显示器的设置(添加或删除它).

然后,我单击"刷新"按钮以显示4(或6)个参数的新值,并发生意外情况:Screen.DesktopWidth和Screen.DesktopHeight显示正确的新值,但其他2(或4)的值参数非常错误.

像Screen.Monitors [0] .Width = 5586935,而它应该是1680.

在Delphi 7中使用TScreen是否有一些特殊规则?

delphi delphi-7

7
推荐指数
1
解决办法
4038
查看次数

Delphi 7中Application.OnActivate的意外行为

我写了一个D7应用程序来测试Application.OnActivate的行为.
这是相关部分:

procedure TMainForm.FormCreate (Sender: TObject);
begin
Memo1.Lines.Add (IntToStr (Memo1.Lines.Count + 1) + ' - MainForm.FormCreate - Begin');

  Application.OnActivate := AppActivate;

Memo1.Lines.Add (IntToStr (Memo1.Lines.Count + 1) + ' - MainForm.FormCreate - End');
end;


procedure TMainForm.AppActivate (Sender: TObject);
begin
Memo1.Lines.Add (IntToStr (Memo1.Lines.Count + 1) + ' - MainForm.AppActivate - Begin');

  ShowWidthsHeights (Sender);

Memo1.Lines.Add (IntToStr (Memo1.Lines.Count + 1) + ' - MainForm.AppActivate - End');
end;


procedure TMainForm.ShowWidthsHeights (Sender: TObject);

begin
Memo1.Lines.Add (IntToStr (Memo1.Lines.Count + 1) + ' - MainForm.ShowWidthsHeights -     Begin');

Memo1.Lines.Add …
Run Code Online (Sandbox Code Playgroud)

delphi delphi-7

7
推荐指数
1
解决办法
1390
查看次数

标签 统计

delphi ×2

delphi-7 ×2