Разбиение слов в TEdit, TMemo или TRichEdit в Delphi

var
  OriginalWordBreakProc : pointer; 
  NewWordBreakProc : pointer; 
  
function MyWordBreakProc(LPTSTR: pchar;ichCurrent: integer;cch: integer; code: integer): integer; 
{$IFDEF WIN32} stdcall; {$ELSE} ; export; {$ENDIF}
begin
  result :=  0; 
end; 
 
procedure TForm1.FormCreate(Sender: TObject); 
begin
  OriginalWordBreakProc:=Pointer(SendMessage(Memo1.Handle, EM_GETWORDBREAKPROC,0, 0)); 
  {$IFDEF WIN32}
  NewWordBreakProc := @MyWordBreakProc; 
  {$ELSE} 
  NewWordBreakProc := MakeProcInstance(@MyWordBreakProc,hInstance); 
  {$ENDIF} 
  SendMessage(Memo1.Handle, EM_SETWORDBREAKPROC, 0, longint(NewWordBreakProc)); 
end; 
  
procedure TForm1.FormDestroy(Sender: TObject); 
begin
  SendMessage(Memo1.Handle, EM_SETWORDBREAKPROC, 0, longint(@OriginalWordBreakProc)); 
  {$IFNDEF WIN32}
  FreeProcInstance(NewWordBreakProc); 
  {$ENDIF} 
end; 
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (10 оценок, среднее: 5,00 из 5)
Загрузка...
Добавить комментарий