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

Вниз

Можно ли в 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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.026 c
14-1101542253
ИМХО
2004-11-27 10:57
2004.12.19
Это правда?


3-1100498654
S@lik
2004-11-15 09:04
2004.12.19
Query


14-1101800295
PVOzerski
2004-11-30 10:38
2004.12.19
Проблемы с модемом под XP - что делать?


4-1099061385
landy
2004-10-29 18:49
2004.12.19
получение данных из чужого TListView


14-1101279635
kot
2004-11-24 10:00
2004.12.19
Freddie Mercury и группа QUEEN