![]() |
TreeView_CreateDragImage -> Farbe des Hintergunds falsch
Hi!
Ich benutze TreeView_CreateDragImage um mir ein Image des Startknotens einer Drag-Aktion im TreeView erstellen zu lassen. Leider wird das Image mit der Hintergrundfarbe des TreeViews erstellt, obwohl dieser vor Beginn des Drags markiert ist und damit einen blauen Hintergund hat. (Der Windows Explorer macht es richtig) Den DragMode dmAutomatic will ich nicht benutzen, da es Konflikte mit der IDataObject Komponente gibt. Über Ideen freue ich mich! Hier noch ein bisschen Code:
Delphi-Quellcode:
//private FDropFileSource: TDropPhotoFileSource; //Komponente von Angus Johnson & Anders Melander, [url]http://www.melander.dk[/url] FIDragImageList: TImageList; procedure TWOCShellTreeView.DoStartIDrag(StartNode: TTreeNode); var ImageHandle: HImageList; begin try if StartNode <> nil then begin ImageHandle := TreeView_CreateDragImage(Handle, StartNode.ItemId); if ImageHandle <> 0 then FIDragImageList.Handle := ImageHandle; end; except end; try AssignPhotoFileDataValues(FDropFileSource.PhotoFileDataObject); FDropFileSource.Files.Add(Path); FDropFileSource.ImageIndex := 0; //ist egal, es gibt nur ein Bild in der Liste FDropFileSource.Execute; except FIDragging := False; end; end; |
Re: TreeView_CreateDragImage -> Farbe des Hintergunds fal
der Hintergrund der TImageList muss korrekt gesetzt werden, sonst müssen keine speziellen Eigenschaften gesetzt werden:
Delphi-Quellcode:
var
ImageHandle: HImageList; begin try if StartNode <> nil then begin ImageHandle := TreeView_CreateDragImage(Handle, StartNode.ItemId); if ImageHandle <> 0 then begin FIDragImageList.Handle := ImageHandle; FIDragImageList.BkColor := Self.Color; //Hintergrundfarbe des TreeViews setzen end; end; except end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz