![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
DrawGrig - исчезающие картинки. [D6, XP]
Pavelkq © (2009-01-08 18:54:00)Только начал осваивать компонент. Пишу следующее:
DrawGrid1.Visible:=true;
FName:='';
if OpenPictureDialog1.Execute then
FName:=OpenPictureDialog1.FileName;
if FName='' then exit;
MyBMP := TBitmap.Create;
MyJPEG := TJPEGImage.Create;
MyJPEG.LoadFromFile(FName);
MyBMP.Assign( MyJPEG );
Rect:= DrawGrid1.CellRect(0, 0);
DrawGrid1.Canvas.Brush.Bitmap:=MyBMP;
DrawGrid1.Canvas.FillRect(Rect);
MyJPEG.Free;
MyBMP.Free;
Картинка чудесно отрисовывается, но когда над ней проплывают другие окна или сворачиваю/разворачиваю свою форму, картинка исчезает, ячейка остается пустой. Где тут собака порылась?
Плохиш (2009-01-10 00:16:00) [1]
> Действительно раскусил OnDrawCel + ImageList.
Велосипед с треугольными колёсами.
> bmp: tbitmap
>
Не об этом спрашивалось.
Pavelkq (2009-01-09 22:09:00) [2]Длого мучился и получилось все. Действительно раскусил OnDrawCel + ImageList.
bmp: tbitmap
Плохиш (2009-01-09 14:16:00) [3]
> Pavelkq (08.01.09 21:48) [2]
>
> Создал обработчик
>
> procedure TForm1.DrawGrid1DrawCell(Sender: TObject; ACol,
> ARow: Integer;
> Rect: TRect; State: TGridDrawState);
> begin
> DrawGrid1.Canvas.StretchDraw(Rect, bmp);
> end;
>
> Теперь после занесения в каждую ячейку новой картинки все
> картинки заменяются на нее. Люди, помогите, пожалуйста!
>
И кто-такой этот бмп?
KilkennyCat (2009-01-09 11:28:00) [4]
> Pavelkq (09.01.09 09:33) [6]
ну тогда вообще всем выше сказанное непонятно.
в 7 есть пример, вроде и в 6-ке он также был :C:\Program Files\Borland\Delphi7\Demos\Db\FishFact
Pavelkq (2009-01-09 09:33:00) [5]У меня имеется некий текст, который отображается в Memo. Под ним нарисовал DrawGrig и хочу чтобы к каждому тексту прикреплялись фотографии. Вся эта конструкция хранится с БД. Короче, надо сделать просто перечисление привязанных к определенному тексту фотографий. + возможность самой привязки/отвязки.
KilkennyCat (2009-01-08 23:00:00) [6]Мытарства твои понятны. А цель не ясна.
В конечном итоге, что ты хочешь сделать-то? Фон у грида?
Германн (2009-01-08 22:14:00) [7]A draw grid (TDrawGrid) displays arbitrary data in tabular format. Write an OnDrawCell event handler to fill in the cells of the grid.
Pavelkq (2009-01-08 22:06:00) [8]Интернет меня уговорил, решил попробовать ImageList.
Приписываю
ImageList1.Add(MyBMP,nil);
Но голова уже не соображает, как запихать в ячейки DrawGrid-a все сореджимое ImageList-a?
Pavelkq (2009-01-08 21:48:00) [9]Создал обработчик
procedure TForm1.DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
DrawGrid1.Canvas.StretchDraw(Rect,bmp);
end;
Теперь после занесения в каждую ячейку новой картинки все картинки заменяются на нее. Люди, помогите, пожалуйста!
Pavelkq (2009-01-08 21:06:00) [10]Хм, перепробовал разные методы:
Rect:= DrawGrid1.CellRect(1, 0);
DrawGrid1.Canvas.StretchDraw(Rect,MyBMP);
или
Rect:= DrawGrid1.CellRect(1, 0);
DrawGrid1.Canvas.Draw(0,0,MyBMP);
Результат одинаков. Может дело в каких-то свойстах DrawGrid-a? Или надо обработать собыние OnDrawCell? Что делать?