Форум — Ответы     (  К темам )
 ?  Dracula: Два события на одну кнопку... (06-04-2003 22:53:53)
Здравствуйте!
Помогите пожалуйста с одним вопросом.
Как мне например на одну кнопку навесить два события.
Хочу сделать кнопку при нажатии на которую выдвигается лоток CD-ROM'а, меняется на ней Caption, а при повторном нажатии задвигается CD.
Какими функциями осуществлять открытие/закрытие я знаю, но КАК их правильно использовать в обработчике клика по кнопке????
Заранее огромное спасибо!!!
 Георгий (06-04-2003 23:45:52)
ЭЛЕМЕНТАРНО (похоже зря я из запоя вышел...)

void __fastcall TForm1::Button1Click(TObject *Sender)
{
static int CDstate=0;
char* StateNames[]={"her ego znaet","типа выдвинут","типа вдвинут"};
switch (CDstate)
{
case 0://не определённое состояние
CDstate=GetCDState();
CDstate=(CDstate<0 || CDstate>2)?(0):(CDstate);
break;
case 1://задвинутое — выдвигаем
CDstate=2;
edject();
break;
case 2://выдвинутое — задвигаем
CDstate=1;
antiEdject();
break;
default://??? на всякий случай...
break;
};
Button1->Caption=StateNames[CDstate];
}

о конечных автоматах даже в школе расказывают...
вместо antiEdject() edject() GetCDState() поставь те функции, что тебе нужны