![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TImage не растягивается вслед за формой...
R_R © (2011-07-18 04:57:00)TImage имеет свойство alClient и не растягивается при изменении размеров формы... Что не так?
MBo (2011-07-18 08:07:00) [1]>Это?
Да
R_R (2011-07-18 07:28:00) [2]MBo © (18.07.11 07:22) [12]
Это?
img1.Picture.Bitmap.Width := ClientWidth;
img1.Picture.Bitmap.Height:= ClientHeight;
Вроде всё заработало.. Спасибо...
MBo (2011-07-18 07:22:00) [3]>Так Bitmap я потом рисую заново
Рисование тут ни при чем
R_R (2011-07-18 07:12:00) [4]MBo © (18.07.11 06:58) [10]
Так Bitmap я потом рисую заново, после изменения размеров...
Самое интересное со Stretch'ем после изменения всего этого вызываю по onClick
img1.Canvas.Rectangle(2,2,img1.ClientWidth-2, img1.ClientHeight-2);
и вместо рамки рисуется только один угол. То есть Image растянулся за пределы Form'ы!!! Хотя стоит alClient
MBo (2011-07-18 06:58:00) [5]Уже сказали ведь - при изменении размеров TImage размер его битмапа автоматически не меняется. Надо руками.
R_R (2011-07-18 05:50:00) [6]Хотя тоже неверно, при малых значениях - тот же глюк...
R_R (2011-07-18 05:46:00) [7]Моя гипотеза: что Image нельзя растянуть больше определенного размера...
R_R (2011-07-18 05:28:00) [8]Без Stretch
http://webfile.ru/5443613
Со Stretch
http://webfile.ru/5443614
R_R (2011-07-18 05:25:00) [9]Сейчас выложу скрины
R_R (2011-07-18 05:23:00) [10]Вот вызов процедуры
Item_size := StrToInt(Trim(InputBox('Piece size', 'Enter size of one piece:', IntToStr(Item_size))));
frmMain.Width := Item_size*Size_W + 50;
frmMain.Height:= Item_size*Size_H + 50;
frmMain.DrawBoard(YourColorWhite);
Вот прорисовка (DrawBoard):
for i := 1 to SIZE_W do
for j := 1 to SIZE_H do
Rectangle((i-1)*ITEM_SIZE+25, (j-1)*ITEM_SIZE, i*ITEM_SIZE+25, j*ITEM_SIZE);
Германн (2011-07-18 05:21:00) [11]
> R_R (18.07.11 05:12) [2]
>
> Германн © (18.07.11 05:07) [1]
> Cудя по всему не растягивается, так как в процедуре после
> изменения размеров формы вызывается прорисовка
Значит ошибка в "прорисовке".
Других вариантов нет!
По крайней мере до тех пор, пока не приведешь воспроизводимый код, который докажет сей глюк.
R_R (2011-07-18 05:18:00) [12]А вообще может и нет -сейчас посмотрю...
R_R (2011-07-18 05:12:00) [13]Германн © (18.07.11 05:07) [1]
Cудя по всему не растягивается, так как в процедуре после изменения размеров формы вызывается прорисовка... А если Stretch то часть изображения вообще выскакивает за пределы формы...
Германн (2011-07-18 05:07:00) [14]TImage-то наверняка растягивается, а вот сама картинка...
Stretch = True