AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi TreeView_CreateDragImage -> Farbe des Hintergunds falsch
Thema durchsuchen
Ansicht
Themen-Optionen

TreeView_CreateDragImage -> Farbe des Hintergunds falsch

Ein Thema von sieppl · begonnen am 20. Mär 2006 · letzter Beitrag vom 28. Mär 2006
Antwort Antwort
Benutzerbild von sieppl
sieppl

Registriert seit: 15. Aug 2004
Ort: Münster
198 Beiträge
 
Delphi 7 Professional
 
#1

TreeView_CreateDragImage -> Farbe des Hintergunds falsch

  Alt 20. Mär 2006, 12:51
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;
Sebastian
  Mit Zitat antworten Zitat
Benutzerbild von sieppl
sieppl

Registriert seit: 15. Aug 2004
Ort: Münster
198 Beiträge
 
Delphi 7 Professional
 
#2

Re: TreeView_CreateDragImage -> Farbe des Hintergunds fal

  Alt 28. Mär 2006, 11:34
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;
Sebastian
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz