I wrote a function to change the cursor when a user hovers over a certain area of a custom window, however to stop flickering I also set the cursor class of this window to NULL. The problem i'm having now is mIRC is setting EVERY custom window's cursor class to NULL
Here's my code:
Code:
int WINAPI SubWindow(HWND mWnd, HWND aWnd, char *data, char *parms, BOOL show, BOOL nopause)
{
        hTicker = (HWND)atol(data);
	if(IsWindow(hTicker)) 
	{
		SetClassLong(hTicker, GCL_HCURSOR, (LONG)NULL);
                // More unrelated code here
        }
        return 3;
}

Code:
int WINAPI mCursor(HWND mWnd, HWND aWnd, char *data, char *parms, BOOL show, BOOL nopause)
{
	HCURSOR hCurs;
	if (!lstrcmp(data, "Hand"))
		hCurs = LoadCursor(NULL, MAKEINTRESOURCE(32649));
	else if (!lstrcmp(data, "Arrow")) 
		hCurs = LoadCursor(NULL, IDC_ARROW);
	else {
		lstrcpy(data, "E_INVALIDPARAMETERS");
		return 3;
	}
	SetCursor(hCurs);
	lstrcpy(data, "S_OK");
	return 3;
}

Am I doing something wrong? The only thing I can think of is maybe i'm setting the global cursor class for custom windows to NULL instead of just for the one window. Please help frown