Показать сообщение отдельно
  #7  
Старый 15.02.2014, 11:58
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Цитата:
Сообщение от nixon232
Да я не думаю, что у меня сложный случай, но что-то не могу понять...
имхо... В корне не верный подход. Возник вопрос, а что будет с расположением и размером этих многочисленных элементов на форме, если, к примеру, у КП (юзера) в системе установлен крупный шрифт или разрешение отличное вверх от разрешения разработчика? Невозможно просчитать все варианты, надоест, чтоб оно нормально масштабировалось, такое надо картинкой рисовать и забыть о визуальных компонентах.

Максимум, что здесь подходит, так это расчитать расположение всех составляющих под два варианта мелкого и крупного шрифта в Create формы
Код:
procedure TForm1.FormCreate(Sender: TObject);
 function SmallFonts : BOOLEAN;
 var
  DC : HDC;
 begin
  DC := GetDC(0);
  Result := (GetDeviceCaps(DC, LOGPIXELSX) = 96);
  ReleaseDC(0, DC);
 end;
begin
 if SmallFonts then
  begin
// под мелкий шрифт
Panel1.Width:= 25; 
...
  end else
   begin
// под другой
Panel1.Width:= 27; 
...
   end;
end;
и вообще запретить изменять размеры формы посредством WMGetMinMaxInfo. Свобода и удобство - это хорошо, но практичность и простота при разработке лучше. Овчинка выделки не стоит: пол кода, а может и больше, будет в одних расчётах положения...
Ответить с цитированием