Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание ссылки с функциями кнопки 
V
    Опции темы
Rockie
Дата 20.11.2006, 01:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1143
Регистрация: 23.4.2006

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



Можно ли в C++Buider 6 создать надпись, котрая при наведении на нее мышкой меняла курсор и цвет, а при клике на ней вызывала какое-то действие? То есть чтобы это была не кнопка, а что-то по принцыпу ссылки в интернете. Если да то в какую сторону смотреть.

Возможно можно сделать невидимую кнопку по размеру надписи и обрабатывать нажатие по этой кнопке? Если да, то как сделать невидимую кнопку?

Это сообщение отредактировал(а) Rockie - 20.11.2006, 02:08


--------------------
Чтобы иметь большой гардероб - надо иметь большой гардероб.
PM   Вверх
anwe
Дата 20.11.2006, 03:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Если кнопка будет невидимая, то она не доступна  пользователю, на нее не нажать.
А по поводу надписи нужно отслеживать положение курсора отосительно формы и проводить определеные действия, если мышь над надписью, ведь координаты надписи известны.
PM MAIL   Вверх
pandrew
Дата 20.11.2006, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(Rockie)
Можно ли в C++Buider 6 создать надпись, котрая при наведении на нее мышкой меняла курсор и цвет, а при клике на ней вызывала какое-то действие? То есть чтобы это была не кнопка, а что-то по принцыпу ссылки в интернете. Если да то в какую сторону смотреть.

Существует много готовых пакетов (3-x фирм), где есть Label c подобными свойствами (поддерживает события OnMouseEnter, OnMouseLeave). Например: TRzLabel, TRzURLLabel пакета Raize (www.raize.com)
PM MAIL   Вверх
SenkraD
Дата 20.11.2006, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Ну я делал это через Label так:
Код

//Headerfile
private:
   TWndMethod OldLabelProc;
   void __fastcall NewLabelProc(Messages::TMessage &Message);

//CppFile
__fastcall TForm1::TForm1(TComponent *Owner)
    :TForm(Owner)
{
   OldLabelMethod         = Label1->WindowProc;
   Label1->WindowProc = NewLabelProc;
}

void __fastcall TForm1::NewLabelProc(Messages::TMessage &Message)
{
    if(Message.Msg == CM_MOUSEENTER)//Мышь вошла в пределы лабли
    {
       Label1->Font->Color = clBlue;
       Cursor = crHandPoint;
    }
    else
    {
        if(Message.Msg == CM_MOUSELEAVE)//Мышь вышла за пределы лабли
       {
          Label1->Font->Color = clBlack;
          Cursor = crDefault;
       }
    } 
    OldLabelMethod(Message);//остальные месаги обрабатывает по умолчанию
}


Я полагаю тебе такое надо  smile 


--------------------
 Имеющий язык - да не убоится спросить! 
user posted image
PM MAIL ICQ   Вверх
Rockie
Дата 20.11.2006, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1143
Регистрация: 23.4.2006

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



SenkraD, спасибо! именно то, что надо! smile
anwe, pandrew, вам также спасибо за ответы!


--------------------
Чтобы иметь большой гардероб - надо иметь большой гардероб.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


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

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


 




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


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

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