Пример #1
0
// Process window messages
LRESULT CALLBACK BmpFlasher::WndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam) {
	// This is a static method, so we don't know which instantiation we're 
	// dealing with. We use Allen Hadden's ([email protected]) suggestion 
	// from a newsgroup to get the pseudo-this.
	BmpFlasher *_this = (BmpFlasher *) GetWindowLong(hwnd, GWL_USERDATA);

	switch (iMsg) {
	
	case WM_ERASEBKGND:
            {
                DoSDKEraseBkGnd2((HDC)wParam, RGB(255,0,0));
				return true;
            }
	case WM_CTLCOLORSTATIC:
			{
				SetBkMode((HDC) wParam, TRANSPARENT);
				return (DWORD) GetStockObject(NULL_BRUSH);
			}
	case WM_TIMER:
			DestroyWindow(hwnd);
			break;
	case WM_CREATE:
		CentreWindow(hwnd);
		SetForegroundWindow(hwnd);
		m_nTimerID = SetTimer(hwnd,1, 200, 0);
		return 0;
	case WM_CLOSE:
		KillTimer(hwnd,m_nTimerID);
		break;
	case WM_USER:
		switch (lParam)
		{
		case WM_LBUTTONDBLCLK:
		case WM_LBUTTONDOWN:
		case WM_RBUTTONDOWN:
		case WM_KEYDOWN:
		case WM_MBUTTONDOWN:
		DestroyWindow(hwnd);
		KillTimer(hwnd,m_nTimerID);
		break;
		}
	}
	
	return DefWindowProc(hwnd, iMsg, wParam, lParam);
}
Пример #2
0
static LRESULT CALLBACK WndProc(
    HWND hwnd,        // handle to window
    UINT uMsg,        // message identifier
    WPARAM wParam,    // first message parameter
    LPARAM lParam)    // second message parameter
{
    switch (uMsg)
    {
						case WM_CREATE:
//							SetTimer(hwnd,10,30000,NULL);
							SetTimer(hwnd,100,20,NULL);
							break;
						case WM_TIMER:
							if (wParam==100) 
							{
                                SetWindowPos(hwnd,HWND_TOPMOST,0,0,0,0, SWP_NOMOVE|SWP_NOSIZE|SWP_NOACTIVATE);
							
							}
//							if (wParam==10) DestroyWindow(hwnd);
                         
						 case WM_ERASEBKGND:
							{
									DoSDKEraseBkGnd2((HDC)wParam, RGB(0,0,0));
									return true;
							}
						case WM_CTLCOLORSTATIC:
							{
									SetBkMode((HDC) wParam, TRANSPARENT);
									return (LONG_PTR) GetStockObject(NULL_BRUSH);
							}
                         case WM_DESTROY:
								KillTimer(hwnd,100);
                                PostQuitMessage (0);
                                break;
        default:
            return DefWindowProc(hwnd, uMsg, wParam, lParam);
    }
    return 0;
}