Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание гиперссылки в STATIC и в Rich Edit, Оч нужно! 
V
    Опции темы
MoZy
  Дата 4.6.2006, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 4.6.2006

Репутация: 1
Всего: 0



 smile  Приведите, пожалуйста, пример вставки гиперрсылки в Рич Едит и пример преобразования СТАТИКА в гиперссылку. Зарание, Большое спасибо! 
--------------------
Experimentia est optima rerum magistra
PM MAIL WWW ICQ   Вверх
Pulse69
Дата 5.6.2006, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 138
Регистрация: 28.4.2006
Где: Хабаровск

Репутация: 8
Всего: 10



STATIC, вроде, нельзя автоматически в линк переделать.
Я бы сделал так (на MFC).
Код

BOOL ClDlg::OnInitDialog()
{
    //.......
    m_Cursor = LoadCursor( NULL, IDC_HAND ); // m_Cursor имеет тип HCURSOR
    //.......
}

//..............

//   Ответ на сообщение STN_CLICKED - на статике кликнули мышкой
void ClDlg::OnStnClickedLink()  
{
    ShellExecute(GetSafeHwnd(),"open", "www.google.com" ,NULL, NULL, SW_SHOW );
}
/* Ответ на сообщение WM_SETCURSOR - поменяем курсор на руку*/
BOOL ClDlg::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) 
{
    if ( pWnd->m_hWnd == GetDlgItem( IDC_LINK )->m_hWnd )
    {
        SetCursor( m_Cursor );
        return TRUE;
    }
    
    return CDialog::OnSetCursor(pWnd, nHitTest, message);
}



Чтобы статик посылал  сообщение STN_CLICKED ему нужно установить флаг SS_NOTIFY.

Насчёт RichEdit:
Ему нужно послать сообщение 
Код

SendMessage( hRichEdit, EM_URLAUTODETECT, (WPARAM)TRUE, 0 );

Тогда он будет автоматически распознавать строчки с URL.

В случае, если тебя это не устраивает, посмотри информацию о сообщении EM_SETCHARFORMAT.
Как LPARAM дай указатель на CHARFORMAT2.
У него есть флаг CFM_LINK и эффект CFE_LINK. 

 
--------------------
Ctrl+Alt+Reset 
PM MAIL   Вверх
MoZy
Дата 5.6.2006, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 4.6.2006

Репутация: 1
Всего: 0



 smile Спасибо. 
--------------------
Experimentia est optima rerum magistra
PM MAIL WWW ICQ   Вверх
rsm
Дата 5.6.2006, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 999
Регистрация: 16.3.2005

Репутация: 4
Всего: 62



Давно использую код (см. аттач) и вполне им доволен. 

Присоединённый файл ( Кол-во скачиваний: 29 )
Присоединённый файл  stlink.zip 2,96 Kb
PM MAIL   Вверх
MoZy
Дата 6.6.2006, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 4.6.2006

Репутация: 1
Всего: 0



Спасибо, rsm.  
--------------------
Experimentia est optima rerum magistra
PM MAIL WWW ICQ   Вверх
Alv
Дата 27.7.2006, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 26.7.2006
Где: Москва

Репутация: нет
Всего: нет



rsm, огромное спасибо за исходник, все классно работает, но проблема в том, как на диалог с этими гиперссылками вставить текст не в виде гиперссылки? У меня даже в editbox'е текст получается в этом стиле  smile Посоветуйте что-нибудь  smile  
PM MAIL   Вверх
rsm
Дата 27.7.2006, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 999
Регистрация: 16.3.2005

Репутация: 4
Всего: 62



Alv, добавь проверку, чтобы стиль шрифта применялся только для нужного контрола. См. аттач. 

Присоединённый файл ( Кол-во скачиваний: 17 )
Присоединённый файл  stlink.zip 3,08 Kb
PM MAIL   Вверх
Alv
Дата 27.7.2006, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 26.7.2006
Где: Москва

Репутация: нет
Всего: нет



Мои горячие благодарности!!! Эх ма, как просто оказалось, а я даже и не подумал искать в этом направлении...  smile  Учиться, учиться и еще раз учиться - как нам и завещали... rsm, еще раз спасибо!  
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0531 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.