Вывод формы с различными разрешениями экрана.

При проектировании форм часто бывает полезным предусмотреть ситуацию, когда форма и находящиеся на ней элементы управления должны иметь одинаковый размер вне зависимости от текущего разрешения экрана. Вот небольшой пример как можно это сделать:

implementation
const

ScreenWidth: LongInt = 800; {Я разрабатывал мою форму в режиме 800x600.}ScreenHeight: LongInt = 600;
{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
scaled := true;if (screen.width <> ScreenWidth) thenbeginheight := longint(height) * longint(screen.height) div ScreenHeight;width := longint(width) * longint(screen.width) div ScreenWidth;scaleBy(screen.width, ScreenWidth);end;end;

Затем, вероятно, вы захотите иметь нечто, проверяющее размер шрифтов, OK. Прежде, чем вы измените размер шрифта, вам необходимо убедиться, что объект имеет свойство font. Это может быть сделано следующим образом:

uses typinfo;

var
i: integer;begin
for
i := componentCount - 1 downtto 0 dowith components[i] dobeginif GetPropInfo(ClassInfo, 'font') <> nil thenfont.size := (NewFormWidth DIV OldFormWidth) * font.size;end;end;

Примечание: При разработке приложения для различных режимов разрешения вам необходимо учитывать следующие рекомендации:

[000626]