Seite 4 von 6

Verfasst: 07.10.2008 10:33
von Palandt
Es tut mir ja echt leid, dass ich doch noch mal im Hinblick auf das RTF-Feld etwas fragen muss. Ich wollte es erst ohne diese Funktion belassen, doch mir fiel auf, dass es zwar für mich gerade noch erträglich ist, nicht aber für potentielle User meines späteren Progs: Ich kann keinen vertikalen Scrollbalken an das Feld anbringen.

Keiner der drei Befehle bewirkt etwas (keine Angst: Antwort, die in dem Feld dargestellt ist, ist "scrollbedrüftig")

RTF_Feld\SetProperty("ScrollBars=2")

RTF_Feld\SetProperty("ScrollBars=#True")

RTF_Feld\SetProperty("ScrollBars=rtfVertical")

Das Ganze mit "RTF_Feld\Invoke("Scroll... etc.")" führt auch zu keiner Reaktion.

Gibt es eventuell eine andere Möglichkeit?

Danke im Voraus!

//EDIT: Aber ansonsten funzt alles wunderbar, das Feld stellt tatsächlich ALLE Grafiken vollkommen korrekt dar!

Verfasst: 07.10.2008 19:54
von Kiffi
Palandt hat geschrieben:Gibt es eventuell eine andere Möglichkeit?
wie Du schon geschrieben hast:

Code: Alles auswählen

RTF_Feld\SetProperty("ScrollBars=2")
wäre eigentlich der richtige Ansatz. Leider ist die ScrollBars-Eigenschaft
zur Laufzeit schreibgeschützt. Ich sehe momentan keine AdHoc-Lösung für
dieses Problem.

Grüße ... Kiffi (mit srod diesbezüglich im Dialog)

Verfasst: 07.10.2008 20:27
von Palandt
Wär super, wenn du es rausfinden könntest. Ich hatte ausnahmsweise heute lernfrei gehabt und einiges proggen können. Bislang konnte ich alle SelXXX-Funktionen (SelBold, SelItalic, SelFontSize etc.) problemlos nutzen, mein PB "Editor" nimmt langsam echt Gesicht an, wie gesagt, es fehlt zum ganz großen Durchbruch :) leider noch der Scrollbalken. Ich mach aber jetzt den PC samt Netz aus, da ich für heute genug vor der Kiste saß; ich werd morgen früh mal reinschauen, vielleicht haste ja was rausgefunden.

Danke mal wieder, dass du dich um eine Lösung bemühst!

Verfasst: 08.10.2008 16:58
von Palandt
Ich habe eben das Grundgerüst meines Editors fertig gestellt und wollte die Datei aus dem RTF-Feld speichern, und nichts geschah. Ich hab den SafeFile in "unseren" Testcode eingebaut, auch hier passierte nichts. Damit hat sich das wohl mit dem Comate-Feld erledigt...soviel Pech kann ein einzelner Mensch doch nicht haben, oder? Den ganzen verdammten Editor gebastelt, alles funzte - bis auf die nicht die so schwerwiegende Sache mit dem Scrollbalken - und jetzt kann ich das Ding vergessen, weil es nicht speichern kann...

Hier nochmal der Testcode:

Code: Alles auswählen

IncludePath "..\"
XIncludeFile "COMate.pbi"
Enumeration
	#Button_Test
EndEnumeration

RTF_Feld.COMateObject

If OpenWindow(0, #PB_Ignore, #PB_Ignore, 800, 800, "COMate - RTB-Demo", #PB_Window_SystemMenu|#PB_Window_Invisible) And CreateGadgetList(WindowID(0))
 
  RTF_Feld = COMate_CreateActiveXControl(0, 0, 500, 500, "RICHTEXT.RichtextCtrl")
 	
  ButtonGadget (#Button_Test, 0, 550, 100, 30, "TEST")
   	
  If RTF_Feld = 0
    MessageRequester("!", "Konnte RICHTEXT.RichtextCtrl nicht erstellen!")
    End
  EndIf
 
 
  ;RTF_Feld\SetProperty("ScrollBars=2")
  sRTFInvoke.s = "LoadFile('K:\VB-Programme\QM2\Antworttexte\Antwort1953046A23.txt')"
  RTF_Feld\Invoke(sRTFInvoke) 
  RTF_Feld\SetProperty("RightMargin=1")
  RTF_Feld\SetProperty("RightMargin=0") 
 
  
  HideWindow(0, 0)
 
  Repeat
    Select WaitWindowEvent()
      Case #PB_Event_CloseWindow
        Break
      Case #PB_Event_Gadget 
      	If EventGadget() = #Button_Test
      		RTF_Feld\Invoke("SafeFile ('K:\VB-Programme\PURE BASIC\Test.txt')")
      	EndIf
      	
    EndSelect
  ForEver
 
  RTF_Feld\Release()
 
  CloseWindow(0)
 
EndIf
Kiffi, hast du irgendeine Idee, ob das mit dem Speichern anders funktioniert, weil ohne Scrollbalken hätte ich leben können aber ohne Speichern ist das Feld nutzlos.

P.S.: Auch hier macht es wieder nichts, dass dort als Endung txt verwendet wird.

//EDIT: Scheue bitte auch nicht zurück, mir beispielsweise ein kommerzielles Programm vorzuschlagen, das dieses Feld fehlerfrei in PB einbaut, ich bin angesichts dessen, dass ab nächste Woche Montag meine Examensvorbereitung beginnt, echt bereit dafür etwas zu bezahlen, wenn es sein muss. Weil - und diesmal ist es nicht nur meinem Temparent geschuldet - ohne das Feld, kann ich das Projekt nicht verwirklichen.

Verfasst: 08.10.2008 17:32
von Kiffi
SaveFile

Grüße ... Kiffi

Verfasst: 08.10.2008 17:46
von Palandt
Tausend Dank!

Mann, kann ich das Posting noch löschen, dass keiner bemerkt wie dämlich ich bin? Ach, scheiß der Hund drauf, weiss hier mittlerweile eh jeder....allerdings speichert er das Teil nur mit .rtf-Endung, aber das ist nur halb so schlimm, das kann ich mittels File-Operationen wieder um ändern, oder aber ich werde alle meine *.txt - Dateien umschreiben, mal schauen.
So jetzt geh ich mal wieder um Gehirn beten...:)

Verfasst: 08.10.2008 19:51
von Kiffi
Palandt hat geschrieben:allerdings speichert er das Teil nur mit .rtf-Endung
wie kommst Du auf diese Aussage?

SaveFile() speichert den Inhalt des Richtext-Objektes im RTF-Format unter
genau dem angegebenen Dateinamen.

Grüße ... Kiffi

Verfasst: 08.10.2008 20:35
von Palandt
Ich weiss es auch nicht...ging erst nicht bei mir, aber dann hat's doch hingehauen. Vermutlich hat die Freude darüber, dass SaveFile nur aufgrund meines Tippfehlers seinen Dienst verweigerte wiederum dazu geführt, dass ich gleich den nächsten Tippfehler beim Versuch, die Datei als txt zu speichern, einschmuggelte...Ich wollt aber danach nichts mehr sagen, da es mir zu peinlich war, aber du Luchs hast es doch wieder gemerkt....:)

Vielleicht fällt dir ja beizeiten auch noch was zum Scrollbalken ein, aber das hat Zeit, da ich es ja erst mal zu Ende proggen und dann ne Weile selbst testen muss, bis dahin kann ich ohne Scrollbalken leben, (spätestens LOOOL!) danach melde ich mich wieder.....:)

Verfasst: 08.10.2008 20:41
von Kiffi
Palandt hat geschrieben:Vielleicht fällt dir ja beizeiten auch noch was zum Scrollbalken ein, aber das hat Zeit, da ich es ja erst mal zu Ende proggen
diesbezüglich kann ich momentan nichts versprechen. srod kann nicht
testen, weil er anscheinend das OCX nicht ausgelesen bekommt (vermutlich
ein Lizenz-Problem).

Wie gesagt: In VB gibt es einen Design-Mode, in dem man die Scrollbars
einstellen kann. Später dann (im Runtime-Modus) ist diese Eigenschaft
schreibgeschützt.

PB hat leider keinen Design-Modus. Demzufolge kann man die Scrollbars-
Eigenschaft auch nicht ändern.

Grüße ... Kiffi

Verfasst: 10.10.2008 10:50
von Kiffi
Stephen 'srod' Rodriguez hat's mal wieder hinbekommen :D

Er hat die aktuelle COMate-Version um die Funktionalität
SetDesignTimeMode() erweitert, welche es erlaubt, ReadOnly-Properties
setzen zu können (somit ist PB sogar VB um eine Nasenlänge voraus ;-)).

Code: Alles auswählen

; RichtText ScrollBarsConstants:
#rtfNone       = 0
#rtfHorizontal = 1
#rtfVertical   = 2
#rtfBoth       = 3
  
RTF_Feld\SetDesignTimeMode(#True)
RTF_Feld\SetProperty("ScrollBars=" + Str(#rtfBoth))
RTF_Feld\SetDesignTimeMode(#False)
Grüße ... Kiffi