Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.04.2008, 23:01   #1
NeiL
Пользователь
 
Регистрация: 28.11.2007
Сообщений: 49
По умолчанию Запрет на выбор IITEMS в ComboBox

Господа программисты, помогите начинающему. Сказали сделать слеедующее: Имеется 2 ComboBox.
В 1-ом и 2-ом содержатся Items: первый, бизнесс, эконом. Как запретить для одного ComboBox выбирать такой же Item как и во 2-ом. (то есть, если в 1-ом выбрано эконом во втотом не должен выбираться аналогичный Item).
NeiL вне форума Ответить с цитированием
Старый 08.04.2008, 00:54   #2
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

Цитата:
Сообщение от NeiL Посмотреть сообщение
Господа программисты, помогите начинающему. Сказали сделать слеедующее: Имеется 2 ComboBox.
В 1-ом и 2-ом содержатся Items: первый, бизнесс, эконом. Как запретить для одного ComboBox выбирать такой же Item как и во 2-ом. (то есть, если в 1-ом выбрано эконом во втотом не должен выбираться аналогичный Item).
Ну на скорую руку можно так:



Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    ComboBox1: TComboBox;
    ComboBox2: TComboBox;
    procedure ComboBox1Change(Sender: TObject);
    procedure ComboBox2Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
ComboBox1.Items[ComboBox1.Itemindex];
ComboBox2.Enabled:=true;

// Изначально сделай ComboBox2.Enabled:=false;

end;

procedure TForm1.ComboBox2Change(Sender: TObject);
begin
ComboBox2.Items[ComboBox2.Itemindex];
if  ComboBox1.Items[ComboBox1.Itemindex] = ComboBox2.Items[ComboBox2.Itemindex] then

begin

// Верни Выбор 

Showmessage('Нельзя');

end;

  end;
end.
Я часть той силы, что вечно хочет зла, но вечно совершает благо..

Последний раз редактировалось Stanislav; 08.04.2008 в 00:56.
Stanislav вне форума Ответить с цитированием
Старый 09.04.2008, 00:00   #3
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
то есть, если в 1-ом выбрано эконом во втотом не должен выбираться аналогичный Item
что вы понимаете под словами "не должен выбираться"? Убрать его из списка? или при выборе его тут же сменить на другой? Или показать сообщение? Или что-нибудь другое?

В любом случае ключевое свойство для определения - ItemIndex
Например удаление из списка:
Код:
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
Combobox2.Items:=Combobox1.Items;
Combobox2.Items.Delete(Combobox1.ItemIndex);
end;
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 09.04.2008 в 00:08.
mutabor вне форума Ответить с цитированием
Старый 09.04.2008, 00:43   #4
NeiL
Пользователь
 
Регистрация: 28.11.2007
Сообщений: 49
По умолчанию

Цитата:
Сообщение от mutabor Посмотреть сообщение
что вы понимаете под словами "не должен выбираться"? Убрать его из списка? или при выборе его тут же сменить на другой? Или показать сообщение? Или что-нибудь другое?
ПоД словами не должен выбираться планируется возвращать предыдущий Item. (Не в коем случае не выдавать сообщений или удалять Item)

NeiL вне форума Ответить с цитированием
Старый 09.04.2008, 00:50   #5
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Все равно не понятно. В любом случае карты вам в руки, принцип надеюсь ясен?
з.ы. А-а, понял. Имхо не лучший выбор, от такого поведения комбобокса пользователь может быть в замешательстве.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 09.04.2008 в 00:55.
mutabor вне форума Ответить с цитированием
Старый 10.04.2008, 00:52   #6
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

Цитата:
Сообщение от mutabor Посмотреть сообщение
Все равно не понятно. В любом случае карты вам в руки, принцип надеюсь ясен?
з.ы. А-а, понял. Имхо не лучший выбор, от такого поведения комбобокса пользователь может быть в замешательстве.
Полностью солидарен, выбрали а в ответ тишина...... а так предупреждение

p.s NeiL, вас мой вариант не устроил?
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу внести строку из combobox в combobox!? tacer Помощь студентам 1 30.11.2007 19:45
запрет редактирования AnGrig Компоненты Delphi 3 18.10.2007 11:37
Запрет печати vserg4 Microsoft Office Word 4 26.01.2007 20:45
Запрет копирования pinhead Win Api 11 10.01.2007 07:01
запрет Alt+F4 Freedom Общие вопросы Delphi 2 09.11.2006 11:47