![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
CheckBox
Washington © (2007-03-10 21:12:00)Как сделать, чтобы CheckBox нельзя было отмечать вручную. А заодно то же самое для CheckListBox, пожалуйста подскажите
RASkov (2007-03-12 21:08:00) [21]> [23] Knight © (12.03.07 20:57)
Если это мне, то легко:
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
CheckBox1.Checked:=False;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
CheckBox1.OnClick:=nil;
CheckBox1.Checked:=True;
CheckBox1.OnClick:=CheckBox1Click;
end;
Knight (2007-03-12 20:57:00) [22]А ты поробуй его отметить.. хоть как-то.. во посмеёмся... проще удалить :)
RASkov (2007-03-12 20:56:00) [23]Странно..., а у меня вот так все работает
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
CheckBox1.Checked:=False;
end;
Т.е. при клике по чекбоксу он просто не выделяется(не ставиться галочка) и все...
D7 - на всякий случай, но это по моему не важно.....
Knight (2007-03-12 20:49:00) [24]Щас только посмотрел, что тема от 10-го числа... ужас... :)))
Washington (2007-03-12 20:45:00) [25]Парились долго...
Сделал через панель - всё путём. Спасибо
зы А чем сленг не угодил?
Knight (2007-03-12 20:43:00) [26]Ну и брось его на панель без выпухлостей и вогнутостей.. поставь панели Енэйблед=Фолс, убери обработку смену статуса чекса в онКлике и будет те счастье ;)
Washington (2007-03-12 20:39:00) [27]Чекс только один
Knight (2007-03-12 20:36:00) [28]Если чексов несколько и они как-то логически связаны, то можно запользовать GroupBox результат то же.
Джо (2007-03-12 20:36:00) [29]> но этот вариант тоже чтото не пропёр
Предлагаю завязывать со сленгом.
Knight (2007-03-12 20:35:00) [30]А про серость... пробовал на панель закинуть и сделать Enabled=False не у бокса а у панели?
Knight (2007-03-12 20:34:00) [31]Зачем тыт циклишь прогу если статус меняется автоматом (при клике) или устанавливается тобой где-то ещё?
Knight (2007-03-12 20:32:00) [32]Телепортатор оставляю на месте.. работает ещё.. :)))))))))
Knight (2007-03-12 20:32:00) [33].. т.е. телепатор...
Washington (2007-03-12 20:31:00) [34]ёлки-брёвна, прямо взрыв эмоций
Во-первых когда CheckBox1.Enabled = false он серого цвета!!!!
Во-вторых когда
>procedure TForm5.CheckBox1Click(Sender: TObject);
>begin
>if CheckBox1.Checked=true then CheckBox1.Checked:=true else
>CheckBox1.Checked:=false;
>end;
ничего не происходит, а если
>procedure TForm5.CheckBox1Click(Sender: TObject);
>begin
>if CheckBox1.Checked=true then CheckBox1.Checked:=false else
>CheckBox1.Checked:=true;
>end;
ошибка - Stack Overflow.
Был предложен такой вариант:
procedure TForm1.CheckBox1Click(Sender: TObject);
var
old: TNotifyEvent;
begin
if b then
with (Sender as TCheckBox) do
begin
old := OnClick;
OnClick := nil;
Checked:=not Checked;
OnClick := old;
end;
end;
b - гдлобальная перемена boolean
но этот вариант тоже чтото не пропёр
Knight (2007-03-12 20:18:00) [35]Если таковое присутствует... а он таки присутствует.. или мне мой телепататор абгрейдить надо %)))))))
Knight (2007-03-12 20:17:00) [36]И убери
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
CheckBox1.Checked:=not CheckBox1.Checked;
end;
Knight (2007-03-12 20:09:00) [37]И не сереет и ничё никуда не прёт %)
Knight (2007-03-12 20:07:00) [38]Бросаешь его на панел и делаешь нот енэйвлед её :)
Джо (2007-03-12 20:06:00) [39]> CheckBox:=false нельзя т.к. цикл и вследствие - ошибка
Что там «прет»? Ну, сделай так, чтобы не «перло» или, если на то пошло, опиши по-человечески, что там у тебя происходит.
Knight (2007-03-12 20:04:00) [40]Прёт где-то в другом месте...