Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  167

•  TDictionary Custom Sort  3 341

•  Fast Watermark Sources  3 095

•  3D Designer  4 851

•  Sik Screen Capture  3 350

•  Patch Maker  3 555

•  Айболит (remote control)  3 665

•  ListBox Drag & Drop  3 018

•  Доска для игры Реверси  81 731

•  Графические эффекты  3 948

•  Рисование по маске  3 253

•  Перетаскивание изображений  2 633

•  Canvas Drawing  2 761

•  Рисование Луны  2 586

•  Поворот изображения  2 194

•  Рисование стержней  2 170

•  Paint on Shape  1 569

•  Генератор кроссвордов  2 240

•  Головоломка Paletto  1 769

•  Теорема Монжа об окружностях  2 236

•  Пазл Numbrix  1 685

•  Заборы и коммивояжеры  2 059

•  Игра HIP  1 282

•  Игра Go (Го)  1 230

•  Симулятор лифта  1 475

•  Программа укладки плитки  1 219

•  Генератор лабиринта  1 548

•  Проверка числового ввода  1 367

•  HEX View  1 497

•  Физический маятник  1 359

 
скрыть


Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

Подсветить ссылки в TRichEdit



Оформил: DeeCo

{ 
  So what we need: 
  1. drop on your form a RichEdit component from win32 page of component 
  palette 
  2. in OnCreate event of your form write the next code: 
}

 procedure TForm1.FormCreate(Sender: TObject);
 var
   mask: Word;
 begin
   mask := SendMessage(Handle, EM_GETEVENTMASK, 0, 0);
   SendMessage(RichEdit1.Handle, EM_SETEVENTMASK, 0, mask or ENM_LINK);
   SendMessage(RichEdit1.Handle, EM_AUTOURLDETECT, Integer(True), 0);
   RichEdit1.Text := 'SwissDelphiCenter.com: '#13#10 +
     ' Site is located at www.SwissDelphiCenter.com';
 end;

 { 
  After that your Richedit will convert automatically any URLs in highlighted 
  (blue color and underlined). Even if you'll start to enter any text directly 
  in Richedit, any begings for URL will be converted too (not only existing 
  text string but new too) 
}

 // 3. now we must detect mouse clicks in URL range. For this task we must 
//    override WndProc method of our form: 
type
   TForm1 = class(TForm)
   protected
     procedure WndProc(var Message: TMessage); override;
   end;

 // 4. the implementation looks like this: 

procedure TForm1.WndProc(var Message: TMessage);
 var
   p: TENLink;
   strURL: string;
 begin
   if (Message.Msg = WM_NOTIFY) then
   begin
     if (PNMHDR(Message.lParam).code = EN_LINK) then
     begin
       p := TENLink(Pointer(TWMNotify(Message).NMHdr)^);
       if (p.Msg = WM_LBUTTONDOWN) then
       begin
         SendMessage(RichEdit1.Handle, EM_EXSETSEL, 0, Longint(@(p.chrg)));
         strURL := RichEdit1.SelText;
         ShellExecute(Handle, 'open', PChar(strURL), 0, 0, SW_SHOWNORMAL);
       end
     end
   end;

   inherited;
 end;

 { 
 5. Now you can compile your project (don't forget to include Richedit and 
 ShellAPI units in uses clause). 
}







Copyright © 2004-2024 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте