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

Вниз

При изменении размера формы теряется рисунок на Image   Найти похожие ветки 

 
Ira   (2005-01-20 14:54) [0]

Кто подскажет!
На форме есть image.
При create на image рисуется сетка,
но при изменении размеров формы сетка не перерисовывается на
весь экран.
Как поступить?
Спасибо!


 
Antonn ©   (2005-01-20 14:59) [1]

При каких событиях рисуется первоначальная сетка и на чем(Image1.Picture.Bitmap.Canvas и image1.canvas немного разные вещи)? И вообще, что значит

> но при изменении размеров формы сетка не
>перерисовывается на
> весь экран.


 
Ira   (2005-01-20 15:05) [2]

Рисуется на image1.Canvas.
Нужно чтобы при изменении размеров формы image тоже изменял свои размеры под форму и как бы заново рисовалась сетка но уже на разтянутом image.


 
Ira   (2005-01-20 15:07) [3]

Вооьще рисую я так:
for i:=1 to form1.Width do begin
image1.Canvas.MoveTo(x+i*10,0);
image1.canvas.LineTo(x+i*10,Image1.Height);
end;
for j:=1 to form1.Height do begin
image1.Canvas.MoveTo(0,y+j*10);
image1.canvas.LineTo(image1.Width,y+j*10);
end;
Может подскажете более рациональный способ рисования сетки на image?


 
Ira   (2005-01-20 15:08) [4]

Вооьще рисую я так:
for i:=1 to form1.Width do begin
image1.Canvas.MoveTo(x+i*10,0);
image1.canvas.LineTo(x+i*10,Image1.Height);
end;
for j:=1 to form1.Height do begin
image1.Canvas.MoveTo(0,y+j*10);
image1.canvas.LineTo(image1.Width,y+j*10);
end;
Может подскажете более рациональный способ рисования сетки на image? А то с этим проблемки.


 
Knight ©   (2005-01-20 15:58) [5]

Используй не TImage, а TPaintBox рисуй сетку в onPaint...


 
antonn ©   (2005-01-20 15:58) [6]


> image1.Canvas.MoveTo(x+i*10,0);

думаю можно не писать 10,0 а -> 10. А х чему равен? В формресайз пропиши свои циклы. Да и j можно на i заменить.


 
LM2   (2005-01-20 17:14) [7]

у TImage есть небольшой глюк(может и не глюк)
- после увеличения размера TImage не рисуется в той области на которую был увеличен(скорее всего размеры внутренего Bitmap не меняются)!
Выход такой - в режиме дизайна сделать Image.Align := alNone и TImage максимально большим, а на создание формы привести к нужным размерам Image.Align := alClient.
Может можно и другим способом.


 
Knight ©   (2005-01-20 18:45) [8]


> [7] LM2   (20.01.05 17:14)
> Может можно и другим способом.

Способ описан в [5]... А у TImage несколько иные задачи...


 
Eraser ©   (2005-01-21 00:37) [9]

Antonn ©
image1.Canvas

Бред. Тогда лучше и быстрее рисовать прямо на форме.

Ira
Ира, всё гораздо проще, рисуй на этой канаве:
image.Picture.Bitmap.Canvas



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

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

Наверх




Память: 0.46 MB
Время: 0.04 c
14-1106139129
Prohodil Mimo
2005-01-19 15:52
2005.02.06
Win98 и WinXP не видят друг друга. как лечить?


1-1105224751
Enabled
2005-01-09 01:52
2005.02.06
Как получить TShiftState который в OnMouseDown используется ?


3-1104733993
SnapIn
2005-01-03 09:33
2005.02.06
Создание Oracle Listener...


1-1106529883
Bes
2005-01-24 04:24
2005.02.06
Доступ из класса в класс...


3-1105395316
Nata
2005-01-11 01:15
2005.02.06
dbgrid сортировка





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский