Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема с переходом по ссылке [D7, XP]


uno-84 ©   (2008-07-04 10:51:00) 

Здравствуйте! подскажите пожалуйста! У меня RichEdit на ходиться PageControl который в свою очередь лежит на Panel, я пишу

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;
и перход по ссылкам не осуществляется, когда кидаю RichEdit(MesRedit) на форму то все нормально


Palladin   (2008-07-04 11:17:00) [1]


> uno-84   (04.07.08 11:13) [2]

TControl.WindowProc + F1


uno-84   (2008-07-04 11:13:00) [2]

Каким образом?
вместо
procedure TNewMesForm.WndProc(var Message: TMessage);
написать
procedure TTabSheet.WindowProc(var Message: TMessage);
тогда выдает ошибку


Palladin   (2008-07-04 11:04:00) [3]

И не будет, RichEdit отправляет уведомление своему владельцу, коим, в твоем случае, является TTabSheet. Выход: Заменить TTabSheet.WindowProc


Наверх

Титульная страница Поиск, карта сайта Написать письмо