Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Arvest
0 / 0 / 0
Регистрация: 21.02.2012
Сообщений: 4
#1

ComboBox раскрытие списка по клику и фокусу. Странное поведение - C++

19.11.2012, 16:15. Просмотров 779. Ответов 1
Метки нет (Все метки)

C++ Builder 5, форма заведения данных - пользователь выбирает данные в нескольких комбобоксах.
Пытаюсь сделать так, чтобы облегчить задачу юзерам (юзеры - тетечки ленивые, плохо знакомые с компьютером).
Надо:
а) при переходе TABом на ComboBox он автоматически раскрывался
б) при клики мышкой на стрелке раскрытия - тоже раскрывался
в) при уже взятом ComboBox в фокусе и нажатии Enter (или пробел) - тоже раскрывался список.
г) при уже взятом ComboBox в фокусе и клике мышкой на области ввода - тоже раскрывался список.
Вот что сделал:


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
  ComboBox1->Style = csDropDown;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ComboBox1Enter(TObject *Sender)
{
 
    if (ComboBox1->DroppedDown == true)
    {
        return;
    } else ComboBox1->DroppedDown = true;
 
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::ComboBox1Exit(TObject *Sender)
{
    ComboBox1->DroppedDown = false;
}
//---------------------------------------------------------------------------
 
 
void __fastcall TForm1::ComboBox1KeyPress(TObject *Sender, char &Key)
{
    if ((Key==13)||(Key==32))
    {
      Key=0;
      ComboBox1->DroppedDown=true;
    }
}
//---------------------------------------------------------------------------
Результат
а), б), в) - вроде бы работают.
г) - не знаю как сделать

Еще наблюдается такой баг (или фича): если после запуска программы сразу кликнуть на стрелку ComboBox, то он раскрывается на миг и сразу сворачивается. При повторном клике на стрелку - раскрывается нормально.

Буду очень благодарен Гуру форума за помощь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2012, 16:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос ComboBox раскрытие списка по клику и фокусу. Странное поведение (C++):

Странное поведение - C++
Здравствуйте еще раз :) Теперь возникла другая непонятка. Есть класс StringParser, объекты которого умеют разбивать строку на подстроки,...

Странное поведение new - C++
Объясните почему оператор new выделяет неверное количество памяти? # include <iostream> using namespace std; char* interpitator( int...

Странное поведение транслятора - C++
В следуюшем примере код компилируется нормально, но объект класса b не содается (пробывал на Visual studio 10 и на Borland builder 5), что...

Странное поведение указателя - C++
class XMLDocument { public: char *xml; XMLDocument() { }; void NewXML()

Странное поведение указателя - C++
Здравствуйте, наткнулся на непонятное мне поведение указателя или точнее менеджера памяти. Есть код: #include <iostream> #include...

Странное поведение в коде - C++
Есть два класса: ArrayList<T> и Array<T> (реализация в конце поста). И есть такой код: ArrayList<int> list = { 1, 2, 3 }; ...

1
Arvest
0 / 0 / 0
Регистрация: 21.02.2012
Сообщений: 4
21.11.2012, 11:30  [ТС] #2
Никто не сталкивался с такими проблемами?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2012, 11:30
Привет! Вот еще темы с ответами:

Странное поведение string - C++
Здравствуйте. Сейчас я пытаюсь скомпилировать под Windows проект, который ранее писался под Linux. Делаю я это с помощью MinGW от...

странное поведение fstream - C++
ниже представлен черновой код курсача. как из него видно я пытаюсь работать с файлами, но у меня ничего не выходит. а именно: я создаю...

Странное поведение компилятора - C++
Всем привет! Я конечно понимаю что нужно выкладывать минимальный код повторяющий мою проблему но он будет достаточно грамосток т.к. в...

Странное поведение (сдвиг) - C++
Здравствуйте.Прошу помочь с задачкой. Программа , должна "сдвигать" данные в один бит(128), но при вызове функции с разными параметрами,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.