我正在尝试制作透明的油漆覆盖图,用于在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时,我有一个透明窗口,可以传递所有点击。
我的问题是:如何防止点击通过透明窗口?我已经调查过了,但我能找到的只是人们试图点击通过,这是一个我当然没有的问题。