![]() |
|
#1
|
||||
|
||||
![]() Прриветствую вас, форумчане..
Работаю с RichEdit на WinAPI. Необходимо обеспечить функции для работы с ним, как реализовано в VCL(установка атрибутов строкам текста, получение строки текста по индексу, получение индекса последней строки, добавление строки в конец текста, добавлеине строки в нужное место - по индексу и т.п. - пригодится всё).. На данный момент научился устанавливать фон контрола(SendMessage(REWnd, EM_SETBKGNDCOLOR, 0, RGB(0, 0, 0)) ![]() Порыл MSDN, погуглил.. Всё же хотелось бы получить как можна больше информации на эту тему.. Может кто знает, какие ещё мессаги можно слать RichEdit'у, чтобы приблизится по возможностям работы с ним к VCL?? Подойдёт любая полезная информация.. Наличие примеров приветствуется ![]() |
#2
|
|||
|
|||
![]() Цитата:
Цитата:
|
#3
|
||||
|
||||
![]() Nyctos Kasignete, сенк, я там сматрел))
просто хочеццо каких-то более конкретных примеров использования... вот щас ещё посидел..несколько продвинулся.. нужно написать процедуру для добавления новой строки в RichEdit.. Я пробовал делать так: Код:
procedure reAddLine(Hnd: HWND; text: String); var ltext: PAnsiChar; begin GetWindowText(Hnd, ltext, 1024); SetWindowText(Hnd, PAnsiChar(ltext+text+#10)); end; исправляю на: Код:
procedure reAddLine(Hnd: HWND; text: String); var ltext: PAnsiChar; begin GetWindowText(REWnd, ltext, 1024); SetWindowText(Hnd, PAnsiChar(ltext+text+#10)); end; но тут теряется универсальность процедуры в использовании.. ![]() в чём причина неработоспособности первого варианта? ![]() |
#4
|
|||
|
|||
![]() Не знаю, у меня работает и через handle.
Код:
procedure reAddLine(Hnd: HWND; txt: String); var ltext: PAnsiChar; newText: string; begin GetMem(ltext, 1024); try GetWindowText(Hnd, ltext, 1024); newText := StrPas(ltext) + txt + #13#10; SetWindowText(Hnd, @newText[1]); finally FreeMem(ltext, 1024); end; end; Цитата:
|
#5
|
||||
|
||||
![]() Спасиба, так всё норм работает
![]() "Название_шрифта" это его FaceName (Например 'Arial' или 'Times New Roman').. ![]() На настоящий момент вопросы вроде как исчерпались.. ![]() Если есть что интересное по данной теме, пишите ![]() |
#6
|
|||
|
|||
![]() У меня такая проблема. При компиляции
Pastebtn.Enabled:=RichEdit1.Perform(em_canpaste , 0, 0)<>0; выдает ошибку [DCC Error] Unit3.pas(55): E2003 Undeclared identifier: 'em_canpaste' Как быть? |