窗体控件大小(0分)

K

kongfei

Unregistered / Unconfirmed
GUEST, unregistred user!
我的显示器一般设置为800*600,可是改成1024*768后,发现窗体上的控件大小
不能随窗体而改变,变小了,这可怎么办?
 
---- 一、 根 据 新 的 分辨 率 自 动 重 画 表 单 及 控 件
先 在 表 单 单 元 的Interface 部 分 定 义 两 个 常 量, 表 示 设 计 时 的 屏幕 的 宽 度 和 高 度( 以 像 素 为 单 位)。 在表 单 的Create 事 件 中 先 判 断 当 前 分 辨 率 是否 与 设 计 分 辨 率 相 同, 如 果 不 同, 调 用表 单 的SCALE 过 程 重 新 能 调 整 表 单 中 控 件的 宽 度 和 高 度。

Const
Orignwidth=800;
Orignheight=600;
procedure TForm1.FormCreate(Sender: TObject);
begin
scaled:=true;
if (screen.width<>orignwidth) then
begin
height:=longint(height)*longint
(screen.height) div orignheight;
width:=longint(width)*longint
(screen.width) div orignwidth;
scaleby(screen.width
orignwidth);
end;
end;

---- SCALE 过 程 在 调 整控 件 宽 度 和 高 度 的 同 时, 也 自 动 调 整控 件 字 体 的 大 小,以 适 应 新 的 分 辨 率,但 美 中 不 足 的 是 它 并 不 改 变 控 件 的 顶点 坐 标 位 置, 也 就 是 说, 该 过 程 不 改 变控 件 之 间 的 相 对 位 置 关 系。 要 想 调 整控 件 之 间 的 选 队 相 对 位 置, 还 需 要 自己 编 程 实 现, 有 兴 趣 的 读 者 可 试 一 试。
 
不好意思,没分了
 
顶部