Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запретить выбирать пункт в ComboBox 
:(
    Опции темы
Matematik
Дата 25.8.2006, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Надо в комбобокс сделать выбор
Код

Группа 1
-Итем 1
-Итем 2
-Итем 3
Группа 2
-Итем 4
-Итем 5
-Итем 6

Так вот надо запретить выбирать пункты "Группа 1", "Группа 2"
 smile 
PM MAIL WWW ICQ   Вверх
Romikgy
Дата 25.8.2006, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

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



а не проще ли зделать 2 комбобокса, в одном перечислить группы, а во втором динамически заливать нужные итемы?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Matematik
Дата 25.8.2006, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Проще, но хочется так
PM MAIL WWW ICQ   Вверх
Romikgy
Дата 25.8.2006, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

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



или OnDrawItem обрабатывай


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Matematik
Дата 25.8.2006, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



В OnDrawItem идет прорисовка, группы я крашу другим цветом, хочется чтобы юзер не смог нажать на этот итем
PM MAIL WWW ICQ   Вверх
Snowy
Дата 25.8.2006, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

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



Код

procedure TForm1.ComboBoxEx1Select(Sender: TObject);
begin
  with TComboBoxEx(Sender) do
    if ItemsEx.ComboItems[ItemIndex].Indent < 0 then
      ItemIndex := ItemIndex + 1;
end;
В ComboBoxEx группы должны иметь Indent = -1, а элементы Indent = 1
PM MAIL   Вверх
Yanis
Дата 25.8.2006, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



А я бы разукрашиванием решил бы проблему smile
Код
procedure TForm1.FormCreate(Sender: TObject);
var
  i: Integer;
begin
  ComboBox1.Clear;

  for i := 0 to 9 do
    ComboBox1.Items.Add('Item #' + IntToStr(i+1));
end;

procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
var
  bIt: Boolean;
begin
  bIt := False;
  case Index of
    1,5:
      begin
        ComboBox1.Canvas.Brush.Color := clGray;
        bIt := True;
        if odSelected in State then
          begin
            ComboBox1.Canvas.Font.Color := clBlack;
          end;
      end;
  else
    if odSelected in State then
      begin
        ComboBox1.Canvas.Font.Color := clRed;
        ComboBox1.Canvas.Brush.Color := cl3DLight;
      end
    else
      ComboBox1.Canvas.Brush.Color := ComboBox1.Color;
  end;

  ComboBox1.Canvas.FillRect(Rect);
  if bIt then
    ComboBox1.Canvas.TextOut(Rect.Left, Rect.Top, ComboBox1.Items.Strings[Index])
  else
    ComboBox1.Canvas.TextOut(Rect.Left+10, Rect.Top, ComboBox1.Items.Strings[Index])
end;


Добавлено @ 12:49 
Ну и естественно обрабатывать ещё последующий выбор Item'а.


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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