• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

компонент Checkbox в си++

  • Автор темы aurora87
  • Дата начала
A

aurora87

помогите пожалуйста с задачей. На форме расположены таблица stringGrid с одним столбцом, в который занесены дни недели, Edit и CheckBox. Перемещаясь по таблице день недели должен заноситься в edit и когда иду по таблице вверх - CheckBox true, когда вниз - false.
Дни недели заношу так StringGrid1->Cells[0][0]="Дни недели";
перемещаюсь по таблице:
в свойстве StringGrid1SelectCell
Edit1->Text=StringGrid1->Cells[0][ARow];

Не получается обработать CheckBox, подскажите, как
 
V

vital

эээ
if (чекбокс->чекед){делаем что нам надо?}

Добавлено: Или вам надо получить направление - куда двигается указатель? Вверх или вниз? Тогда при чем тут чекбокс? Вам нужно отлавливать нажатиестрелок - верхней или нижней в OnKeyPress, и в зависимости от того какая стрелка нажата - делать чекбокс чекед или нет написанным выше способом.
ПС.
Вышенаписанное имеет силу только для С++ Билдера(В других С++ будут отличаться названия методов, но суть та же), но судя по всему, вы использете именно его.
 
A

aurora87

то есть в keypress если kеy=' стрелке вверх', то сheckbox1->checked. в keypress параметр key типа сhar, как ввести символ стрелочки?или можно ввести код клавиши?
 
V

vital

В событии OnKeyDown - там вместо char - введите код клавиши. Есть предопределенные константы.. типа Key_UP_ARROW.. Ну или как-то так.. Не помню) Гляньте в справке)
 
A

aurora87

Код:
[b]void __fastcall TForm1::StringGrid1KeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if (Key = 0x41)
CheckBox1->Checked;
else
CheckBox1->Checked=false;
}[/b]
я пишу так и вообще в итоге не могу перемещаться по столбцу, вообще ничего не происходит. может я что-то не так понимаю
 
H

hosm

vital имел ввиду:
if (Key == 0x41)
и дальше
CheckBox1->Checked=true;
else if (Key == код_другой_стрелки)
CheckBox1->Checked=false;
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!