Форум — Ответы ( К темам )
? | werwolf: как вставить текст в RichEdit не переводя при этом строки (01-05-2003 03:17:40) |
как вставить текст в RichEdit не переводя при этом строки. RichEdit->Lines->Add(),...->Append(),...->Text.Insert()... все это переводит строку. | |
denver (02-05-2003 11:18:18) | |
я пока использую такой способ: сначала формирую строку: String str="abc"; ... str=str+"123"; а потом вывожу её: RichEdit->Lines->Add(str); ps: если кто придумает, как это делать по-человечески, буду рад глянуть :) | |
Владимир (03-05-2003 12:39:11) | |
//----------------------------------------------------------------------------------------------------------------------
Заведем переменные, например:
public: // User declarations long X; long Y; Запомнить положение курсора: void __fastcall TForm1::Button1Click(TObject *Sender) { Y = RichEdit1->Perform(EM_LINEFROMCHAR, RichEdit1->SelStart, 0); X = RichEdit1->Perform(EM_LINEINDEX, Y, 0); X = RichEdit1->SelStart-X+1; RichEdit1->SetFocus(); RichEdit1->SelStart = SendMessage (RichEdit1->Handle, EM_LINEINDEX,Y, 0)+ X — 1; PostMessage(RichEdit1->Handle,WM_KEYDOWN,VK_LEFT,0); PostMessage(RichEdit1->Handle,WM_KEYDOWN,VK_RIGHT,0); } Добавляем строки и восстанавливаем положение курсора: void __fastcall TForm1::Button2Click(TObject *Sender) { RichEdit1->Lines->Add(Edit1->Text); // добавляем строку RichEdit1->SetFocus(); RichEdit1->SelStart = SendMessage (RichEdit1->Handle, EM_LINEINDEX,Y, 0)+ X — 1; PostMessage(RichEdit1->Handle,WM_KEYDOWN,VK_LEFT,0); PostMessage(RichEdit1->Handle,WM_KEYDOWN,VK_RIGHT,0); } //---------------------------------------------------------- | |
Andrew (04-05-2003 15:43:16) | |
Вставка через RichEdit1->SelText = "QWERTY" не переводит строку.
| |
Владимир (08-05-2003 13:43:02) | |
Кроме того у компонента TMemo и TRichEdit есть свойство CaretPos, Label1->Caption = IntToStr(Memo1->CaretPos.x)+":"+IntToStr(Memo1->CaretPos.y); |