Форум: "Основная";
Текущий архив: 2004.12.19;
Скачать: [xml.tar.bz2];
ВнизМожно ли в Stringgrid вставить картинку? Найти похожие ветки
← →
Muhan © (2004-12-03 16:40) [0]Пытаюсь вставить в стринггрид картинку..не получается...ее просто не видно :( Как сделать чтобы картинка был поверх таблицы? И можно ли в ячейку вставить картинку?
Спасибо.
← →
cae © (2004-12-03 16:46) [1]http://delphiworld.narod.ru/base/bitmap_in_stringgrid_cell.html
← →
wisekaa © (2004-12-03 16:50) [2]Можно,
http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=988625107&n=21
← →
Muhan © (2004-12-03 17:13) [3]Я малеха не дотягиваю до вашего уровня... :)
У меня есть обработчик, я туда загнал код, который вы показали...
Он заполняет все мои ячейки этой самой картинкой....
Как сделать чтобы я сам когда захотел тогда и вбивал.
Вот такая процедурка: ввел ячейку(не координату), нажал кнопку...и картинка появилась...:) вот
← →
Muhan © (2004-12-03 17:28) [4]ответте плиз
← →
begin...end © (2004-12-03 17:38) [5]> [3] Muhan © (03.12.04 17:13)
Ну можно где-нибудь хранить номера ячеек, в которых надо прорисовывать картинки, и в обработчике OnDrawCell проверять, нужно рисовать картинку в очередной ячейке или нет.
← →
Muhan © (2004-12-03 18:26) [6]мне надо чтобы она появлялась не при создании таблицы...а в любой момент!! это возможно?
← →
begin...end © (2004-12-03 18:37) [7]> [6] Muhan © (03.12.04 18:26)
Это возможно. По нажатию кнопки в каких-нибудь переменных указываете, в какие именно ячейки нужно вставлять картинки. И вызываете метод TStringGrid.Refresh. А в начале работы программы в этих переменных должно быть указано, что картинки не нужны. Понятно?
← →
Muhan © (2004-12-03 20:29) [8]все понятно..но там координаты :( хотелось бы конкретно ячейки...и еще маленько не понятно почему когда ввожу свои цифры то одна ячейка заполняется...а когда не трогаю все ячейки заполняются :(
← →
begin...end © (2004-12-03 20:57) [9]> [8] Muhan © (03.12.04 20:29)
> все понятно..но там координаты :( хотелось бы конкретно
> ячейки...
Ну теперь уже я Вас не понимаю. :-)
А как же ещё обращаться к ячейкам, как не по их координатам?
Допустим, таблица состоит из 5 строк и 5 столбцов.
Объявляете в форме переменную:
MyArray: array [1..5, 1..5] of Boolean
При старте программы (в TForm.OnCreate) заполняете массив значениями False. Хотя не помню - может быть, массив проинициализируется автоматически.
В обработчике OnDrawCell задаёте проверку, нужно ли для данной ячейки рисовать картинку или нет:
if MyArray[ACol, ARow] then // рисуем
При нажатии кнопки (в обработчике OnClick) указываете, что, например, в третьей строке второго столбца должна быть картинка:
MyArray[2, 3] := True
и обновляете таблицу:
StringGrid.Refresh
← →
Muhan © (2004-12-03 21:02) [10]я имею ввиду координаты даются таблицы ..то есть 250*300,
а не номер ячеки(ряд, строка)
хотя может я чего то не понимаю. :(
Спасибо за разъяснения.
← →
begin...end © (2004-12-03 21:13) [11]> [10] Muhan © (03.12.04 21:02)
В смысле, координаты картинки имеются в виде координат X/Y, а не в виде Col/Row? Но ведь X/Y можно преобразовать в Col/Row с помощью TStringGrid.MouseToCell.
← →
novice__man (2004-12-03 21:24) [12]Может просто нужно выводить рисунок по какому-либо условию??
Например в ячейке встретился 0.
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
with Canvas do
begin
if StringGrid1.Cells[ACol, ARow] = "1" then
Draw(Rect.Left, Rect.Top, ImageNul.Picture.Graphic);
end;
end;
← →
Muhan © (2004-12-03 21:36) [13]а как преобразовать то ? не понятно малех :(
← →
begin...end © (2004-12-03 21:39) [14]> [13] Muhan © (03.12.04 21:36)
StringGrid.MouseToCell(X, Y, Col, Row). Col, Row - переменные.
P.S. Я ушёл спать.
← →
novice__man (2004-12-03 21:41) [15]Что во что преобразовать?
Раскажите по подробнее о поставленной задаче.
Постараюсь помочь. Сам часто пользую этот метод, подмена шрифта, картинка, цвета...
← →
TButton © (2004-12-03 21:51) [16]
> Пытаюсь вставить в стринггрид картинку
и как же это вы, интересно, пытаетесь?
код в студию.
> Как сделать чтобы картинка был поверх таблицы?
эээ... да!
> И можно ли в ячейку вставить картинку?
эээ... нет!
картинку можно присвоить свойству objects стринг грида
и потом если тебе нужно в одной ячейке выводить картинку, в другой не выводить, в десятой выводить но другую. ты не забывай что у тебя стринг грид, что у него есть свойство cells. надо выводить картинку - запиши это в ячейке, когда будешь отрисовывать - проверяй что в ячейке написано.
← →
Muhan © (2004-12-03 22:36) [17]вот именно это и надо...что в одной выводить в другой нет....чтож делать то...тупит очень сильно если использовать это метод OnDrawCell :(
← →
novice__man (2004-12-03 23:18) [18]
Muhan © (03.12.04 22:36) [17]
вот именно это и надо...что в одной выводить в другой нет....чтож делать то...тупит очень сильно если использовать это метод OnDrawCell :(
Так укажи как реализовано условие!!!
← →
novice__man (2004-12-03 23:35) [19]
Muhan © (03.12.04 16:40)
Пытаюсь вставить в стринггрид картинку КАК ПЫТАЕТЕСЬ, КАКОЕ УСЛОВИЕ ДЛЯ ТОГО ЧТО БЫ БЫЛА КАРТИНКА???? ..не получается...ее просто не видно :( Как сделать чтобы картинка был поверх таблицы КАРТИНКА БУДЕТ ТОЛЬКО В ЯЧЕЙКЕ, А НИКАК ПОВЕРХ ТАБЛИЦЫ!!! ? И можно ли в ячейку вставить картинку?
Спасибо.
Какие точно действия пользователя должны приводить к появлению (исчезновению) картинки??
Если не получится пиши на мыло по подробнее, разберемся!
← →
Muhan © (2004-12-04 01:53) [20]Мне надо вставить картинки в таблицу размерности 25*25.. менять их местами, удалять..в этом духе..так чтобы они были привязаны к яцейкам
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.12.19;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.037 c