Deutsch
Units

RTFHandling.pcu

 
- Seite 1 -



Dieter
Zornow
Hier mein zweiter Wettbewerbsbeitrag

Download

Ich habe mich mal mit dem Richedit befasst und eine PCU geschrieben, die das ganze Handling
stark vereinfachen soll. Es sind 99 Funktionen enthalten, mit vielen Features wie zoomen, das komplette
Handling einschließlich der Dialoge für Suchen und Suchen und Ersetzen sowie verschiedene Bullets
Zeilenumbruch, ein Kontextmenü und drucken, hoffe dass das Drucken überall funktioniert, da ich nur mit
dem PDF-Printer getestet habe
Dabei ist eine, wie ich meine, gute Dokumentation und ein Beispielprogramm als prf das die Funktionen lauffähig
zeigt, so dass es kinderleicht sein sollte sie zu nutzen.
Ich habe Wert darauf gelegt immer das komplette Handling einer Funktion zu integrieren, so dass das meiste
mit einem Aufruf abgedeckt ist, sowie die Anzahl der Parameter so gering als möglich zu halten, meistens wird
nur das Handle des Richedits übergeben.
Es ist kein Subclassing vorhanden, da ich die PCU ab XProfan 8.0 lauffähig machen wollte.
Da ich keine 8 er Version installiert habe, müssen Tests zeigen ob es mir gelungen ist.
Auch im Beispielprogramm habe ich mich bemüht nur Befehle der 8.0 Version zu nutzen, kenne aber
den Befehlsumfang nicht genau. Unter Version 11 läuft aber alles.
Bilder einfügen ist ebenfalls noch nicht integriert, da mir aus Zeitgründen der Aufwand zu groß war.
Kommt aber noch, wie es meine Zeit erlaubt.
Vorschläge und Kritik zur Weiterentwicklung sind willkommen.

Im Paket enthalten sind

Demo.prf, Ein Demonstartionsprogramm für Möglichkeiten der PCU
Dokumentation.chm, Die Dokumentation der 99 Funktionen.
Dokumentation.rtf, Die Dokumentation als RTF-Datei
MinitextPad.zip, Ein kleiner Editor den ich zur Demonstartion geschrieben habe (als Exe)
RTFHandling.def, Die von XPSE erzeugte Definationsdatei,
RTFHandling.pcu, Die PCU
RTFHandling.html Die von XPSE erzeugte Hilfe.

Gruß

Dieter

139 kB
Kurzbeschreibung: Version 1.0.5 - 07.09.2009
Hochgeladen:07.09.2009
Ladeanzahl270
Herunterladen
 
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2
24.11.2008  
 



 
- Seite 4 -



Dieter
Zornow
Hallo Thomas,

habe die Lösung gefunden, ich habe einen festen Multiplikator eingebaut der den Text immer auf eine feste Größe relativ zur Controlgröße setzt. Da ich das nur zum lesen überlanger Texte gedacht hatte, funktioniert es bei so speziellen Anwendungen, wo es sehr genau sein muss, nicht zufriedenstellend. Ich muss wohl die Funktion um einen Parameter zum Einstellen des Multiplikators erweitern, dann kann man die Relative Größe zum Control einstellen.
Ich habe 12 als Standard eingestellt, bei dir müsste es 15 sein um genau die gewünschte Größe zu erhalten
 
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2
23.02.2010  
 




Thomas
Freier
Hallo Dieter,
DANKE für die Mühe. Geht jetzt, und werde es noch bei den Etiketten testen, wenn du bitte die Funktion ändern Font markierter Text dahin erweitern würdest, dass im Fontdialog gleich Art, Höhe, Farbe, usw. des markierten Textes vorgegeben werden.
 
Gruß Thomas
Windows XP SP2, XProfan X2
23.02.2010  
 




Dieter
Zornow
Hallo Thomas,

ich weiß jetzt nicht was du meinst. Meinst du SETMARKEDTEXTFONT Der Fontdialog ist ja nicht in der PCU vorhanden. Hier wird ja nur der Name des Fonts als String übergeben. Den Dialog dazu musst du ja selbst erstellen. Im Demo ist er auch außerhalb. Oder meinst du was anderes.
 
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2
24.02.2010  
 




Thomas
Freier
Ja, der Fontdialog ist extern. Habe das Beispiel mal erweitert. Ein GETGetMarkedTextSize(), ists FETT, KURSIV, usw., kann ich nicht finden oder wie hast du das realisiert hast.
Ob die Lösung für Höhe und Farbe allgemeingültig ist???
Lassen sich die anderen Einstellungen auch noch über eine GetMarkedTextSize(ed&)-Abfrage realisieren?

8 kB
Hochgeladen:24.02.2010
Ladeanzahl165
Herunterladen
 
Gruß Thomas
Windows XP SP2, XProfan X2
24.02.2010  
 




Dieter
Zornow
Hallo Thomas,

Das Auslesen ob eine Schrift Fett usw ist, ist nicht enthalten, diese Funktionen habe ich nur als Umschalter drin. Wenn etwas fett ist wird es beim Aufruf normal und umgekehrt. Wäre aber kein Problem sowas einzubauen, da ich beim umschalten ja auch den jeweiligen Zustand ermitteln muss. Werde das in den nächsten Tagen einbauen.
 
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2
24.02.2010  
 




Thomas
Freier
Das liest sich gut. Neben dem Fontdialog läßt sich ja dann auch bei markiertem oder bei Curserposition im Text, die Darstellung des entsprechenden Button steuern. DANKE!
 
Gruß Thomas
Windows XP SP2, XProfan X2
25.02.2010  
 




Thomas
Freier
Hallo Dieter,

bevor ich mich den Objekten zuwende, habe ich noch ein Problem.
Bis dato bin ich mit der Erstellung, Bearbeitung, usw. der RTF sehr zufrieden. Nun, durch Zufall entdeckt, führt ein Rechtsklick in der RTF zu einer Speicherverletzung.
Könntest du, oder jeder der daran Spaß hat, bitte einmal auf den stark eingekürzten Script sehen, was falsch läuft.
KompilierenMarkierenSeparieren
 $U RTFHandling.pcu = R_'TRF-PCU einbinden
 $U objects.pcu = R_
cls
Bilder_Rep
WaitInput
end
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Bilder Report ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Proc Bilder_Rep

    Declare RichEdit&,rtf_dll&,rtf_hdc&,linebreak&
    rtf_dll& =  R_INTITFORCREATERTF()'DLL laden mit PCU
    WINDOWSTYLE 538
    var B_dlg& = @Create("Window",%hwnd,"  Bilder-Report " ,80,10,900,720)
    rtf_dll& =  R_INTITFORCREATERTF()'DLL laden mit PCU
    RichEdit& = R_CREATERICHEDIT(B_dlg&,"",9000,60,750,580)' Richedit erstellen mit PCU
    rtf_hdc& = R_PREPAREFORLINEBREAK(RichEdit&)' Device Context erzeugen mit PCU
    R_Init_object(RichEdit&)'Zum Bildempfang vorbereiten
    R_SETMARKEDTEXTSIZE(RichEdit&,18)
    R_SETMARKEDTEXTFONT(RichEdit&,"Sheffield")
    R_RTFREPLACE(RichEdit&,"SAV Pliete e.V. Lübeck")
    SendString(RichEdit&,"^{ENTER}")
    R_SETMARKEDTEXTSIZE(RichEdit&,14)
    R_SETMARKEDTEXTFONT(RichEdit&,"Sheffield")
    R_RTFREPLACE(RichEdit&,"Bilder vom Bootsplatz")
    SendString(RichEdit&,"^{ENTER}")
    R_GotoEnd(Richedit&)
    R_SETMARKEDTEXTSIZE(RichEdit&,12)
    R_SETMARKEDTEXTFONT(RichEdit&,"Verdana")

    WhileLoop 3

        SendString(RichEdit&,"^{ENTER}")

    EndWhile

    R_GotoEnd(Richedit&)
    SetWindowPos RichEdit&=60,60
    R_RTFMarkAll(Richedit&)
    R_SETTEXTCENTER(RichEdit&)
    R_RTFSetCaretPosition(RichEdit&,0,0)
    setfocus(B_Dlg&)

    While 1

        WaitInput
        case %key=2:BREAK

    wend

    R_DEINITRTF(RichEdit&,rtf_hdc&,RTF_DLL&)'RTF-Aufräumen
    R_DeInit_object()
    DestroyWindow(B_dlg&)
    setfocus(%hwnd)

EndProc


540 kB
Hochgeladen:09.12.2010
Ladeanzahl168
Herunterladen
 
Gruß Thomas
Windows XP SP2, XProfan X2
09.12.2010  
 




Thomas
Freier
Hallo Dieter,
habe den Fehler einkreisen können:
R_GETRIGHTCLICKMENU(ed&) 'Rechtsklickabfrage muß vorhanden sein, auch wenn RTFMenu(ed&) nicht gesetzt ist. Ist im Beispiel DEMO.rtf nachzuvollziehen.
Leider öffnet sich dann auch ohne RTFMenu(ed&) das Menü, was mich nicht stören würde, aber leider ist bei meiner Bilder-RTF der Druck dann unvollständig.
 
Gruß Thomas
Windows XP SP2, XProfan X2
10.12.2010  
 



 
- Seite 5 -



Dieter
Zornow
Hallo Thomas,

soll ich dir das Rechtsklickmenü rausnehmen und dir die Version zusenden ? Ich muss mir das ganze nochmals anschauen, wie die Zusammenhänge sind, habe ich nach der langen Zeit vergessen. Mal sehen ob ich einen Schalter fürs ausschalten rein bekomme. Ich kann auch nur das Drucken aus dem Menü rausnehmen, alles andere könnte ja kommen.
 
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2
10.12.2010  
 




Dieter
Zornow
Hallo Thomas,

habe den Sündenbock gefunden, die verbesserte Version habe ich dir per Mail zugeschickt. Es lag an der objects.pcu
 
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2
10.12.2010  
 




Thomas
Freier
Hallo Dieter,
angekommen, getestet und jetzt läuft es fehlerfrei.
Ich könnte auf DRUCKEN verzichten, denn bei den meisten Texteditoren bekommt man nur Markieren, Ausschneiden, Einfügen, usw. angeboten.
 
Gruß Thomas
Windows XP SP2, XProfan X2
10.12.2010  
 




Dieter
Zornow
Hallo Thomas,

fein, dass es klappt. Mit dem Drucken wollte ich mich wie ich Zeit und Lust habe, ja sowieso nochmal beschäftigen um auch bei vielen Bildern die letzte Zeile noch mit auszudrucken.
 
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2
10.12.2010  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

44.570 Betrachtungen

Unbenanntvor 0 min.
Georg Teles19.10.2022
H.Brill08.02.2022
RudiB.06.09.2021
Jürgen Strahl29.08.2021
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie