vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Re: Combobox welches Item ist makiert? 
Autor: IdontKnow
Datum: 17.12.10 10:44

Ja ich kann selber Programmieren, bin allerdings noch in der Ausbildung. Jetzt ist hier die Frage wie mann zwischen Einsteigern und Fortgeschrittenen differenziert..
ich habe das mit Forum für Fortgeschrittene und Einsteiger so verstanden das es um die Anforderung geht.. demnach würde diese Anfrage meiner Meinung nach in diesen Bereich fallen. Ich kann mich natürlich auch irren.
Aber das is ja eigendlich nicht das Thema dieses Posts.

Da ich weder mit Windows Messages noch mit dem OwnerDraw so richtig vertraut bin und ich denke das sowas über diesen Weg realisiert wird, bitte ich hier lediglich um einen Ansatz..
Ich kann ja mal als Anregung meinen Ansatz posten.

Also zuerst habe ich mir auch ein Paar Gedanken gemacht, wie man den Index unter der Maus herausfinden kann. Dabei bin ich ähnlich vorgegangen wie das CodeProjekt Beispiel und habe über die Mausposition das darunterliegende Item selektiert. Dazu benutze ich eine Funktion der WinAPI um die Position eines Controls auf dem Bildschirm herauszufinden, vergleiche diesen mit der Position des Cursors und wenn der Cursor in der Dropdownliste ist (die hier übrigens immer den DropDown Style Simple hat), wird mithilfe die Eigenschaft Itemheight der Index des Items unter der Maus berechnet. Soweit so gut, ich habe allerdings das gleiche Problem mit der Nichtmakierung des Items wenn ich mit der Maus drüberfahre. Ich habe es Aktuell über SelectedIndex gelöst, allerdings wird dann der Text direkt in die Combobox geschrieben, was äußerst unschön und nicht gewollt ist.
Die eigendliche Anforderung ist eine Textbox mit Autocomplete wo man per Entf ein Item löschen kann (s.o.). Eine Ähnliche Topic gibt es schon von mir die das Selbe ziel verfolgt allerdings über einen anderen Ansatz. Klick mich
Hier mal der Coder der Aktuellen Umsetzung

Public Class ComboBox
    Inherits Windows.Forms.ComboBox
    ''' <summary>
    ''' Hilfs-Klasse, die User32 API Funktionen enthält.
    ''' </summary>
    ''' <remarks></remarks>
    Private Class User32
        <StructLayout(LayoutKind.Sequential)> _
        Public Structure RECT
            Public left As Integer
            Public top As Integer
            Public right As Integer
            Public bottom As Integer
        End Structure
 
        <DllImport("user32.dll")> _
        Public Shared Function GetWindowRect(ByVal hWnd As IntPtr, _
          ByRef rect As RECT) As IntPtr
        End Function
 
 
Protected Overrides Sub OnMouseMove(ByVal e As _
  System.Windows.Forms.MouseEventArgs)
        Dim myPosition As User32.RECT
        User32.GetWindowRect(Me.Handle, myPosition)
        If Windows.Forms.Cursor.Position.Y < myPosition.top + Me.Height _
        And Windows.Forms.Cursor.Position.Y > myPosition.top + 21 Then
            If Me.Items.Count - 1 >= CInt(Math.Ceiling(( _
              Windows.Forms.Cursor.Position.Y - (myPosition.top + _
              _defaultHight)) / Me.ItemHeight)) - 1 Then
               Me.SelectedIndex = CInt(Math.Ceiling(( _
               Windows.Forms.Cursor.Position.Y - (myPosition.top + _
               _defaultHight)) / Me.ItemHeight)) - 1
            End If
        End If
        MyBase.OnMouseMove(e)
 
End Class
    End Sub
Ich bin für jeden Verbesserungsvorschlag und jede Erweiterung dankbar.

lg

Beitrag wurde zuletzt am 17.12.10 um 10:46:08 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Combobox welches Item ist makiert?1.949IdontKnow15.12.10 10:18
Re: Combobox welches Item ist makiert?1.510ModeratorDieter15.12.10 12:45
Re: Combobox welches Item ist makiert?1.432IdontKnow15.12.10 12:51
Re: Combobox welches Item ist makiert?1.447effeff15.12.10 14:00
Re: Combobox welches Item ist makiert?1.546ModeratorDaveS15.12.10 14:18
Re: Combobox welches Item ist makiert?1.451effeff17.12.10 16:24
Re: Combobox welches Item ist makiert?1.487IdontKnow15.12.10 16:05
Re: Combobox welches Item ist makiert?1.522bauer16.12.10 09:44
Re: Combobox welches Item ist makiert?1.725DotNetErbse16.12.10 14:04
Re: Combobox welches Item ist makiert?1.435ModeratorDaveS16.12.10 14:34
Re: Combobox welches Item ist makiert?1.409IdontKnow17.12.10 09:38
Re: Combobox welches Item ist makiert?1.383ModeratorDaveS17.12.10 09:47
Re: Combobox welches Item ist makiert?1.498IdontKnow17.12.10 10:44
Re: Combobox welches Item ist makiert?1.589ModeratorDaveS17.12.10 12:47

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel