===== CreateDateInputVA =====
==== Синтаксис ====
GUI* CreateDateInputVA( int, ... );
==== Описание ====
Функция создает окно для ввода даты
==== Параметры ====
* **int** - 0
== Переменные аргументы: ==
* **VAR_BOOK** - указатель на BOOK к которой необходимо привязать GUI
* **VAR_HEADER_TEXT** - TEXTID текста, используемого в качестве заголовка окна
* **VAR_DATEINP_DATE** - дата в окне
* **VAR_DATEINP_DATEFORMAT** - формат даты
==== Возвращаемое значение ====
Возвращает указатель на созданный GUI
==== Пример ====
#define DI_GET_YEAR(x) ((unsigned int)x&0xFFFF)
#define DI_GET_MONTH(x) (((unsigned int)x>>16)&0xFF)
#define DI_GET_DAY(x) ((unsigned int)x>>24)
void onDateInputClose(BOOK * book, GUI *)
{
FreeBook(book);
}
void onDateInputOK(BOOK * book, GUI * gui)
{
char buf[11];
unsigned int date = DateInput_GetDateInt(gui);
sprintf(buf, "%02d.%02d.%04d", DI_GET_DAY(date), DI_GET_MONTH(date), DI_GET_YEAR(date));
MessageBox(EMPTY_TEXTID, TextID_Create(buf, ENC_LAT1, TEXTID_ANY_LEN), NOIMAGE, 1, 5000, 0);
}
void CreateDateInput(void)
{
DATETIME dt;
char format;
BOOK * DateInput = new BOOK;
CreateBook(DateInput, 0, 0, "DateInputTest", -1, 0);
REQUEST_DATEANDTIME_GET(SYNC, &dt);
REQUEST_DATEFORMAT_GET(SYNC, &format);
GUI * Date = CreateDateInputVA(0,
VAR_BOOK(DateInput),
VAR_HEADER_TEXT(STR("Date")),
VAR_DATEINP_DATEFORMAT((int)format),
VAR_DATEINP_DATE(&dt.date),
0);
GUIObject_SoftKeys_SetAction(Date, ACTION_ACCEPT, onDateInputOK);
GUIObject_SoftKeys_SetAction(Date, ACTION_BACK, onDateInputClose);
GUIObject_SoftKeys_SetAction(Date, ACTION_LONG_BACK, onDateInputClose);
}
==== См.также ====
[[REQUEST_DATEANDTIME_GET]], [[REQUEST_DATEFORMAT_GET]], [[DateInput_GetDateInt]]