AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Unsichtbares RichEdit?

Ein Thema von Memnarch · begonnen am 19. Nov 2010 · letzter Beitrag vom 24. Nov 2010
Antwort Antwort
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#1

Unsichtbares RichEdit?

  Alt 19. Nov 2010, 17:27
Nabend.
Ich habe folgendes problem:

Es nervt mich, wenn ich schreibe, dass es beim TRichedit dazu kommen kann, dass die gerade zu editierende zeile flackert(einfach mal nen buchstaben gedrückt halten und sausen lassen, am besten auf nem richedit in wordgrösse).

So, nun dachte ich mir...wie kriege ich DBuffered hin? Geht ja nicht bei Richedit.
Inzwischen habe ich es geschafft den kompletten Inhalt korrekt in eine Bitmnap zu packen, die Nutze ich in einem TImage, ergo ist die Darstellung flickerfrei.

Neues Problem:
Ich möchte das Richedit immernoch editieren können. Am besten wäre es, wenn es Unsichtbar über dem TImage liegen könnte, sodass die Kontrolle vom RichEdit ausgeht(draufklicken etc), während auf dem TImage gezeichnet wird.

Und genau da hänge ich fest v.v
Habe mal von einer Unsichtbaren Richedit komponennte gehört, die auf Befehle (klicken etc) reagiert, aber selbst zusammenschrauben muss.

Jemand eine Idee?

MFG
Memnarch
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#2

AW: Unsichtbares RichEdit?

  Alt 19. Nov 2010, 17:44
Hallo,

habe ich es richtig verstanden, du möchtest in einem RichEdit schrieben, den Text in ein Bitmap umwandeln und über ein TImage anzeigen anstelle das RichEdit zur Anzeige zu verwenden, doch Editieren soll weiterhin möglich sein?
Ich stelle mir das sehr kompliziert vor, wenn ein unsichtbares RichEdit über einem Image liegt und du "live" ein Bitmap daraus erstellst samt entstehenden Zeilenumbrüchen etc. und die Pixel der Buchstaben exakt mit denen eines darüberliegenden RichEdits übereinstimmen müssen. Vom Scrollen ganz zu schweigen.

Edit: Aber du hast recht, das flackert unerträglich.

Geändert von Matze (19. Nov 2010 um 18:03 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.062 Beiträge
 
Delphi 12 Athens
 
#3

AW: Unsichtbares RichEdit?

  Alt 19. Nov 2010, 19:03
Gut, optimaler wäre es natürlich, wenn man das RichEdit vom Flackern befreit.

Also, du müßtest einfach nur alle Messages des Bitmap (abgesehn von den "zeichne dich neu"-Messages) abfangen und an das Richedit weiterleiten.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von vergessen
vergessen

Registriert seit: 29. Jun 2010
85 Beiträge
 
Delphi 5 Professional
 
#4

AW: Unsichtbares RichEdit?

  Alt 19. Nov 2010, 19:36
Gut, optimaler
"Optimaler" als optimal könnte ich mir superoptimal oder megaoptimal vorstellen!

http://de.wikipedia.org/wiki/Optimal

Und manche der von himitsu optimierten Problemlösungen finde ich einfach nur superhypermegateraoptimal:

Statt gut lesbar/verständlichem Pascal-Code verpfuscht er es hin und wieder zu fast kryptischem C.

Von welchen 1024er-Wettbewerb (für Quellcode-Eindampfung) wird himitsu geritten?


@himitsu: Danke für die Köder statt des Fischs!
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#5

AW: Unsichtbares RichEdit?

  Alt 19. Nov 2010, 19:43
Gut, optimaler wäre es natürlich, wenn man das RichEdit vom Flackern befreit.
Nimm eine Richedit Komponente, welche Rich Edit >= 2.0 verwendet, z.B. TJvRichEdit.
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#6

AW: Unsichtbares RichEdit?

  Alt 20. Nov 2010, 16:04
Falls ich mich etwa sunklar ausgedrückt hatte:

Die Darstellung auf der Bitmap klappt bereits einwandfrei
Gibts viele hilfestellungen im Inet....nur muss ich halt die Steuerung beim Richedit bewaren v.v

TImage als Display -> Klappt perfect
TRichedit irgendwie weiterhin als Input nehmen während es unsichtbar überm TImage liegt -> joar..problem

EDIT:
Über Perform liefert RIchedit nämlich selbst die möglichkeit seinen Text so wies im richedit dargestellt ist, woanders abzubilden.
Und per PaintTo des Richedit, bekomtm man auch gleich das komplette design noch mit (Optisch ist mein TImage also nicht mehr vom Richedit zu unterscheiden)

EDIT2:
Vom isnatllieren von Drittkomponennten wolle cih eigentlichabsehen, da es sich um den Computer an meinem Ausbildungsplatz handelt

Geändert von Memnarch (20. Nov 2010 um 16:11 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

AW: Unsichtbares RichEdit?

  Alt 20. Nov 2010, 16:17
Und du glaubst die Performance ist auch bei längeren Texten gegeben? Das wage ich zu bezweifeln.
Michael
Ein Teil meines Codes würde euch verunsichern.

Geändert von Luckie (20. Nov 2010 um 16:26 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#8

AW: Unsichtbares RichEdit?

  Alt 24. Nov 2010, 10:03
Okay...ich habe es mir viel zu kompliziert gemacht^^".

Ich habe jetzt einfach die WMEraseBkgnd prozedur überschrieben. So kann der Hintergrund des TRichedits nicht mehr gelöscht werden. Beim neuzeichnen wurde zuerst sonst der Inhalt gelöscht und dan neu gezeichnet, ich zeichne einfach nurnoch neu.
Hat das flickern entfernt, und konnte bisher dadurch keine Nachteile feststellen.


MFG
Memnarch
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz