trichview.com

trichview.support




Re: Redraw drag&dropped TComponent


Return to index


Author

Message

Pieter E.

Posted: 11/15/2004 0:25:59


Dear Sergey,


I found a way of showing the TEdit and TMemo correctly.


The new code for RVEdit.pas is:


procedure TCustomRichViewEdit.RefreshAll;

var rve: TCustomRichViewEdit;

    i: Integer;

begin

  rve := GetRootEditor;

  while rve<>nil do begin

    rve.Refresh;

    for i := 0 to rve.ControlCount-1 do

      if rve.Controls[i]<>rve.InplaceEditor then begin

        rve.Controls[i].Refresh;

        rve.Controls[i].Hide;

        rve.Controls[i].Show;

        end

    rve := TCustomRichViewEdit(rve.InplaceEditor);

  end;

end;


It isn't the most beautiful way but it works!

(Maybe it is only a problem in C++ Builder)


Pieter E.


(PS. rve.Controls[i].Hide; && rve.Controls[i].Show; are added to the code)


"Pieter E." <[email protected]> wrote:

>

>Dear Sergey,

>

>I changed the RVEdit.pas en rebuild it. It seems better, but there are still

>some problems.

>

>1. TEdit and TMemo look still not right. They doesn't show correctly.

>2. After drag&drop reselecting en redragging is impossible or very difficult.

>

>Pieter E.

>

>

>"Sergey Tkachenko" <[email protected]> wrote:

>>I confirm this bug.

>>It was added when I changed the method of display "freezing" while making

>>drag&drop operation.

>>It will be fixed in the next update.

>>

>>Quick fix:

>>Open RVEdit.pas, change

>>

>>procedure TCustomRichViewEdit.RefreshAll;

>>var rve: TCustomRichViewEdit;

>>    i: Integer;

>>begin

>>  rve := GetRootEditor;

>>  while rve<>nil do begin

>>    rve.Refresh;

>>    for i := 0 to rve.ControlCount-1 do

>>      if rve.Controls[i]<>rve.InplaceEditor then

>>        rve.Controls[i].Refresh;

>>    rve := TCustomRichViewEdit(rve.InplaceEditor);

>>  end;

>>end;

>>

>>

>>

>





Powered by ABC Amber Outlook Express Converter