Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
1-1101918145
Unknown user
2004-12-01 19:22
2004.12.19
Если кто-то работал с ZLib, помогите!


1-1101916379
HydraMarat
2004-12-01 18:52
2004.12.19
Каждая процедурка для каждого типа или "монстр" для всех?


4-1099471291
Фагот
2004-11-03 11:41
2004.12.19
Автозапуск


1-1101915836
ньюбик
2004-12-01 18:43
2004.12.19
Сглаживание графиков в TChart.


1-1102428928
Гость
2004-12-07 17:15
2004.12.19
Модальное окно





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский