Помогите отмасштабировать
Динамически создаю TImage *Image
При чем изначально и высота и ширина = 0
Image->Owner = Form
Image->Parent = Panel (ето не код)
На Image буду рисовать поле некой игри (по сути квадратики). При инициализации поля задается его висота и ширина. Умножаю на размер квадратика и получаю Width и Height for Image.
На канве рисую поле, коректирую размеры окна (размеры панели сами коректируются поскольку Align выставлен). Делаю Show для Panel и Image.
Все отлично рисуется НО!!!
Есть окно с опциями и там можно задавать размер квадратика. Когда задать размер больше чем изначально, то форма, панель и Image стают больше, но Image не прорисовывается на новых областях, а только в том квадрате где раньше изображение было (хотя Image стает больше. В дебагере смотрел на размеры).
Пожалуста, подскажите в чем проблема. Измучался уже.
А Image->AutoSize установлено в true?
Только что и так и так попробовал. Не помогло.
У меня складывается впечатление что оно или не хочет прорисовивать ту область
(хотя Image->Canvas->ClipRect - нормально установлен) или канва не розтягивается после первой инициализации.
Впринипе я уже вишел из ситуации. Инициализую поле при максимальном размере квадратика, а потом уменьшаю (тогда увеличить можно и нормально прорисуется), но ето же порнография получается, а не програма.
Хочется узнать почему не получается увеличить Image
Image->Anchors->akRight == true?
Image->Anchors->akBottom == true?
Image->Anchors->akRight == true?
Image->Anchors->akBottom == true?
:) Вы сомневаетесь есть ли там Image.
Он там есть. Во первых вижу в дебагере что он стал больше, но ето не главное.
Ето не TImage, а клас от него порожденный. Он перехватывает мишь и изменяет цвет квадратика на котором кликнули. Так вот после увеличения я кликаю по непрорисованой части обекта, потом уменьшаю и вижу что цвет тех квадратиков которых не было видно действительно изменился. Значит я кликал по обекту. Ведь если ево там нет, то перекрытый MouseDown не сработал бы.
Image->Stretch == true?
Значит я кликал по обекту. Ведь если ево там нет, то перекрытый MouseDown не сработал бы.
Я, конечно, совершенно не в тему лезу, но вот - решил высказаться.
ИМХО, ты решаешь проблему не с той стороны. Как я понимаю, игру пишешь? Раз уже дело дошло до создания собственного компонента, я бы на твоем месте забил на TImage и описал собственный класс от TCustomControl или TGraphicControl, рисующий квадратики динамически, при каждой прорисовке. Ведь потом тебе еще придется и рамочку вокруг активного рисовать, и еще что-то, не так ли?
Я, конечно, совершенно не в тему лезу, но вот - решил высказаться.
Характерно... :)
Но, если всерьез, то если идет речь только о квадратиках и рамках, тогда подойдет и компонент TShape.
Я, конечно, совершенно не в тему лезу, но вот - решил высказаться.
ИМХО, ты решаешь проблему не с той стороны. Как я понимаю, игру пишешь? Раз уже дело дошло до создания собственного компонента, я бы на твоем месте забил на TImage и описал собственный класс от TCustomControl или TGraphicControl, рисующий квадратики динамически, при каждой прорисовке. Ведь потом тебе еще придется и рамочку вокруг активного рисовать, и еще что-то, не так ли?
Совершенно верно. Я с Вами полностю согласен.
Но кишка у меня пока тонка такое сделать. (хотя наверное попробую). Кроме того меня сейчас мало интересует сам компонент (просто столкнуляся с своим же глюком и не знаю что делать). Пишу я вот что
http://forum.codenet.ru/showthread.php?s=&threadid=25911
Компонент мне нужен только чтоб хоть както отображать даные.
Скажите пожалуйста что такое "ИМХО" ?
"ЗЫ" я сам понял :), а "ИМХО" не понимаю
Компонент мне нужен только чтоб хоть както отображать даные.
Тут уместно привести мою старую подпись: "Лучше сделать все правильно с самого начала и потом не лечиться". :D
ЗЫ. Кстати, "еще раз" они уже не девушки. :D