如何使透明背景可点击?

时间:2013-11-22 23:20:25

标签: c++ windows winapi click transparent

我正在尝试制作透明的油漆覆盖图,用于在c ++中注释计算机屏幕。我正处于透明窗口的位置,但问题是鼠标点击通过窗口到达它下面的窗口。这就是我的窗口的创建方式:

hwnd = CreateWindow (szAppName, // window class name
    0,// window caption
    WS_POPUP,//WS_OVERLAPPEDWINDOW,// window style
    CW_USEDEFAULT,// initial x position
    CW_USEDEFAULT,// initial y position
    1920,// initial x size
    1080,// initial y size
    NULL,// parent window handle
    NULL,// window menu handle
    hInstance, // program instance handle
    NULL);// creation parameters

SetWindowPos(hwnd,HWND_TOPMOST, 0, 0, 0, 0,  SWP_NOSIZE);
ShowWindow (hwnd, iCmdShow) ;

SetWindowLong(hwnd, GWL_EXSTYLE, GetWindowLong(hwnd, GWL_EXSTYLE) | WS_EX_LAYERED);
SetLayeredWindowAttributes(hwnd, RGB(255,255,255), 255, LWA_COLORKEY);

UpdateWindow (hwnd) ;

当我没有设置窗口alpha的部分时,我有一个白色背景的工作绘画程序。当我设置alpha时,我有一个透明窗口,可以传递所有点击。

我的问题是:如何防止点击通过透明窗口?我已经调查过了,但我能找到的只是人们试图点击通过,这是一个我当然没有的问题。

0 个答案:

没有答案