Einzelnen Beitrag anzeigen

Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#9

Re: RichEdit zur Laufzeit durch SynEdit ersetzen

  Alt 10. Dez 2008, 22:34
Hast du außer dem RichEdit oder SynEdit noch etwas auf dem Tabsheet? Ansonsten könntest du es doch so probieren:
Delphi-Quellcode:
var
  NewMemo: TRichEdit;
  OldMemo: TSynEdit;
begin
  memo := FindMemo(ActiveControl); //aktives TabSheet finden
  Quellcodemodus1.Visible := true;
  Editormodus1.Visible := false;
  OldMemo := TSynEdit(memo.Controls[0]); //<=
  NewMemo := TRichEdit.Create(memo);
  NewMemo.OnMouseDown := OldMemo .OnMouseDown;
  NewMemo.OnSelectionChange := OldMemo .OnChange;
  NewMemo.OnKeyDown := OldMemo.OnKeyDown;
  OldMemo.free;
  NewMemo.Parent := memo; // ist das eigentlich notwendig?
  NewMemo.Align := alClient;
  NewMemo.Show;
  NewMemo.SetFocus;
  NewMemo.ScrollBars := ssVertical;
  //Text übernehmen
end;
Somit würdest du auf jeden Fall nicht das neue Memo freigeben.

Eigentlich könnte man doch auch eindeutige Namen und FindComponent benutzen, oder?


MfG,
Bug
  Mit Zitat antworten Zitat