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ß
freedyPS: 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