Создание Эльфов : Эльфостроение : Форум |
Страница 199 из 211: « 1 ... 195 196 197 198 [199] 200 201 202 203 ... 211 » |
den_po: |
21.12.11, 17:10 |
SummerWood, вот из-за того, что некоторые такие идиоты занимаются написанием эльфов, среди некоторых пользователей бытует мнение, мол патчи стабильней эльфов |
SummerWood: |
21.12.11, 17:10 |
den_po,так и ожидал что ты так скажешь увы ,но твоё мнение ошибочно но я же не идиот да,но где им прочитать как надо делать правильно? [ Редактировано SummerWood в 21.12.11 16:14 ] [ Редактировано SummerWood в 21.12.11 16:19 ] |
blacklizard: |
21.12.11, 19:11 |
D3mon пишет: den_po, стало чуть понятнее, спасибо! У класса IShell есть метод: Код: int IShell_CreateInstance(PUUID cid, PUUID iid, void** pInterface); отличается ли этот метод от функции CoCreateInstance ? в прошивке встречается и такое, и такое использование.. if you dump IShell object, you can see the IShell_CreateInstance pointer store the address of CoCreateInstance |
SERGK393: |
24.12.11, 14:55 |
SummerWood пишет: в wiki не описаны функции DispObject_SetRefreshTimer DispObject_Show DISP_DESC_SetOnRedraw DISP_DESC_SetOnRefresh можете подсказать как их использовать и какие параметры за что отвечают? А что тут блин догадываться? DispObject_SetRefreshTimer - это таймер, выставляет паузу DispObject_Show - показывает дисп обж, который относится к гуи, к дисп деск, ну итд. DISP_DESC_SetOnRedraw - назначается функа, где можно рисовать DISP_DESC_SetOnRefresh - это к первой функе, но тут как раз назначается функа к таймеру Для начала надо простенький эльф сделать, перебрать все уроки, а потом спрашивать что то |
SummerWood: |
30.12.11, 18:23 |
КАК сделать чтобы гуй на полный экран рисовался,а то видно статусбар и софты |
D3mon: |
30.12.11, 18:29 |
SummerWood, неужели так сложно найти исходники эльфов/патчей с таким гуи ???? Код: GUIObject_SetStyle( gui, UI_OverlayStyle_TrueFullScreen ); GUIObject_SoftKeys_Hide( gui ); [ Редактировано D3mon в 30.12.11 18:55 ] |
den_po: |
30.12.11, 18:49 |
D3mon, не нужно использовать числа, нужно использовать константы из types.h. глянь UI_OverlayStyle_t |
albertnet3: |
31.12.11, 04:37 |
how to perform an action without restart in this type of gui. I hope your help, thanks:) I tried this way and reboot my phone: Код: int action1() { MessageBox(EMPTY_TEXTID,STR(" NofMany 1"),0, 1 ,5000,0); return (1); } int action2() { MessageBox(EMPTY_TEXTID,STR(" NofMany 2"),0, 1 ,5000,0); return (1); } int action3() { MessageBox(EMPTY_TEXTID,STR(" NofMany 3"),0, 1 ,5000,0); return (1); } int action4() { MessageBox(EMPTY_TEXTID,STR(" NofMany 4"),0, 1 ,5000,0); return (1); } void onEnterSettings(BOOK *book,GUI* ) { MyBOOK *m_bk = (MyBOOK *)book; u16 checked_table[4]; NOfMany_GetChecked( m_bk->nom , checked_table ); if(checked_table[0]) action1(); if(checked_table[1]) action2(); if(checked_table[2]) action3(); if(checked_table[3]) action4(); } int CreateNofMany(void *r0, BOOK *book) { GUI_NOFMANY * nom = CreateNOfMany( book ); int sid[4]; sid[0]=STR( "texto 1" ); sid[1]=STR( "texto 2" ); sid[2]=STR( "texto 3" ); sid[3]=STR( "texto 4" ); NOfMany_SetTexts( nom , sid , 4 ); ... ... GUIObject_Softkey_SetAction(nom,ACTION_ACCEPT, onEnterSettings); } and this reboot my phone: Код: typedef struct{ int Estyle1; int Estyle2; int Estyle3; int Estyle4; }FILE_DATA; typedef struct{ int is1; int is2; int is3; int is4; }MY_DATA; typedef struct { BOOK * book; GUI_NOFMANY * nom; FILE_DATA MY_DATA; }MyBOOK; int action1() { if(GetChecked()==0){ MessageBox(EMPTY_TEXTID,STR(" NofMany 1"),0, 1 ,5000,0); } return (1); } int action2() { if(GetChecked()==1){ MessageBox(EMPTY_TEXTID,STR(" NofMany 2"),0, 1 ,5000,0); } return (1); } int action3() { if(GetChecked()==2){ MessageBox(EMPTY_TEXTID,STR(" NofMany 3"),0, 1 ,5000,0); } return (1); } int action4() { if(GetChecked()==2){ MessageBox(EMPTY_TEXTID,STR(" NofMany 4"),0, 1 ,5000,0); } return (1); } int GetChecked() { int f; int ret=0; if ( (f = _fopen( FILE_PATH,FILE_NAME, FSX_O_RDONLY, FSX_S_IREAD|FSX_S_IWRITE, 0)) >=0 ) { FILE_DATA *fd = (FILE_DATA*)malloc(sizeof(FILE_DATA)); memset (fd,0,sizeof(FILE_DATA)); fread( f, fd, sizeof(FILE_DATA)); if(fd->Estyle1==1)ret=0; else if(fd->Estyle2==1)ret=1; else if(fd->Estyle3==1)ret=2; else if(fd->Estyle4==1)ret=3; fclose (f); mfree(fd); } return ret; } void SetChecked(int level, BOOK*book) { MyBOOK *m_bk = (MyBOOK *)book; int f; if ( (f = _fopen( FILE_PATH,FILE_NAME, FSX_O_RDONLY, FSX_S_IREAD|FSX_S_IWRITE, 0)) >=0 ) { FILE_DATA *fd = (FILE_DATA*)malloc(sizeof(FILE_DATA)); memset (fd,0,sizeof(FILE_DATA)); fread( f, fd, sizeof(FILE_DATA)); m_bk->MY_DATA=*fd; fclose (f); mfree(fd); } if (level==0) { m_bk->MY_DATA.Estyle1=1; m_bk->MY_DATA.Estyle2=0; m_bk->MY_DATA.Estyle3=0; m_bk->MY_DATA.Estyle4=0; } else if(level==1) { m_bk->MY_DATA.Estyle1=0; m_bk->MY_DATA.Estyle2=1; m_bk->MY_DATA.Estyle3=0; m_bk->MY_DATA.Estyle4=0; } else if(level==2) { m_bk->MY_DATA.Estyle1=0; m_bk->MY_DATA.Estyle2=0; m_bk->MY_DATA.Estyle3=1; m_bk->MY_DATA.Estyle4=0; } else if(level==3) { m_bk->MY_DATA.Estyle1=0; m_bk->MY_DATA.Estyle2=0; m_bk->MY_DATA.Estyle3=0; m_bk->MY_DATA.Estyle4=1; } if ( (f = _fopen( FILE_PATH,FILE_NAME, FSX_O_WRONLY, FSX_S_IREAD|FSX_S_IWRITE, 0)) >=0 ) { FILE_DATA *fd = (FILE_DATA*)malloc(sizeof(FILE_DATA)); memset (fd,0,sizeof(FILE_DATA)); *fd=m_bk->MY_DATA; fwrite(f,fd,sizeof(FILE_DATA)); fclose (f); mfree(fd); } } void onEnterSettings(BOOK *book,GUI* ) { MyBOOK *m_bk = (MyBOOK *)book; u16 checked_table[4]; NOfMany_GetChecked( m_bk->nom , checked_table ); if(checked_table[0]) SetChecked(0,book); if(checked_table[1]) SetChecked(1,book); if(checked_table[2]) SetChecked(2,book); if(checked_table[3]) SetChecked(3,book); } { GUI_NOFMANY * nom = CreateNOfMany( book ); int sid[4]; sid[0]=STR( "texto 1" ); sid[1]=STR( "texto 2" ); sid[2]=STR( "texto 3" ); sid[3]=STR( "texto 4" ); NOfMany_SetTexts( nom , sid , 4 ); ... ... GUIObject_Softkey_SetAction(nom,ACTION_ACCEPT, onEnterSettings); } if I press softkey action accept or action "Yes" in the question save change reboot my phone. I hope your help, thanks:) |
ZverUA: |
08.01.12, 02:42 |
Что более оптимально использовать? Ловушку для всех событий (NIL_EVENT) или таймер? |
mmcorp: |
08.01.12, 18:12 |
ZverUA, в плане производительности - таймер. Но тут зависит от поставленной задачи, есть такие, где оптимальнее поставить ловушку на событие. |
Страница 199 из 211: « 1 ... 195 196 197 198 [199] 200 201 202 203 ... 211 » |
URL этой темы: https://mobilefree.justdanpo.ru/newbb_plus/viewtopic.php?topic_id=2479&start=1980 © 2005-2018 supertrubka.org |