AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Richedit - Fokus auf letzte Zeilen halten(inaktives Fenster)
Thema durchsuchen
Ansicht
Themen-Optionen

Richedit - Fokus auf letzte Zeilen halten(inaktives Fenster)

Ein Thema von Viktorii · begonnen am 9. Jul 2009 · letzter Beitrag vom 15. Mär 2010
Antwort Antwort
Seite 2 von 2     12   
Viktorii

Registriert seit: 19. Jul 2007
358 Beiträge
 
#11

Re: Richedit - Fokus auf letzte Zeilen halten(inaktives Fens

  Alt 14. Jul 2009, 09:45
Zitat von Lannes:
Hallo,

Deine exe funktioniert, ich meinte mit "zeigt den Fehler", das abweichende Scrollverhalten.
Achso


Zitat von Lannes:
Was ist wenn Du Application.MainFormOnTaskBar auf False setzt?
Bringt leider auch nichts


Zitat von Lannes:
Im Anhang mal das normale Verhalten des RichEdits(mit Turbo Delphi erzeugt).
Also bei mir verhält sich das schon besser als mein Kompilat, aber auch noch nicht genau so wie ich es dachte:

Ich starte die exe und mache ein anderes Fenster aktiv. Zu diesem Zeitpunkt ist der Scrollbalken noch nicht zu sehen. Sobald das Fenster voll ist, erscheint der Scrollbalken, aber der Fokus bleibt auf den ersten Zeilen.
Nun mache ich das Richedit-Fenster wieder aktiv. Der Fokus springt auf die letzen Zeilen.

Soweit alles wie bei mir. Dann verhält es sich aber anders/besser:

Wenn ich nun wieder ein anderes Fenster aktiv mache bleibt der Fokus auf den letzten Zeilen.


Ist das bei Dir auch so?



Aber leider wäre auch das kompilieren meiner Applikation mit TurboDelphi keine begehbarer Lösungsweg für mich
  Mit Zitat antworten Zitat
Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#12

Re: Richedit - Fokus auf letzte Zeilen halten(inaktives Fens

  Alt 14. Jul 2009, 10:11
Hallo,

ist bei mir auch so.
Kannst Du denn nicht ein Memo verwenden?

Mal ein Vorschlag, die Anwendung soll Dir doch in der nicht aktiven Anwendung die Debug-Informationen ausgeben. In dem Zustand interresieren doch nur die hinzugefügten Zeilen, die anderen sind ja nicht mehr sichtbar(nach oben weggescrollt).
Also, wenn die Anzahl der sichtbaren Lines belegt sind, entferne jeweils die erste Lines, bevor eine neue hinzugefügt wird. In einer StringList können im Hintergrund alle Debug-Informationen gesammelt und -bei Bedarf(Anwendung wird aktiviert)- im Richedit angezeigt werden.
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat
Viktorii

Registriert seit: 19. Jul 2007
358 Beiträge
 
#13

Re: Richedit - Fokus auf letzte Zeilen halten(inaktives Fens

  Alt 15. Mär 2010, 08:57
Für alle die das selbe Problem haben... Habe nun die Lösung dank dieses Artikels hier

Delphi-Quellcode:
MyRichEdit.Lines.Append('gnümpf');
MyRichEdit.Perform(EM_LINESCROLL, 0, 1); // <-- Des Rätsels Lösung
  Mit Zitat antworten Zitat
Panthrax

Registriert seit: 18. Feb 2005
286 Beiträge
 
Delphi 2010 Enterprise
 
#14

Re: Richedit - Fokus auf letzte Zeilen halten(inaktives Fens

  Alt 15. Mär 2010, 10:13
Delphi-Quellcode:
*.Perform(EM_SCROLL, SB_LINEDOWN, 0); // bei konstant einer Zeile
*.Perform(EM_LINESCROLL, 0, Offset); // mit Variable
Wenn das Steuerelement umgebrochene Zeilen enthält, ist eine Zeile zu wenig. Dann besser so:
Delphi-Quellcode:
var
  TopLineIndex: Integer;
  ScrollPos: Integer;
  PageSize: Integer;
begin
  PageSize := 14; // Anzahl sichtbare Zeilen
  ScrollPos := *.Lines.Count - PageSize;
    // erste sichtbare Zeile so justieren, dass die letzte Zeile sichbar ist

  TopLineIndex := *.Perform(EM_GETFIRSTVISIBLELINE, 0, 0);
  *.Perform(EM_LINESCROLL, 0, ScrollPos - TopLineIndex);
end;
"Es gibt keine schlimmere Lüge als die Wahrheit, die von denen, die sie hören, missverstanden wird."
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 20:32 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