AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi VirtualTreeView - Bei Klick nichts selektieren

VirtualTreeView - Bei Klick nichts selektieren

Offene Frage von "siles"
Ein Thema von siles · begonnen am 6. Mai 2008 · letzter Beitrag vom 6. Mai 2008
Antwort Antwort
siles

Registriert seit: 14. Jan 2008
34 Beiträge
 
#1

VirtualTreeView - Bei Klick nichts selektieren

  Alt 6. Mai 2008, 06:26
Hallo
Ich nutze eine Dynamic TreeView die auf dem VirtualTreeView basiert.
Darin werden verschiedene Nodes aus der Datenbank angezeigt / bzw können modifiziert werden.

Das Problem ist, ich kann nur Nodes anklicken. Wenn ich neben einen Node klicke, also in den leeren Bereich, möchte ich auf der Rootebene landen, um dort neue Nodes zu erzeugen.

Gibt es dafür eine Eigenschaft oder muss ich das über ein Ereigniss machen?
  Mit Zitat antworten Zitat
toms_

Registriert seit: 6. Mai 2008
6 Beiträge
 
#2

Re: VirtualTreeView - Bei Klick nichts selektieren

  Alt 6. Mai 2008, 06:33
Hallo, rufe GetHitTestInfoAt auf und werte THitInfo.HintPositions aus.

Delphi-Quellcode:
 // These flags are returned by the hit test method.
  THitPosition = (
    hiAbove, // above the client area (if relative) or the absolute tree area
    hiBelow, // below the client area (if relative) or the absolute tree area
    hiNowhere, // no node is involved (possible only if the tree is not as tall as the client area)
    hiOnItem, // on the bitmaps/buttons or label associated with an item
    hiOnItemButton, // on the button associated with an item
    hiOnItemCheckbox, // on the checkbox if enabled
    hiOnItemIndent, // in the indentation area in front of a node
    hiOnItemLabel, // on the normal text area associated with an item
    hiOnItemLeft, // in the area to the left of a node's text area (e.g. when right aligned or centered)
    hiOnItemRight, // in the area to the right of a node's text area (e.g. if left aligned or centered)
    hiOnNormalIcon, // on the "normal" image
    hiOnStateIcon, // on the state image
    hiToLeft, // to the left of the client area (if relative) or the absolute tree area
    hiToRight // to the right of the client area (if relative) or the absolute tree area
  );
Mein richtiger Account wurde durch eine Profiländerung inaktiviert. Warte noch auf den Admin bis er wieder aktiviert wird
  Mit Zitat antworten Zitat
siles

Registriert seit: 14. Jan 2008
34 Beiträge
 
#3

Re: VirtualTreeView - Bei Klick nichts selektieren

  Alt 6. Mai 2008, 07:01
Hi Toms.
Danke schonmal für deine Antwort.

Delphi-Quellcode:
procedure TfrmMain.treeCategoriesClick(Sender: TObject);
var
HitInfo :THitInfo;
iMousePosX, iMousePosY: Integer;
begin
iMousePosX := Mouse.CursorPos.X;
iMousePosY := Mouse.CursorPos.Y;
treeCategories.GetHitTestInfoAt(iMousePosX,iMousePosY, false, HitInfo);

if HitInfo.HitPositions = [hiOnItem] then begin
  ShowMessage('!!!');
end;
end;
Erkennst du gerade auf Anhieb was ich falsch mache?
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#4

Re: VirtualTreeView - Bei Klick nichts selektieren

  Alt 6. Mai 2008, 07:17
Ist das ein Ratespiel? "Rate mal was ich falsch mache"? Warum sagst du nicht, was für ein Fehler kommt?

Aber ich rate mal ...if hiOnItem in HitInfo.HitPositions then begin ... so vielleicht?
  Mit Zitat antworten Zitat
siles

Registriert seit: 14. Jan 2008
34 Beiträge
 
#5

Re: VirtualTreeView - Bei Klick nichts selektieren

  Alt 6. Mai 2008, 07:22
Zitat von Nuclear-Ping:
Ist das ein Ratespiel? "Rate mal was ich falsch mache"? Warum sagst du nicht, was für ein Fehler kommt?

Aber ich rate mal ...if hiOnItem in HitInfo.HitPositions then begin ... so vielleicht?
Hi.
Sorry, es passierte gar nichts.

Es lag aber daran, dass ich das Ereignis "onmousedown" mit den Koordinaten die da übergeben werden benutzen muss.
Bei OnClick geht das irgendwie nicht.

Danke euch.
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#6

Re: VirtualTreeView - Bei Klick nichts selektieren

  Alt 6. Mai 2008, 11:20
Zitat von siles:
Bei OnClick geht das irgendwie nicht.

Danke euch.
Im OnClick:

GetHitTestInfoAt(iMousePosX,iMousePosY, ***TRUE***, HitInfo);
Thomas
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 21:59 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