自适应分辨率?(50分)

  • 主题发起人 主题发起人 haloon
  • 开始时间 开始时间
H

haloon

Unregistered / Unconfirmed
GUEST, unregistred user!
我看过书上有关于自适应分辨率窗体的内容,但结果不尽人意,我须要每天个控件都能自适应分辨率,请问如何写代码呢?
 
ScaleBy()

不过控件的大小可以适应,但字体不尽人意
要完全自适应,好象得自己写了,包括各控件的位置,大小,字体大小等,可能很麻烦
 
用控件PERFECTSIZEVCL,在WWW。PLAYICQ。COM上有下载
 
function DynamicResolution(X, Y: word): BOOL;
var
lpDevMode: TDeviceMode;
begin
Result := EnumDisplaySettings(nil, 0, lpDevMode);
if Result then
begin
lpDevMode.dmFields := DM_PELSWIDTH Or DM_PELSHEIGHT;
lpDevMode.dmPelsWidth := X;
lpDevMode.dmPelsHeight := Y;
Result := ChangeDisplaySettings(lpDevMode, 0) = DISP_CHANGE_SUCCESSFUL;
end
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
if DynamicResolution(640, 480) then
ShowMessage('Now is 640*480');
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
if DynamicResolution(800, 600) then
ShowMessage('Now is 800*600');
end;
 
后退
顶部