я пытаюсь добавить маленькую иконку в VirtualTreeview в delphi2010. У меня есть ImageList, прикрепленный к VirtualTreeview, используя изображения свойств
procedure TMainFrm.VSTGetImageIndex(Sender: TBaseVirtualTree;
Node: PVirtualNode; Kind: TVTImageKind; Column: TColumnIndex;
var Ghosted: Boolean; var ImageIndex: Integer);
var
FileInfo: PFileInfoRec;
begin
if Kind in [ikNormal , ikSelected] then
begin
if Column = 0 then
ImageIndex :=ImageList1.AddIcon(FileInfo.FileIco);
end;
end;
но после добавления значки выглядят слишком темными:
FileInfo Strucutre (запись с методами) заполняется, когда я загружаю файлы, поэтому мне нужно просто добавить fileico из fileinfo в список изображений и отобразить в дереве
type
PFileInfoRec= ^TFileInfoRec;
TFileInfoRec = record
strict private
vFullPath: string;
.
.
.
vFileIco : TIcon;
public
constructor Create(const FilePath: string);
property FullPath: string read vFullPath;
.
.
.
property FileIco : TIcon read vFileIco;
end;
конструктор:
constructor TFileInfoRec.Create(const FilePath: string);
var
FileInfo: SHFILEINFO;
begin
vFullPath := FilePath;
.
.
.
vFileIco := TIcon.Create;
vFileIco.Handle := FileInfo.hIcon;
// vFileIco.Free;
end;
так где проблема? ! Благодарность
ColorDepth
наcd32Bit
. - person David Heffernan   schedule 19.06.2012ColorDepth
? Сразу после создания списка изображений. Кроме того, как выглядит ваш реальный код? Предположительно реальный код присваиваетFileInfo
. Если настоящий код делает это, то разочаровывает то, что вы разместили поддельный код. Если это ваш реальный код, то не присваивать ничегоFileInfo
явно проблема. - person David Heffernan   schedule 19.06.2012