Форум: "Начинающим";
Текущий архив: 2012.02.19;
Скачать: [xml.tar.bz2];
ВнизПредосмотр картинки на форме Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.004 c