Well i'm using WC_LISTVIEW to create a box, then using a small function i'm setting it's background image to an INTERNET source.
So the listview acts as a placeholder for the JPG file. Eventually though, i found out it was causing a CPU leak... (i don't know if that exists), but what happens is, when i press "X" at the top of my program to close the program. In task manager, the process is still there, in fact, it increases the CPU output to 50% RAPIDLY even though i just closed the program and the window dissappears.
Here's a snippet of my code: (Remember to #define WC_IMAGEBOX WC_LISTVIEW)
Code:
m_hImage = CreateWindowEx(0, WC_IMAGEBOX, TEXT(""), WS_CHILD | WS_VISIBLE,
10, 105, 200, 234,
hAppWnd, NULL, hInst, NULL);
ImageBox_SetImage(m_hImage, TEXT("http://www.mysite.com/image/mylogo.jpg"));
m_hLogo = CreateWindowEx(0, WC_IMAGEBOX, TEXT(""), WS_CHILD | WS_VISIBLE,
30, 55, 200, 33,
hAppWnd, NULL, hInst, NULL);
ImageBox_SetImage(m_hLogo, TEXT("http://www.mysite.com/image/mysite.jpg"));
That's how i create it in the WM_CREATE....
If i comment out the ImageBox_SetImage functions... my program doesn't leak like this. Here's the imagebox function:
Code:
BOOL CppWnd::ImageBox_SetImage(HWND hwndImageBox, LPTSTR szImagePath)
{
LVBKIMAGE lv = { 0 };
lv.ulFlags = LVBKIF_STYLE_NORMAL | LVBKIF_SOURCE_URL;
lv.pszImage = szImagePath; // full path required
ListView_SetBkImage(hwndImageBox, &lv);
memset(&lv,0,sizeof(lv));
return true;
}
I added the memset later, incase it was some sort of leak there...
I mean the function works fine, but once it's used, this CPU-leakage occurs.