UIX DlgDelete: различия между версиями
(JIPvvEuWZRN) | NoPH8 (обсуждение | вклад) м (Снята защита с «UIX DlgDelete») | ||
(не показано 29 промежуточных версий 5 участников) | |||
Строка 1: | Строка 1: | ||
− | UIX_DlgDelete | + | 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_DeleteTopDlg]] | ||
+ | |||
+ | == См. также == | ||
+ | [[UIX_Delete]] [[APP_UtilUIXDialogDelete]] [[UIX_DeleteTopDlg]] | ||
+ | |||
+ | |||
+ | [[Категория:Функции_UIX]] |
Текущая версия на 17:22, 9 октября 2011
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