В чём отличия tshape от timage?
Модератор: Модераторы
-
yantux
- постоялец
- Сообщения: 133
- Зарегистрирован: 29.10.2007 15:02:33
- Откуда: Санкт-Петербург
- Контактная информация:
В чём отличия tshape от timage?
Я так понимаю, отличия заключаются только в том, что tshape теоритически должен занимать меньше ресурсов!
yantux
В TShape уже встроено рисование некоторых графических примитивов - овал, квадрат и т.п. У TImage ничего подобного нет, там надо рисовать на канве самостоятельно. Это главное отличие. Все остальные отличия - сущие пустяки.
В TShape уже встроено рисование некоторых графических примитивов - овал, квадрат и т.п. У TImage ничего подобного нет, там надо рисовать на канве самостоятельно. Это главное отличие. Все остальные отличия - сущие пустяки.
Последний раз редактировалось Vadim 06.02.2011 03:34:02, всего редактировалось 1 раз.
-
yantux
- постоялец
- Сообщения: 133
- Зарегистрирован: 29.10.2007 15:02:33
- Откуда: Санкт-Петербург
- Контактная информация:
Vadim писал(а):yantux
В TShare уже встроено рисование некоторых графических примитивов - овал, квадрат и т.п. У TImage ничего подобного нет, там надо рисовать на канве самостоятельно. Это главное отличие. Все остальные отличия - сущие пустяки.
Ну как же нет? В timage есь canvas, разве не так?
Canvas есть много где, если чё
А если так, то совершенно разные компоненты и предназначены они для разных целей! Если честно то TShare это атавизм пришедший из Delphi! ИМХО.
А если так, то совершенно разные компоненты и предназначены они для разных целей! Если честно то TShare это атавизм пришедший из Delphi! ИМХО.
yantux

Canvas - это то, на чём рисуют. Холст, по другому говоря. А я Вам говорил о наличии готовых встроенных процедур рисования, которые автоматически рисуют примитив на этой самой канве. У других компонентов автоматически ничего не рисуется, для рисования Вы сами должны, вручную, задать рисование чего-либо.
Canvas - это то, на чём рисуют. Холст, по другому говоря. А я Вам говорил о наличии готовых встроенных процедур рисования, которые автоматически рисуют примитив на этой самой канве. У других компонентов автоматически ничего не рисуется, для рисования Вы сами должны, вручную, задать рисование чего-либо.
-
yantux
- постоялец
- Сообщения: 133
- Зарегистрирован: 29.10.2007 15:02:33
- Откуда: Санкт-Петербург
- Контактная информация:
Vadim писал(а):yantux
Canvas - это то, на чём рисуют. Холст, по другому говоря. А я Вам говорил о наличии готовых встроенных процедур рисования, которые автоматически рисуют примитив на этой самой канве. У других компонентов автоматически ничего не рисуется, для рисования Вы сами должны, вручную, задать рисование чего-либо.
Т.е. у TShare есть свои уникальные нужные фишки, которые есть только у него, но нет у других? Где об этом можно почитать? Мне то кажется, что canvas есть везде и я не вижу ни чего особенного в TShare, но если чтото есть и это можно использовать с пользой, то есть ли дока по этому поводу?
Добавлено спустя 40 секунд:
Mr.Smart писал(а):Canvas есть много где, если чё![]()
А если так, то совершенно разные компоненты и предназначены они для разных целей! Если честно то TShare это атавизм пришедший из Delphi! ИМХО.
Т.е. вы считате, что TShare устраел и не рекомендуете его использовать?
yantux я считаю, что он не только устаревший, но и совершенно ненужный.
Vadim писал(а):TShare
yantux писал(а):Т.е. у TShare есть свои уникальные нужные фишки, которые есть только у него, но нет у других?
Особенность TShape в том, что у него эти функции вызываются автоматически, при создании (или при переопределении) компонента, в зависимости от того, какую фигуру Вы задали при проектировании. Это единственная фишка TShape. В принципе, ничего уникального тут нет, т.к. у любого компонента, у которого есть доступный Canvas можно сделать аналогичную фишку в событии OnCreate.
yantux писал(а):Где об этом можно почитать?
1. В хелпе по Delphi. (Кто бы мог подумать, не правда ли?
2. В любой книге по Delphi, в которой есть описание компонента. Однако хочу сразу же предостеречь, что подробное описание этого компонента Вы нигде не найдёте, т.к. он никогда не пользовался особой популярностью именно в силу банальности того, что он делает.
По поводу использования с пользой.
Когда-то давно я делал одному чуваку диплом именно на этих компонентах. TShape использовались в качестве набора таскаемых по форме электронных компонентов (транзисторы, резисторы, конденсаторы и т.п.) и соединений между ними, дабы при перемещении компонентов не затирать их изображения на канве вручную. Да и как их перемещать по форме, чтобы это было явно видно, я по другому не придумал.
Соответственно, в слегка изменённом классе TShape были переопределены фигуры рисования по умолчанию и процедуры, которые их рисуют.
