Открыть главное меню

Изменения

UIX DlgDelete

1938 байт добавлено, 10:15, 5 июня 2010
create
UIX_DlgDelete — удаление диалога по указателю на его экземпляр.

== Прототип ==
<pre>UINT32 UIX_DlgDelete( void * dlg );</pre>
'''dlg''' - указатель на экземпляр диалога.

Возвращает RESULT_OK в случае успеха.

== Описание ==
Функция удаляет экземпляр диалога и все его дочерние диалоги. Также исправляется у родителя (если таковой был) указатель на дочерний диалог.


== Примеры ==
<pre>
// функция создает "композитор сообщения" поверх текущего диалога
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);
}
</pre>

== См. также ==
[[UIX_Delete]] [[APP_UtilUIXDialogDelete]] [[UIX_DeleteTopDlg]]


[[Категория:Функции_UIX]]
84
правки