Komponentenentwicklung



  • Hallo,

    hat schon einmal jemand eine Komponente entwickelt, die, wenn sie z.B. über den Formularrand hinaus geht, Scrollbars anzeigt? (natürlich auch, wenn nicht genügend Platz da ist, um alle Daten anzuzeigen...) *g*

    Wenn ja, wie geht das? Muss ich meine Komponenten dann von einer TScrollBox ableiten?

    freedy



  • TScrollingWinControl



  • Schön und gut... aber kann mir dann noch einer beschreiben, wie ich meine Paint-Methode zum Laufen kriege.

    Teil aus HEADER:

    private:
            TCanvas *FCanvas;
    
            void __fastcall WMPaint(TWMPaint &Message);
              BEGIN_MESSAGE_MAP
                VCL_MESSAGE_HANDLER(WM_PAINT, TWMPaint, WMPaint);
              END_MESSAGE_MAP(TScrollingWinControl);
    
    protected:
            // PaintRoutinen
            virtual void __fastcall Paint();
            ...
    
    public:
            __fastcall TCalendar(TComponent* Owner);
            virtual __fastcall ~TCalendar();
            ...
    
    __published:
            __property TCanvas *Canvas = {read = FCanvas, write = FCanvas};
            ...
    };
    

    CPP

    //------------------------------------------------------------------------
    void __fastcall TCalendar::WMPaint(TWMPaint& Message)
    {
      if(Message.DC != NULL)
      {
        Canvas->Lock();
        try
        {
          Canvas->Handle = Message.DC;
          try
          {
            Paint();
          }
          __finally
          {
            Canvas->Handle = 0;
          }
    
          }
        __finally
        {
          Canvas->Unlock();
        }
      }
    
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TCalendar::Paint()
    {
      //male, male *G*
    }
    

    Bisher bekomme ich in meiner WMPaint-Funktion in der ersten Abfrage immer NULL zurück... Keine Ahnung, wo da jetzt der Fehler liegt.

    Gruß
    freedy

    PS: Gibt es nicht irgendwo mal ein gutes Tut, wo diese Feinheiten der Komponentenentwicklung beschrieben sind?



  • Hallo,

    kennt sich hier keiner damit aus? Schade. Bitte postet!!!

    Grüsse
    freedy


Anmelden zum Antworten