Здравствуйте, у меня есть диалог типа CAknGlobalMsgDialog, я пытаюсь изменить софткеи в нем (мне нужно или добавить третий, или сделать перехват, зеленой трубки, например). написал ресурс, нашел метод msgQueryDialog->UpdateMsgQuery(R_SMS_DIALOG_SOFTKEYS); после чего возникает системная ошибка (точнее паника CONE 14 - ресурс не найден в каком то системном сервере) и эмулятор закрывается. Погуглив, я нашел причинуCode:RESOURCE CBA r_sms_dialog_softkeys { buttons = { CBA_BUTTON { id = EAknSoftkeyOk; txt = STR_PluginsListView_1; }, CBA_BUTTON { id = EAknSoftkeyEdit; txt = STR_PluginsListView_2; }, CBA_BUTTON { id = EAknSoftkeyCancel; txt = STR_PluginsListView_2; } }; }
. При попытке передать R_AVKON_SOFTKEYS_OK_CANCEL__SELECT и запустить в эмуляторе S60 5th - отображается слева ОК, справа - Отмена, т.е не работает, но и не падает. Но тем не менее этот способ не подходит, т.к не будут поддерживаться S60 3rd, S60 3rd FP1. Как добавить перехват кнопки, либо третий софткей в такой диалог? Думал написать свой диалог с таким контролом - полез в ПДК, там вообще нет CAknGlobal... диалогов (искал в \src_oss_mw_classicui\sf\mw\classicui). Как добавить в такой диалог третий софткей, либо сделать перехват кнопок?CAknGlobal... stuffs run in a separate process, so you can not use custom resources. However you can probably use "stock" resources, try passing various R_AVKON_SOFTKEYS_x_y to the Update... method (each class has something like that with slightly varying name).

Reply With Quote

