Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2012.02.19;
Скачать: CL | DM;

Вниз

Предосмотр картинки на форме   Найти похожие ветки 

 
Laguna ©   (2011-11-10 16:44) [40]


> а зачем нужен размер всей формы? Достаточно знать размеры
> клиентской области

Ну это я все из той оперы, что высчитав размер картинки подгоняю под нее форму, чтобы якобы красиво упакована картинка была при просмотре.

procedure TGladImageFrm.ShowImage;
begin
 Im_W := Image1.Picture.Width; {ширина картинки}
 Im_H := Image1.Picture.Height; {высота картинки}
 F_CW := GladImageFrm.ClientWidth; {800 - ширина формы}
 F_CH := GladImageFrm.ClientHeight;{600 - высота формы}

 if Im_W < Im_H then
  Ratio := Trunc(600 * Im_W/Im_H)
 else
  Ratio := Trunc(800 * Im_H/Im_W);

 if (Im_W < F_CW) and (Im_H < F_CH) then
  begin
    GladImageFrm.ClientWidth := Im_W;
    GladImageFrm.ClientHeight := Im_H;
  end
 else
  if (Im_W < F_CW) and (Im_H > F_CH) then
   GladImageFrm.ClientWidth := Trunc(Ratio)
 else
  if (Im_W > F_CW) and (Im_H < F_CH) then
   GladImageFrm.ClientHeight := Trunc(Ratio)
 else
  if (Im_W > F_CW) and (Im_H > F_CH) and (Im_W < Im_H) then
   GladImageFrm.ClientWidth := Trunc(Ratio)
 else
  if (Im_W > F_CW) and (Im_H > F_CH) and (Im_W > Im_H) then
   GladImageFrm.ClientHeight := Trunc(Ratio)
 else
  if (Im_W = F_CW) and (Im_H <> F_CH) then
   begin
      {Еще не придумал}
   end;
 left := (Screen.Width div 2) - (Width div 2);
 top  := (Screen.Height div 2) - (Height div 2);
end;


В этом коде tit максимайз не обработан, точнее размер картинки и формы при максимайзе.



Страницы: 1 2 вся ветка

Текущий архив: 2012.02.19;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.015 c
15-1319830330
ваще
2011-10-28 23:32
2012.02.19
Программист, кто он?


3-1272022775
Kobylyansky
2010-04-23 15:39
2012.02.19
Firebird+тип сервера


2-1320915674
alex-2011h
2011-11-10 13:01
2012.02.19
Секционированный DbGrid


15-1320279321
KilkennyCat
2011-11-03 03:15
2012.02.19
налоговый кодекс


2-1320878543
DolboBoB
2011-11-10 02:42
2012.02.19
Как правильно вывести в DBGrid таблицу? BDE.