Autor Wątek: kontakt i customowa ikona  (Przeczytany 1269 razy)

0 Użytkowników i 1 Gość przegląda ten wątek.

Offline kasztan

  • Narybek
  • *
kontakt i customowa ikona
« dnia: Grudzień 21, 2010, 20:38:49 pm »
uwielbiam te API, jest swietnie opisane.. ;] ze nie wiadomo jak sie do tego zabrać

no i mamy listing.
			#define ICON_ID L"cos/ikona1"
wtwGraphics wg;
initStruct(wg);
wg.graphID = ICON_ID;
wg.filePath  = L"D:\\cos\\gdzoes\\ikona.png";
wg.flags=0;

f->fnCall(WTW_GRAPH_LOAD,(WTW_PARAM)&wg,NULL);

#define SECIK L"set/ikona1"
wtwIconSet ics;
initStruct(ics);
ics.iType           = WTW_ICSET_TYPE_PRE_TEXT;
ics.iconSetID     = SECIK;
ics.pIcons         = &wg;

f->fnCall(WTW_ICSET_CREATE,(WTW_PARAM)&ics,NULL);
f->fnCall(WTW_ICSET_ADD_IMG, (WTW_PARAM)SECIK, (WTW_PARAM)ICON_ID);
f->fnCall(WTW_CTL_ADD_CONTACT_ICON,(WTW_PARAM)itemhandler2, (WTW_PARAM)&ics);
f->fnCall( WTW_CTL_ENABLE_DRAWING, 1, 0 );

powinno działać, a nie działa. Zmienna wg - ładuje obrazek, a próba wyciągnięcia WTW_GRAPH_GET_IMAGE nie może go wyczaić. Dodanie predefiniowane ikonki działa bez problemu  (zmiana : (WTW_PARAM)ICON_ID ). Co robię źle? (btw. VS2010 x64 + templatka, wtyka x64, api api-20101219.7z   19-Dec-2010 18:27 ) ... typowa zabawa w reverse engineering

p.s.
znalazłem taki oto komentarz w API.
void * gPointer;	           // i to, ale tego nei wiecie jak uzywac
taki tekst powinien być przy linku do pobierania API, zamiast "API - zgadnijcie co to ;P" -> "API - i to, ale tego nei wiecie jak uzywac"
« Ostatnia zmiana: Grudzień 23, 2010, 16:35:55 pm wysłana przez kasztan »

Offline kasztan

  • Narybek
  • *
Odp: kontakt i customowa ikona
« Odpowiedź #1 dnia: Grudzień 23, 2010, 19:58:08 pm »
widze że.. skonczy się na monologach...
no nic, dla potomnych. rozwiązanie

			#define ICON_ID L"proto/icon1"
wtwGraphics wg;
initStruct(wg);
wg.graphID = ICON_ID;
wg.filePath = L"tv.png";
wg.imageType         = 0;
wg.flags = WTW_GRAPH_FLAG_RELATIVE_DEF_PATH;

#define SECIK_ID L"secik_01"
wtwIconSet ics;
initStruct(ics);
ics.iType = WTW_ICSET_TYPE_PRE_TEXT;
ics.iconSetID         = SECIK_ID;
ics.flags = WTW_ICONSET_FLAG_MODIFY_CUR_IMAGE;

f->fnCall(WTW_GRAPH_LOAD,(WTW_PARAM)&wg,NULL);

f->fnCall(WTW_ICSET_CREATE,(WTW_PARAM)&ics,NULL);
f->fnCall(WTW_ICSET_ADD_IMG, (WTW_PARAM)SECIK_ID, (WTW_PARAM)ICON_ID);

f->fnCall(WTW_CTL_ADD_CONTACT_ICON,(WTW_PARAM)itemhandler2, (WTW_PARAM)&ics);
f->fnCall( WTW_CTL_ENABLE_DRAWING, 1, 0 );

pamiętać, o poprawnym PNG i fladze "WTW_ICONSET_FLAG_MODIFY_CUR_IMAGE"