===== DispObject_SoftKeys_GetList =====
==== синтаксис ====
LIST* DispObject_SoftKeys_GetList(DISP_OBJ *, BOOK *bk, char __zero);
==== описание ====
Функция возвращает список действий, назначенных на определённый DISP_OBJ *
==== параметры ====
* **DISP_OBJ* ** - указатель на DISP_OBJ определённого GUI
* **bk** - указатель на книгу данного GUI/DISP_OBJ
* **__zero** - обычно используется 0, но также возможны 1 и 2, но их результат не изучен пока
==== возвращаемое значение ====
Возвращает указатель на список (LIST) с действиями
==== структура каждого действия ====
typedef struct
{
u16 action;
u16 unk;
BOOK * book;
DISP_OBJ * DISP_OBJ1;
u16 unk2;
u16 unk3;
int text;
int text_mini;
int text_disabled;
int text_help;
u16 parent_action;
u16 unk4;
LIST * list;
void (*proc)(BOOK *,void*);
char unk5[12];
char enable;
char visible;
}SOFTKEY;
==== пример ====
LIST *lst = DispObject_SoftKeys_GetList(DO,bk, 0);
if (lst)
{
SOFTKEY *sk=List_Get(lst,0);
if (sk)
{
wchar_t test[50];
snwprintf(test,49,L"%X", sk->proc); //Если действие с индексом 0 существует, то в test появится адрес процедуры, назначенной на данное действие
}
}
==== см. также ====
[[elflib:List_Get]], [[elflib:snwprintf]]