AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Falsche Caret- / Cursor-Position

Ein Thema von Sourcemaker · begonnen am 8. Nov 2007 · letzter Beitrag vom 11. Jul 2009
Antwort Antwort
Benutzerbild von Sourcemaker
Sourcemaker

Registriert seit: 3. Sep 2003
Ort: Westoverledingen
256 Beiträge
 
Delphi XE5 Professional
 
#1

Falsche Caret- / Cursor-Position

  Alt 8. Nov 2007, 13:39
Hi,

ich habe ziemlich lange nach einer Lösung für folgende Fehler gesucht:

Man hat eine Form auf der ein Grid liegt (egal ob Stringgrid oder DBGrid) wenn
das Grid den Focus hat und ein neues Fenster mit einem Edit-/Memofeld geöffnet wird
ist der Cursor gar nicht da oder in einem Memo-Feld an der falschen Position.
Wenn man schreibt beginnt er allerdings an der erwarteten Stelle.

Wie gesagt war es nicht ganz einfach den Fehler nachzustellen bzw. eine Lösung im Internet
zu finden wenn die Umstände unklar sind.

Die Lösung bzw. Workaround wird hier beschrieben Codegear Quality Central - Wrong caret position in Edits if in another form Grid has focus

Delphi-Quellcode:
Workaround for D2007
-----------------------------------------
Find in Grids.pas following piece of code in DrawCell():

          Focused := IsActiveControl;
          if Focused and (CurRow = Row) and (CurCol = Col) then
          begin
            SetCaretPos(Where.Left, Where.Top);
            Include(DrawState, gdFocused);
          end;

...and replace it with:

          Focused := IsActiveControl;
          if Focused and (CurRow = Row) and (CurCol = Col) then
          begin
            if Self.Focused then // *** this is the workaround !!!!!!
              SetCaretPos(Where.Left, Where.Top);
            Include(DrawState, gdFocused);
          end;
Interessant ist wie lange dieser Fehler bekannt ist (klasse Borland/Codegear).

Vielleicht konnte ich anderen Suchenden damit helfen.

Grüße

Frank
Frank
  Mit Zitat antworten Zitat
matmok

Registriert seit: 9. Feb 2006
Ort: Köln
22 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Falsche Caret- / Cursor-Position

  Alt 31. Jul 2008, 14:37
Hallo,

Dieser hier beschriebene VCL bug war der Grund warum ich vom RadStudio auf CBuilder6 zurückgegangen bin.
Im CodeCentral steht der immer noch auf Status OPEN. Arrgghh! Warum fixt CodeGear sowas nicht wenn schon die User die Lösung erarbeiten!?

Ich habe hier was allgemeines dazu geposted.

Matmok
  Mit Zitat antworten Zitat
Benutzerbild von kroimon
kroimon

Registriert seit: 21. Apr 2004
24 Beiträge
 
RAD-Studio 2010 Arc
 
#3

Re: Falsche Caret- / Cursor-Position

  Alt 11. Jul 2009, 18:12
Wouh danke...
Ich hab genau das Problem zur Zeit in einem meiner Projekte und war schon am Verzweifeln -.-

Da meine Änderung an der Grid.pas irgendwie nicht übernommen wird, hab ich jetzt sichergestellt, dass mein Grid nicht den Fokus hat, wenn mein neues Fenster mit dem Edit aufgeht, so funktionierts aus.

~kroimon


PS: Sorry, den alten Thread wiederausgegraben zu haben
~Stefan
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 14:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2020 by Daniel R. Wolf