Drucken unter Borland 5.02



  • Hi,

    ich hab jetzt schon einiges in dem anderen Borland-Forum zum Thema Drucken durchgelesen, aber es wird soweit ich weiss nie etwas über die einfache Textausgabe in Visual C++ geschrieben (der Code mit "canvas" ist soweit ich weiss Delphi?!?. Jedenfalls gibt es dazu in meiner Borland5.02 Version in der Hilfe keine Infos).

    Und jetzt stellt sich mir das Problem, dass ich Text mit Daten (alles in Strings und Variablen gespeichert) ausdrucken möchte. Dazu bräuchte ich noch das Druckerauswahlfenster.

    Ich kann zwar das Fenster mit:
    TWindowPrintout druck("Headline",this);
    //druck.SetBanding(true);
    // hab ich rausgenommen, da das mein Drucker nicht mitmacht...
    Drucker->Print(this,druck,true);
    aufrufen, den Drucker wählen, und ausdrucken, aber eben nur das Bitmap.
    Wie erhalte ich Zugriff auf das Bitmap, um es zu löschen, erstelle ein neues, schreibe den Text rein, und drucke? 😕

    Oder bin ich komplett auf dem Holzweg? 😞
    Ich könnte ja auch eine Textdatei erstellen lassen, die sich dann selbst druckt. Aber auch hier müsste ich den Drucker auswählen können...

    Vielen Dank schonmal im Voraus
    Philipp



  • Du hast viel zu wenig Infos gegeben. Erstens solltest du in der Überschrift angeben, dass du mit OWL proggst. Zweitens: Was ist "this"? In welcher Klasse bewegst du dich also? Was ist "Drucker"? Alles Dinge, die man wissen sollte, um deine Frage evtl. zu beantworten.



  • Macht ihr Selbstgespräche ihr Philipp's? 😃



  • Höhö. 😃 Na gut, der war nicht schlecht. 🙄



  • Entschuldigung, ich hab da wohl nicht ganz aufgepasst.;)

    Ich verwende das von Borland schon mitgelieferte Beispiel printing.cpp. Da wird mit der folgenden Klasse gearbeitet:

    class TWindowPrintout:public TPrintout
    {
    public:
    TWindowPrintout(const char*title, TWindow* window);

    void GetDialogInfo(int& minPage, int& maxPage, int& selFromPage, int&selToPage);
    void PrintPage(int Page, TRect& rect, unsigned flags);
    void SetBanding(bool b) {Banding=b;}
    bool HasPage(int pageNumber){return pageNumber == 1;}

    protected:
    TWindow* Window;
    bool Scale;
    };

    Und so wird mein zu druckendes Objekt "Drucker" generiert:
    Drucker= new TPrinter;
    später lösche ich es auch wieder...

    Bringt es was, wenn ich den ganzen Quelltext mal reinsetze?



  • Immernoch viel zu wenig Infos! Was ist das Bitmap, welches du oben erwähnst?



  • Hm, das Bitmap ist das vom Fenster, also normalerweise meine Zeichenfläche, sofern ich es als Malprogramm verwenden würde.

    Dieses will ich ja aber eigentlich nicht drucken, sondern die Daten. Deshalb müsste ich dieses Bitmap löschen, und ein neues erstellen, und in dieses irgendwie die Daten (vorliegend als Text) reinschreiben.


Log in to reply