Autor Wątek: Wczytanie ikony do wtwGraphics  (Przeczytany 4720 razy)

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

Offline sWirus

Wczytanie ikony do wtwGraphics
« dnia: Sierpień 25, 2010, 11:30:36 am »
Powoli zaczynam dochodzić do wniosku, że za co nowego bym się nie chwytał zawsze mnie czymś API rozłoży:

Wczytanie ikonki z pliku:
	wtwGraphics graph;
initStruct(graph);
graph.graphID = L"iconID";
//na chama w celach testowych (ale sciezka jest dobra):
graph.filePath = L"C:\\Program Files\\K2T\\WTW\\Components\\Theme\\newIcon.png";
graph->imageType = 0;//png
wtwFn->fnCall(WTW_GRAPH_LOAD,(WTW_PARAM)&graph,0);

Po czymś takim graph.cx dalej wynosi 0, zresztą gdzie bym nie używał iconID to ikonka i tak się nie pojawia więc dochodzę do wniosku, że coś robię źle.

Myślałem, że może flagi powinienem jakieś ustawić, ale w API żadnych flag oprócz tych dla GET nie widzę.
Próbowałem jeszcze użyć później GET_IMAGE ale też nie wiele to dało.
Oblałem test Turinga... damn ;/

Offline adrian_007

  • Master Developer
  • Starszyzna
  • *
    • WTW PLUGINS
Re: Wczytanie ikony do wtwGraphics
« Odpowiedź #1 dnia: Sierpień 25, 2010, 11:36:18 am »
a gdzie jest hInstance?

i wogole, to w filePath powinna byc mozliwosc ustawienia sciezki relatywnej, czyli np jak dam newIcon.png to wtw samo poszuka najpierw w profilu usera a potem w Themes jak wczesniej nie znalazlo... no chyba, ze taka funkcjonalnosc juz jest, to ok :P

Offline sWirus

Re: Wczytanie ikony do wtwGraphics
« Odpowiedź #2 dnia: Sierpień 25, 2010, 11:37:07 am »
Spoko. hInstance też ustawiałem. Po jakimś czasie zacząłem ustawiać w wtwGraphics wszystko co się dało. Ale dalej nic to nie daje
« Ostatnia zmiana: Sierpień 25, 2010, 14:34:34 pm wysłana przez sWirus »
Oblałem test Turinga... damn ;/

Offline Kaworu

  • Ryszard
  • Szlachta
  • *
  • Twój Koszmar Senny
    • k2t.eu
Re: Wczytanie ikony do wtwGraphics
« Odpowiedź #3 dnia: Sierpień 25, 2010, 17:30:19 pm »
GraphID to nie jest to samo co IconID, tak przy okazji ;P "icon" może zawierać wiele "graph".

A poza tym nei działa, bo aktualnie ładowanie tą funkcją jest obsługiwane tylko z zasobów ;P

Offline sWirus

Re: Wczytanie ikony do wtwGraphics
« Odpowiedź #4 dnia: Sierpień 25, 2010, 18:29:28 pm »
No chodziło mi o pojedynczy "graph" ;p

Mogłeś dać chociaż hinta w API że to nie działa... Mógłbyś zaimplementować? ^^
Czy może jest jakiś inny sposób, żeby się dorwać do GRAPH_ID pojedynczej ikonki z pliku?

A przez iconID rozumiesz iconSet? Czy może jeszcze coś innego?
Oblałem test Turinga... damn ;/

Offline Kaworu

  • Ryszard
  • Szlachta
  • *
  • Twój Koszmar Senny
    • k2t.eu
Re: Wczytanie ikony do wtwGraphics
« Odpowiedź #5 dnia: Sierpień 25, 2010, 19:28:59 pm »
Uzyj ostatniej nigly ;p

no iconset i icon id to to samo,nazwy sa miejscami niespojne

Offline sWirus

Re: Wczytanie ikony do wtwGraphics
« Odpowiedź #6 dnia: Sierpień 25, 2010, 19:41:02 pm »
Teraz jak najbardziej działa. Dzięki

Temat do zamknięcia
Oblałem test Turinga... damn ;/

Offline n3oo

Odp: Wczytanie ikony do wtwGraphics
« Odpowiedź #7 dnia: Listopad 26, 2010, 18:38:13 pm »
@sWirus: lub kto inny, możecie podać działający przykład wczytania jednej ikonki i oznaczenie jej jako L"ALERT" tak abym mógł to wykorzystać na belce okna, próbuje czymś takim:
		wtwGraphics wg;
initStruct(wg);
wg.graphID = L"ALERT";
wg.cx = 0;
wg.cy = 0;
wg.gPointer = 0;
wg.hIcon = 0;
wg.filePath = L"iconWeb.png";
wg.resourceID = 0;
wg.hInst = hInst;
wg.flags = WTW_GRAPH_FLAG_RELATIVE_DEF_PATH;
wg.imageType = 0;

wtw->fnCall(WTW_GRAPH_LOAD, (WTW_PARAM) &wg, 0);

w pluginLoad, lecz dalej gdy wypełniam pole struktury wtwCommandEntry:

	wtwCommandEntry cmd;
initStruct(cmd);
cmd.pContactData = contact;
cmd.caption = L"Alert";
cmd.cbData = NULL;
cmd.pWnd = chat->pWnd;
cmd.hInstance = hInst;
cmd.itemID = L"av/alert";
cmd.toolTip = L"Wyślij alert (attention)";
//cmd.graphID = L"AV/ALERT";
cmd.graphID = L"ALERT";
cmd.itemType = CCB_TYPE_STANDARD;
cmd.itemFlags = 0;
cmd.callback = onBtnClk;
cmd.cbData = chat;

wtw->fnCall(WTW_CCB_FUNCT_ADD, (WTW_PARAM) &cmd, 0);

Nie widać ikony tylko tekst "Alert" na belce.
Dzięki za pomoc.
Env: Win7 x64 / WinXP x86 | GG: 670035 | WWW: Portfolio

Offline adrian_007

  • Master Developer
  • Starszyzna
  • *
    • WTW PLUGINS
Odp: Wczytanie ikony do wtwGraphics
« Odpowiedź #8 dnia: Listopad 26, 2010, 20:44:04 pm »
mowilem dla kawa, ze
 wg.flags = WTW_GRAPH_FLAG_RELATIVE_DEF_PATH;
jakos nie chce dzialac, ale nic z tym nie zrobil ;p

Offline n3oo

Odp: Wczytanie ikony do wtwGraphics
« Odpowiedź #9 dnia: Listopad 26, 2010, 20:59:11 pm »
Faktycznie wpisanie:
wg.filePath = L"D:\\WTW\\Components\\Theme\\iconWeb.png";
wg.flags = 0;
Spowodowało, że grafika się wczytała, no ale to jak w takim razie np. Adrian wykrywasz czy user ma podmienioną grafikę w usertheme czy nie ? Myślałem, że flaga WTW_GRAPH_FLAG_RELATIVE_DEF_PATH to za mnie załatwi, ale trzeba to samemu robić widzę.
Env: Win7 x64 / WinXP x86 | GG: 670035 | WWW: Portfolio

Offline adrian_007

  • Master Developer
  • Starszyzna
  • *
    • WTW PLUGINS
Odp: Wczytanie ikony do wtwGraphics
« Odpowiedź #10 dnia: Listopad 26, 2010, 21:03:28 pm »
bo flaga nie dziala. a jakbys nie zauwazyl, to moich ikon sie zmienic nie da => sa zadowane z zasobow pluga (resources)

Offline n3oo

Odp: Wczytanie ikony do wtwGraphics
« Odpowiedź #11 dnia: Listopad 26, 2010, 21:49:21 pm »
to że nie działa flaga zauważyłem jak napisałem wyżej ;)
tego że masz w zasobach grafiki nie - nie sprawdzałem po prostu, myślałem, że da się je podmienić i masz sposób na zastąpienie tej flagi, także nieważne - wczytuje na sztywno katalog profilu i dopisuje userTheme\nazwa.png, szkoda, że nie działa to tak jak powinno :/
Env: Win7 x64 / WinXP x86 | GG: 670035 | WWW: Portfolio

Offline sWirus

Odp: Wczytanie ikony do wtwGraphics
« Odpowiedź #12 dnia: Listopad 27, 2010, 11:19:34 am »
ja to mam jakoś tak:
	wtwGraphics graph;
initStruct(graph);
graph.graphID = LASTACT_ID_ICON;
wstring str = profDir + LASTACT_IC_NAME;
graph.filePath = str.c_str();
graph.imageType = 0;//png
WTW_PTR result = wtw->fnCall(WTW_GRAPH_LOAD,(WTW_PARAM)&graph,0);
if (result == 0)
{
str = themeDir;
str += LASTACT_IC_NAME;
graph.filePath = str.c_str();
result = wtw->fnCall(WTW_GRAPH_LOAD,(WTW_PARAM)&graph,0);
}
if (result == 0)
{
__LOG_F(wtw,WTW_LOG_LEVEL_NORMAL,L"lastAct",L"%s not found",graph.filePath);
MessageBox(0,L"Nie znaleziono ikony iconCntActive.png",L"Błąd: wtyczka lastActivities",MB_ICONERROR | MB_OK);
}

//profDir to oczywiście katalog profilu kończący się na "userTheme\";
//themeDir  to katalog główny kończący się "Components\Theme\";

na około bo WTW_GRAPH_FLAG_RELATIVE_DEF_PATH też mi się do działania nie udało zmusić
« Ostatnia zmiana: Listopad 27, 2010, 13:07:34 pm wysłana przez sWirus »
Oblałem test Turinga... damn ;/

Offline kwiateusz

Odp: Wczytanie ikony do wtwGraphics
« Odpowiedź #13 dnia: Listopad 27, 2010, 11:49:09 am »
o niedługo chyba będzie działało patrząc po bugtracku :)