Консультация № 121786
05.02.2008, 17:29
0.00 руб.
0 3 3
Здравствуйте!
Вопросов много!
1) так, при запуске программы форма разворачивается на весь экран) этого добилась)
НО!
у меня на форме ещё
2 Image , которые тоже должны развернуться но только первая- на полэкрана. вторая- на оставшуюся соответственно!
2) так, а как сделать, чтоб кнопки прилипли к верхнему левому углу???????????
и можно тоже самое сдлеать с Image!
3) нифига не поняла!а)
как сделать, чтоб рисунки на фому считывались не из Bin, не каждый ж раз мне их туда перед просмотром сохранять
б)как на форму заргузить картинку. чтоб она сжалась или растянулась( промасштабировалась) на размер формы!!!

Обсуждение

Неизвестный
05.02.2008, 18:09
общий
это ответ
Здравствуйте, Надежда Сергеевна!
>> как на форму заргузить картинку. чтоб она сжалась или растянулась( промасштабировалась) на размер формы!!!

-надежда нужно установить следующие параметры у объекта image: Align(alClient) и Stretch(true)
Неизвестный
05.02.2008, 19:59
общий
это ответ
Здравствуйте, Надежда Сергеевна!
<i>Про Image:</i>
Чтобы разместить два Image, которые будут растягиваться на половину формы при изменении ее размера, необходимо сделать следующее:
1. разместить на форме оба компонента image
2. левому установить Align=AlLeft, правому Align=AlClient
3. В событии OnResize формы пишите следующий код:<code>procedure TForm1.FormResize(Sender: TObject);
begin
image1.Width := form1.Width div 2;
end;</code>
Теперь при загрузке программы Image-ы будут растягиваться на половину формы.
Также советую выставить Image.Proportional = true, чтобы загруженные рисунки были пропорциональны настоящим, а не вытягивались.

<i>2) так, а как сделать, чтоб кнопки прилипли к верхнему левому углу???????????</i>
Разместите кнопки в левом верхнем углу формы. Они при мастабировании формы не меняют свое местоположение.

Удачи!
давно
Профессионал
153662
1070
08.02.2008, 13:05
общий
это ответ
Здравствуйте, Надежда Сергеевна!
3б). Масштабирование рисунка и загрузка на форму:

Приложение:
function paintboxDestRect(bmp:TBitMap): TRect;var w, h, cw, ch: Integer; xyaspect: Double;begin w := bmp.Width; h := bmp.Height; cw := form1.ClientWidth; ch := form1.ClientHeight; if ((w > cw) or (h > ch)) then begin if (w > 0) and (h > 0) then begin xyaspect := w / h; if w > h then begin w := cw; h := Trunc(cw / xyaspect); if h > ch then // woops, too big begin h := ch; w := Trunc(ch * xyaspect); end; end else begin h := ch; w := Trunc(ch * xyaspect); if w > cw then // woops, too big begin w := cw; h := Trunc(cw / xyaspect); end; end; end else begin w := cw; h := ch; end; end; if ((w < cw) or (h < ch)) then begin w := cw; h := ch; end; with Result do begin Left := 0; Top := 0; Right := w; Bottom := h; end; OffsetRect(Result, (cw - w) div 2, (ch - h) div 2);end;procedure TForm1.Button9Click(Sender: TObject);var bitmap:TBitmap;begin bitmap:=Tbitmap.Create; bitmap.LoadFromFile(‘E:\Documents and Settings\Женя\Рабочий стол\Новая папка (5)\badkitty3.bmp‘); form1.Canvas.StretchDraw(paintboxDestRect(bitmap),bitmap); bitmap.Free;end;
Об авторе:
Мои программы со статусом freeware для Windows на моём сайте jonix.ucoz.ru

Форма ответа