Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.06.25;
Скачать: CL | DM;

Вниз

Проблема выделения текста в RichEdit   Найти похожие ветки 

 
@LeX-I ©   (2006-05-18 20:02) [0]

Код:
       RichEdit.Text:=RichEdit.Text + "А" + #13#10;
       RichEdit.Text:=RichEdit.Text + "Б" + #13#10;
       richEdit.SelStart:=3;
       richEdit.SelLength:=1;
       richedit.SelAttributes.Style:= [fsBold];
       RichEdit.Text:=RichEdit.Text + "В";

Если убрать последнюю строчку, что буква Б будет жирной, иначе - почему-то нет.


 
TStas ©   (2006-05-18 22:49) [1]

Потому что текст меняется в этой же процедуре


 
@LeX-I ©   (2006-05-18 23:00) [2]

Что-то не совсем понятно. Поясните, пожалуйста.


 
webpauk   (2006-05-19 10:10) [3]


> RichEdit.Text:=RichEdit.Text + "В"

последней строчкой ты переписываешь весь Text и к ней применяются SelAttributes по умолчанию


 
webpauk   (2006-05-19 10:12) [4]

RichEdit1.Lines.Add("В");


 
@LeX-I ©   (2006-05-19 10:55) [5]

Дело в том, что при очень длинных строках ADD вылетает


 
webpauk   (2006-05-19 10:58) [6]

RichEdit1.selstart:=Richedit1.RichEdit.Perform(EM_LINEINDEX, LineNumber, 0) + CharNumber;
RichEdit1.PasteFromClipBoard;
предварительно записав туда чего те надо
LineNumber - номер строки, CharNumber - номер символа в строке


 
webpauk   (2006-05-19 11:01) [7]

function GetStringFromClipboard: WideString;
var
 Data: THandle;
begin
 if not IsClipboardFormatAvailable(CF_UNICODETEXT) then
   Result:=Clipboard.AsText
 else
 begin
   Clipboard.Open;
   Data := GetClipboardData(CF_UNICODETEXT);
   try
     if Data <> 0 then
       Result := PWideChar(GlobalLock(Data))
     else
       Result := "";
   finally
     if Data <> 0 then GlobalUnlock(Data);
     Clipboard.Close;
   end;
 end;
end;

procedure PutStringIntoClipBoard(const Str: WideString);
var
 Size: Integer;
 Data: THandle;
 DataPtr: Pointer;
begin
 Size := Length(Str);
 if Size = 0 then
   exit;
 if not IsClipboardFormatAvailable(CF_UNICODETEXT) then
   Clipboard.AsText := Str
 else
 begin
   Size := Size shl 1 + 2;
   Data := GlobalAlloc(GMEM_MOVEABLE + GMEM_DDESHARE, Size);
   try
     DataPtr := GlobalLock(Data);
     try
       Move(Pointer(Str)^, DataPtr^, Size);
       Clipboard.SetAsHandle(CF_UNICODETEXT, Data);
     finally
       GlobalUnlock(Data);
     end;
   except
     GlobalFree(Data);
     raise;
   end;
 end;
end;



Страницы: 1 вся ветка

Текущий архив: 2006.06.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.029 c
2-1149363576
ZV
2006-06-03 23:39
2006.06.25
Sleep


15-1149012199
Desdechado
2006-05-30 22:03
2006.06.25
Распределенные вычисления


11-1129408985
GMax
2005-10-16 00:43
2006.06.25
Kol v2.15


15-1149253449
Новичоккк
2006-06-02 17:04
2006.06.25
Правильно ли работаю с массивом сокетов?


15-1149234197
Loginov Dmitry
2006-06-02 11:43
2006.06.25
Вопрос по Visual C 6.0