ABOUT Visual Basic Programmieren Programmierung Download Downloads Tips & Tricks Tipps & Tricks Know-How Praxis VB VBA Visual Basic for Applications VBS VBScript Scripting Windows ActiveX COM OLE API ComputerPC Microsoft Office Microsoft Office 97 Office 2000 Access Word Winword Excel Outlook Addins ASP Active Server Pages COMAddIns ActiveX-Controls OCX UserControl UserDocument Komponenten DLL EXE
Diese Seite wurde zuletzt aktualisiert am 17.12.1999

Diese Seite wurde zuletzt aktualisiert am 17.12.1999
Aktuell im ABOUT Visual Basic-MagazinGrundlagenwissen und TechnologienKnow How, Tipps und Tricks rund um Visual BasicActiveX-Komponenten, Controls, Klassen und mehr...AddIns für die Visual Basic-IDE und die VBA-IDEVBA-Programmierung in MS-Office und anderen AnwendungenScripting-Praxis für den Windows Scripting Host und das Scripting-ControlTools, Komponenten und Dienstleistungen des MarktesRessourcen für Programmierer (Bücher, Job-Börse)Dies&Das...

Themen und Stichwörter im ABOUT Visual Basic-Magazin
Code, Beispiele, Komponenten, Tools im Überblick, Shareware, Freeware
Ihre Service-Seite, Termine, Job-Börse
Melden Sie sich an, um in den vollen Genuss des ABOUT Visual Basic-Magazins zu kommen!
Informationen zum ABOUT Visual Basic-Magazin, Kontakt und Impressum

Zurück...

Zurück...


Anzeige

(-hg) mailto:hg_tvwnoderect@aboutvb.de

Beim TreeView-Steuerelement aus den Common-Controls haben Sie die Möglichkeit, über die Methode MSDN Library - VB HitTest - Common-ControlsHitTest anhand gegebener Koordinaten zu prüfen, ob sich ein Knoten an dieser Stelle befindet. Das Gegenstück zur Ermittlung der tatsächlichen Koordinaten eines Knotens gibt es jedoch nicht. Den Common-Controls können Sie jedoch einiges mehr an Informationen entlocken, als die Visual Basic-OCX-Versionen (sowohl COMCTL32.OCX als auch MSCOMCTL.OCX) zu bieten haben. So erhalten Sie die Koordinaten des Rechtecks des aktuell selektierten Knotens über den Aufruf der API-Funktion MSDN Library - API SendMessageSendMessage und der Nachricht MSDN Library - API TVM_GETITEMRECTTVM_GETITEMRECT. Das für diesen Aufruf notwendige Handle des Knotens (Item) erhalten Sie zuvor über einen weiteren Aufruf von SendMessage und der Nachricht MSDN Library - API TVM_GETNEXTITEMTVM_GETNEXTITEM und der Spezifikation TVGN_CARET. Das so ermittelte Handle des Knotens wird im Element Left der benutzerdefinierten Variablen RECT an SendMessage übergeben - in RECT erhalten Sie anschließend die Koordinaten in Pixels zurück.

Die Funktion GetTvwNodeRect kapselt diese Aufrufe. Sie übergeben ihr die Referenz des betreffenden TreeView-Steuerelements und erhalten in den Parametern RetLeft, RetTop, RetRight und RetBottom die Koordinaten des aktuell selektierten Knotens zurück. Diese Rückgabe-Parameter müssen Sie vor dem Aufruf von GetTvwNodeRect deklarieren. Übergeben Sie zusätzlich im optionalen Parameter Pixels den Wert True, erhalten Sie die Koordinaten in Pixels, anderenfalls in der Maßeinheit Twips, in der auch die Mausereignisse des TreeView-Steuerelements die X- und Y-Koordinaten liefern.

Private Type RECT
  Left As Long
  Top As Long
  Right As Long
  Bottom As Long
End Type

Private Declare Function SendMessage Lib "user32" _
 Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, _
 wParam As Any, lParam As Any) As Long

Private Const TV_FIRST = &H1100
Private Const TVM_GETNEXTITEM = (TV_FIRST + 10)
Private Const TVM_GETITEMRECT = (TV_FIRST + 4)
Private Const TVGN_CARET = &H9

Public Function GetTvwNodeRect(Tvw As TreeView, _
 RetLeft As Single, RetTop As Single, _
 RetRight As Single, RetBottom As Single) As Boolean

  Dim nRect As RECT
  
  With Tvw
    nRect.Left = SendMessage(.hwnd, TVM_GETNEXTITEM, _
     ByVal TVGN_CARET, 0)
    If nRect.Left Then
      SendMessage .hwnd, TVM_GETITEMRECT, 1, nRect
      GetTvwNodeRect = True
      With nRect
        RetLeft = .Left
        RetTop = .Top
        RetRight = .Right
        RetBottom = .Bottom
      End With
    End If
  End With
End Function

Die Funktion GetTvwNodeRect liefert Ihnen die Koordinaten des aktuell selektierten Knotens eines TreeView-Steuerelements


Beispiel-Projekt und Modul modTvwNodeRect (tvwnoderect.zip - ca. 2,8 KB)






Themen - Allgemeines
Themen - Entwicklungsumgebung (VB-IDE)
Themen - Forms
Themen - Steuerelemente (Controls)
Themen - Grafik
Themen - Dateien
Themen - UserControls
Themen - Einsteiger-Tipps
Themen - Wussten Sie...?

Übersicht nach Titeln in alphabetischer Reihenfolge
Übersicht nach Erscheinungsdatum

Schnellsuche



Zum Seitenanfang

Copyright © 1999 - 2017 Harald M. Genauck, ip-pro gmbh  /  Impressum

Zum Seitenanfang

Zurück...

Zurück...

Download Internet Explorer