Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Hint в раскрытом меню ComboBox 
:(
    Опции темы
Comm
Дата 25.1.2009, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Есть у меня пример кода ..если текст в TEdit не помещается полностью ,то он отображается в  Hint-e(вспылающая подсказка).

Вопрос, можно ли то же самое сделать в ComboBox...  что бы при наведении на одну из строк в раскрытом ComboBoxe вспылала подсказка с полным текстом строки? если да то опишите пожалуйста примерные действия =)) и это....  как можно опять же в раскрытом ComboBoxe  нажатием правой кнопкой мыши вызвать PopupMenu. Огромное Спасибо за внимание и понимание =)....

Это сообщение отредактировал(а) Comm - 26.1.2009, 21:46


--------------------
=)))))
user posted image
PM MAIL ICQ   Вверх
Comm
Дата 26.1.2009, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Идей  ни у кого нету ?  smile 

Это сообщение отредактировал(а) Comm - 26.1.2009, 22:42


--------------------
=)))))
user posted image
PM MAIL ICQ   Вверх
Dem_max
Дата 27.1.2009, 07:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Попробуй переделать этот код
Код

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
   : TForm(Owner)
{
    Application->HintPause = 0;
    Application->HintShortPause = 0;
    Application->HintHidePause = 10000000000;
    Application->OnShowHint = Form1->DoShowHint;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::DoShowHint(System::AnsiString &HintStr, bool &CanShow, THintInfo &HintInfo)
{
  CanShow = true;
  if (HintInfo.HintControl == ListBox1 )
  {
         if( Mouse->Capture )
        {
            CanShow = false;
            return;
        }
     HintInfo.ReshowTimeout = 100;
     HintInfo.HintColor = clAqua;// Changes only for this hint*/

     TPoint pnt;
     SIZE strsize;
     int numstr = ListBox1->ItemAtPos(HintInfo.CursorPos,true);
     if(numstr<0)
     {
      CanShow = false;
      Application->HideHint ();
      return;
     }
     HintStr = ListBox1->Items->Strings[numstr];
     strsize = ListBox1->Canvas->TextExtent(HintStr);
     if(strsize.cx<=ListBox1->ClientWidth)
     {
      CanShow = false;
      Application->HideHint ();
      return;
     }
     pnt.x = -1;
     pnt.y =
int(HintInfo.CursorPos.y/ListBox1->ItemHeight)*ListBox1->ItemHeight - 3;
     pnt = ListBox1->ClientToScreen(pnt);
     HintInfo.HintPos.x = pnt.x;
     HintInfo.HintPos.y = pnt.y;
     HintInfo.HintMaxWidth = Screen->Width-pnt.x;
     /*HintInfo.HideTimeout = 100;*/
  }
}
//---------------------------------------------------------------------------




--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
Comm
Дата 27.1.2009, 08:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



О спасибо попробую  smile 


--------------------
=)))))
user posted image
PM MAIL ICQ   Вверх
sergey_85
Дата 27.1.2009, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 445
Регистрация: 17.4.2007
Где: Россия, Челябинск

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



Попробуй вот так
Код

/увеличить длину списка combobox
//---------------------------------------------------------------------------
void __fastcall TForm::cbComboBoxDropDown(
      TObject *Sender)
{
    SendMessage(cbComboBox->Handle,CB_SETDROPPEDWIDTH, [здесь длина списка, например 300], 0);
}



--------------------
A good design always pays off.
PM MAIL   Вверх
Comm
Дата 27.1.2009, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата

/увеличить длину списка combobox
//---------------------------------------------------------------------------
void __fastcall TForm::cbComboBoxDropDown(
      TObject *Sender)
{
    SendMessage(cbComboBox->Handle,CB_SETDROPPEDWIDTH, [здесь длина списка, например 300], 0);
}

Отлично,спасибо.... вот теперь как бы сделать так,что бы список изменял размер не в право а в лево....а то уходит за края экрана 


--------------------
=)))))
user posted image
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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