COleDBRecordView::OnMove



  • Die Ansichtsklasse meines Programms ist von COleDBRecordView abgeleitet. Laut MSDN gibts da eine Methode

    BOOL COleDBRecordView::OnMove(UINT nIDMoveCommand),

    die ich zur Implementierung auch brauche. Leider finde ich die nicht. Bei mir gibts nur die

    void CMyTestView::OnMove(int x, int y),

    die ja irgendwie was mit der WM_MOVE-Nachricht zu tun hat. Wo finde ich denn die andere Funktion? :xmas2: :xmas1:


  • Mod

    Was heißt Du findest es nicht. COleDbRecordView::OnMove ist definiert.
    Siehe afxoledb.h!

    Evtl. musst Du es halt selbst überschreiben, wenn es Dir der Wizard nicht anbietet.



  • Martin Richter schrieb:

    Was heißt Du findest es nicht. COleDbRecordView::OnMove ist definiert.
    Siehe afxoledb.h!

    Evtl. musst Du es halt selbst überschreiben, wenn es Dir der Wizard nicht anbietet.

    Ich weiß das die definiert ist, steht ja auch in der MSDN. Das selbst überschreiben habe ich auch versucht, der Compiler meckert, dass die von mir angebotene Version nicht mit den ihm bekannten übereinstimmt. Weder unter Meldungen noch Überschreibungen ist da was zu finden. Nur die Methode auf das WM_MOVE-Ereignis, aber die hat als Rückgabewert void und als Parameter zwei ints. Un die ist es garantiert nicht. Was mach ich da falsch? Sollte ich vielleciht mal die afxoledb.h einbinden? Aber die muss die IDE schon kennen, sonst düfte er ja die Klasse nicht finden.



  • wie leitest du den deine classe von COleDbRecordView ab und die *.h von der du deine classe ableitest (COleDbRecordView) sollte zumindest in die header deiner abgeleiteten classe.



  • Sorry, hat es was gedauert. Ich leite das wie folgt ab (ist eine normale View-Klasse eines SDI-Projektes):

    //.h
    class CMyTestView : public COleDBRecordView
    {
    protected: // Nur aus Serialisierung erstellen
    	CMyTestView();
    	DECLARE_DYNCREATE(CMyTestView)
    ...
    }
    

    was meinst du denn damit?

    LowFly schrieb:

    und die *.h von der du deine classe ableitest (COleDbRecordView) sollte zumindest in die header deiner abgeleiteten classe



  • damit meine ich das du die AFXOLEDB.H in MyTestView.h includet haben solltest
    bzw. ferner das includeverzeichniss indem die AFXOLEDB.H liegt im MFC Menuleiste Extras/Optionen Registerblatt Verzeichnisse eingetragen sein muss.

    [b]#include <AFXOLEDB.H>[/b]
    
    class CMyTestView : public COleDBRecordView
    {
    protected: // Nur aus Serialisierung erstellen
        CMyTestView();
        DECLARE_DYNCREATE(CMyTestView)
    ...
    }
    


  • 👍 thanks LowFly, es läuft damit. Hatte es anhand eines Beispiels versucht. Die hatten aber die AFXOLEDB.H nicht includiert. Ich dachte durch die Vererbung wären die Eigenschaften mitgegeben und die Elternklasse hat die .h-Datei bereits includiert.


Anmelden zum Antworten