Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.07.27;
Скачать: [xml.tar.bz2];

Вниз

Ссылка в тексте   Найти похожие ветки 

 
uno-84   (2008-06-24 15:37) [0]

Здравствуйте, подскажите пожалуйста! Каким образом мне сделать, что бы в RichEdite ссылки подсвечивалися синим цветом, причем помимо ссылок RichEdit содержет еще и текст. Заранее спасибо!


 
{RASkov} ©   (2008-06-24 16:56) [1]

> [0] uno-84   (24.06.08 15:37)
> в RichEdite ссылки подсвечивалися синим цветом

SendMessage(RichEdit.Handle, EM_AUTOURLDETECT, Integer(True), 0);


 
uno-84   (2008-06-25 10:59) [2]

не распознает EM_AUTOURLDETECT, как мне избавиться от этой ошибки


 
Palladin ©   (2008-06-25 11:12) [3]

Const
EM_AUTOURLDETECT=WM_USER+91


 
uno-84   (2008-06-25 11:24) [4]

Спасибо большое


 
{RASkov} ©   (2008-06-25 13:21) [5]

> [2] uno-84   (25.06.08 10:59)

Это не ошибка.... и кстати, как думаешь, Palladin или я сами придумали эту константу? нет, но в делфи есть поиск, где можно указать директорию с VCL и все бы нашлось.... Нет, я не к тому, что бы как-то повыпендриваться, а к тому, что если пользоваться поиском, то при нахождении одного ты видишь и остальные ответы..... но ты не пользуешься поиском и соответственно у тебя сейчас будет вопрос как обработать клик по ссылке, так? :)
ЗЫЖ Поиск бывает не только на жестком диске, а в интернете есть практически все, что и у тебя на ХДД
:о)


 
uno-84   (2008-06-25 13:30) [6]

Но у меня возник еще один вопрос, как ссылку в RichEdit я записываю полное имя файла

procedure TNewMesForm.UrBtnClick(Sender: TObject);
begin
    SendMessage(Mesredit.Handle, EM_AUTOURLDETECT, Integer(True), 0);
    OpenDialog1 := TOpenDialog.Create(self);
    OpenDialog1.Title := "Файл";
    OpenDialog1.InitialDir := "S:\";
    If OpenDialog1.Execute then
    begin
         Mesredit.Text := MesRedit.Text + "<" + " " + "http:\\" + OpenDialog1.FileName + ">";
    end;
end;
И дело в том, что если имя файла имеет пробел ссылка после пробела не поддерживется. И имя получается не полной


 
Palladin ©   (2008-06-25 13:32) [7]

заменяй пробелы на "%20"


 
uno-84   (2008-06-25 14:12) [8]

просто по этой ссылке нужно переходить на  сетевой ресурс и открывать, а имя файло уже получается измененно


 
Palladin ©   (2008-06-25 14:19) [9]

а давай сначала попробуешь?


 
uno-84   (2008-06-25 15:43) [10]

Пробел - Char, а %20 уже String, могули я заменить на %?


 
Palladin ©   (2008-06-25 15:45) [11]

StringReplace + F1


 
uno-84   (2008-06-25 16:22) [12]

Спасибо огромное, теперь все нормально,)))) буду искать как обработать клик по ссылке


 
{RASkov} ©   (2008-06-26 00:55) [13]

> [6] uno-84   (25.06.08 13:30)
>OpenDialog1 := TOpenDialog.Create(self);

:)

> [12] uno-84   (25.06.08 16:22)

http://yandex.ru/yandsearch?clid=9582&text=EM_AUTOURLDETECT :)
http://www.delphisources.ru/pages/faq/base/re_url_highlight.html


 
uno-84   (2008-06-26 09:37) [14]

Нашел себе:

procedure TNewMesForm.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(MesRedit.Handle, EM_EXSETSEL, 0, Longint(@(p.chrg)));
                   strURL := MesRedit.SelText;
                   ShellExecute(Handle, "open", PChar(strURL), 0, 0, SW_SHOWNORMAL);
              end
         end
    end;

    inherited;
end;

Но ссылки все ровно не открываются, не знаете почему?


 
Palladin ©   (2008-06-26 10:07) [15]

инициализируй RichEdit, что бы он отправлял EN_LINK
Var
f:Cardinal;

f:=SendMessage(TRichEdit.Handle,EM_GETEVENTMASK,0,0);
f:=f or ENM_LINK;
SendMessage(TRichEdit.Handle,EM_SETEVENTMASK,0,f);



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

Форум: "Начинающим";
Текущий архив: 2008.07.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.008 c
2-1214474241
Fobiya
2008-06-26 13:57
2008.07.27
Реакция на нажатие правой кнопки мыши


2-1214466122
programmer90
2008-06-26 11:42
2008.07.27
импорт из Excel


15-1213103553
oxffff
2008-06-10 17:12
2008.07.27
Среди наших кто-нибудь балуется разработкой компилятора?


3-1203082496
Sonia
2008-02-15 16:34
2008.07.27
Upper и параметр


2-1214306045
Тын-Дын
2008-06-24 15:14
2008.07.27
Корректность конструкции при переопределении конструктора





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский