UIX DlgDelete
UIX_DlgDelete — удаление диалога по указателю на его экземпляр.
Содержание
Прототип
UINT32 UIX_DlgDelete( void * dlg );
dlg - указатель на экземпляр диалога.
Возвращает RESULT_OK в случае успеха.
Описание
Функция удаляет экземпляр диалога и все его дочерние диалоги. Также исправляется у родителя (если таковой был) указатель на дочерний диалог.
Примеры
// функция создает "композитор сообщения" поверх текущего диалога UINT32 openMsgComposer( EVENT_STACK_T * ev_st, APPLICATION_T * app, CONTACT_T * contact ) { THISAPP_T * papp = thisapp(app); void * d; // pDialog char hdr[64]; // запомним текущий контакт papp->mc_contact = contact; // создаем диалог ввода текста d = UIX_CreateInputDlg(app, 1024*2-1, NULL, INP_USE_DIGITAL | INP_USE_ENGLISH | INP_USE_OTHERS, // цифры, латиница и остальные языки mcOnDone); if ( d == NULL ) // если диаог не удалось создать return RESULT_FAIL; if ( UIX_DialogSetChildDlg(app->dialog, d) != RESULT_OK ) // если текущему диалогу не удалось выставиь дочерний UIX_DlgDelete(d); // удалим созданный диалог // Динамический заголовка диалога sprintf(hdr, "Message to '%s'", contact->name); UIX_DlgSetTitle(d, hdr, GetUINStatusIcon(contact->flags)); // Показать диалог return UIX_Render(app->dialog); }
Более наглядных примеров нету т.к. обычно используется UIX_DeleteTopDlg