OnToolHitTest() Troubles



  • Hallo!

    Ich versuche für jedes Element einer ListView, einen eigenen ToolTipText zu erstellen, wobei es weniger das Problem ist zu berechnen, über welchen Item der Cursor ist. Mein Problem liegt daran, dass die Funktion wie folgt als member meiner Klasse definiert sein muss:

    virtual int OnToolHitTest(CPoint point, TOOLINFO * pTI) const;
    

    und wenn ich jetzt in der Funktion folgenden Code habe:

    SendDlgItemMessage(IDC_EDIT_USR,WM_SETTEXT,0,"");
    

    ... dann ergibt das folgende Fehlermeldung:

    'SendDlgItemMessageA': cannot convert 'this' pointer from 'const class CDataMigDlg' to 'class CWnd &'

    Die WM_SETTEXT Message hat jetzt natürlich nix mit den Tooltips zu tun, aber es geht ja auch nicht um die Message, sondern um die Funktion an sich.

    Nun lautet meine Frage, welche Funktion ich aufrufen muss, um Messages and DialogItems zu senden bzw. wie man das in diesem Fall am besten angeht.

    Hier vielleicht ein genaueres Beispiel. Folgende Funktion habe ich bei einem Code-Beispiel im Internet gefunden:

    GetItemRect( row, &rect, LVIR_BOUNDS );
    

    Ist aber für meinen von CDialog erbenden Dialog ein undeclared identifier. Also wollte ich folgendes machen:

    SendDlgItemMessage(IDC_LIST_SOFTWARE, LVM_GETITEMRECT, (WPARAM) row, (LPARAM) &rect);
    

    ...was in der oben genannten Fehlermeldung endet.

    Leider ist mein VC++ verständnis nicht so groß, deswegen hoffe ich, dass ihr mir helfen könnt. Danke!


Anmelden zum Antworten