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

Тема в разделе "C/C++/C#", создана пользователем aurora87, 14 янв 2010.

  1. aurora87

    aurora87 Гость

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

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

    vital Больной Компом Детектед
    Команда форума Web Team

    Регистрация:
    29 янв 2006
    Сообщения:
    2.474
    Симпатии:
    27
    эээ
    if (чекбокс->чекед){делаем что нам надо?}

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

    aurora87 Гость

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

    vital Больной Компом Детектед
    Команда форума Web Team

    Регистрация:
    29 янв 2006
    Сообщения:
    2.474
    Симпатии:
    27
    В событии OnKeyDown - там вместо char - введите код клавиши. Есть предопределенные константы.. типа Key_UP_ARROW.. Ну или как-то так.. Не помню) Гляньте в справке)
     
  5. aurora87

    aurora87 Гость

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

    vital Больной Компом Детектед
    Команда форума Web Team

    Регистрация:
    29 янв 2006
    Сообщения:
    2.474
    Симпатии:
    27
  7. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    vital имел ввиду:
    if (Key == 0x41)
    и дальше
    CheckBox1->Checked=true;
    else if (Key == код_другой_стрелки)
    CheckBox1->Checked=false;
     
Загрузка...

Поделиться этой страницей