X11
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Done должно быть False, по умолчанию оно имеет именно False, я его и не трогаю. Добавлено: linker_2009, ты уверен, что нужно использовать именно tstringstream? Тем более там нет метода LoadFromFile. Добавлено: linker_2009, это? Код: вот пример загрузки изображения из TcxImage через поток. var Row: TcxEditorRow; ... после Row.Properties.EditPropertiesClass := TcxImageProperties; вставь это stream:=tStringstream.Create(''); cxImage1.Picture.Icon.SaveToStream(stream);// сохранение из имаджа в стреам Row.Height:=50; with (Row.Properties.EditProperties as TcxImageProperties) do begin GraphicClassName:='TIcon'; Stretch:=true; end; stream.Seek(0,0); Row.Properties.Value:=stream.DataString; stream.Free; | Добавлено: Сделал через DataString, всё равно ячейки пустые Код: if FileExists(sFN_Photo) then begin AFStream := TFileStream.Create(sFN_Photo, fmOpenRead); ASStream := TStringStream.Create(''); try ASStream.CopyFrom(AFStream, 0); dbgArenda.DataController.Values[AViewInfo.GridRecord.RecordIndex, dbgArendaPhoto.Index] := TStringStream(ASStream).DataString; finally AFStream.Free; ASStream.Free; end; | Добавлено: Всё таки ADone нужно ставить в True так изображения отрисовываются. Код: if FileExists(sFN_Photo) then begin Photo := TPicture.Create; try Photo.LoadFromFile(sFN_Photo); ACanvas.FillRect(AViewInfo.Bounds); ACanvas.Draw(AViewInfo.ContentBounds.Left, AViewInfo.ContentBounds.Top, Photo.Graphic); ADone := True; finally Photo.Free; end; | Проблема в том, что при прокрутке грида, диск неимоверно чехлит. Поэтому идеальный вариант, это загрузка изображений в DataSet или в DataController, пока не могу понять, как это правильно реализовать. Добавлено: И ещё проблема в том, что картинка отрисовывается не полностью, т.е. виден только левые верхний угол изображения. Нужно как-то Photo: TPicture; сжимать до размера ячейки.
---------- /не мы такие, жизнь такая/ |
|