Announcement

Collapse
No announcement yet.

CListCtrl frage!

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • CListCtrl frage!

    Hallo,
    ich benutze ein eigenes CListCtrl, und ich würde gerne wissen über welche zelle sich der cursor befindet, maus meine ich.
    Geht das überhaupt, ich kann keine Funktion finden
    die wie OnMouseOver lautet

    Gibts da ne andere möglichkeit

    Danke
    hook

  • #2
    Neue Klasse schreiben

    Hi,

    ich würde zuerst eine neue von ListCtrl abgeleitete Klasse erzeugen und darin die Funktionen OnMouseMove implementieren. Von da aus kannst du die Messages an die entsprechende Parent Klasse senden.

    Demoprojekt: http://www.codeproject.com/listctrl/dragtest.asp
    Hier geht es um Drag and Drop, aber dazu wird auch OnMouseMove benötigt.

    Gruss
    Geoffrey

    Comment


    • #3
      Hallo,
      danke für den Hinweis, hab jetzt meine Celle.

      Kurz gesagt, ich hab wie im Beispiel dieses
      OnMouseMove(UINT nFlags, CPoint point) abgefangen und in meiner
      Funktion rufe ich dann
      OnSubItemHitTest(LVHITTESTINFO lvtest) diese gibt mir dann die aktuelle celle
      Code:
      void CMyListCtrl::OnMouseMove(UINT nFlags, CPoint point)
      {
      	
      	LVHITTESTINFO lvhti;
      	lvhti.pt = point;
      	SubItemHitTest(&lvhti);
      	
      	if (lvhti.flags & LVHT_ONITEMLABEL)
      	{
      	 	TRACE(L"Maus über Celle: %i, %i\n", lvhti.iItem, lvhti.iSubItem);
      		// versuch text zu ändern...
      		if(1 == lvhti.iSubItem)
      		{
      			// Text ändern?:confused: 
      		}
      	}
      }
      nun möchte ich dass wenn der Mauszeiger über den Text steht, dieser unterstrichen angezeigt wird....
      Jetzt versuche ich mit SetFont() das zu machen, aber ist nicht wirklich die lösung, oder muss ich das im OnCustomDraw() tun?
      Hast Du auch da was?

      Danke für die Hilfe!
      hook

      Comment


      • #4
        Versuche deine Klasse weiter auszubauen

        Freut mich das ich dir helfen konnte.

        Wie wäre es wenn du in deiner Klasse die OnPaint etc. modifizierst.
        Genaueres kann ich dir im Moment auch nicht sagen.
        Suche bei Codeproject.com, die habe bestimmt was in der Richtung.

        Gruss
        Geoffrey

        Comment

        Working...
        X