GUI* CreateDateInputVA( int, ... );
Функция создает окно для ввода даты
Возвращает указатель на созданный 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); }