layered-windows

    1热度

    1回答

    我在我的程序中有一个分层窗口,看起来(视觉上)工作正常,但UpdateLayeredWindow的返回码应该是成功的非零值。在我的情况下,它是0,GetLastError返回87,这是一个不正确的参数。有人可以告诉我,如果我的设置有任何问题吗?这里是完整的功能,窗口样式是WS_EX_LAYERED|WS_EX_TOPMOST和WS_POPUP。 bool SplashScreen(HWND hwn

    0热度

    1回答

    我有一个分层窗口(使用SetLayeredWindowAttributes)。如果我将整个窗口上的alpha设置为128并在其上绘制黑色矩形,它将按预期工作(显示约50%不透明度的黑色矩形)。但是,如果我在整个窗口中设置了aplha(当我将SetLayeredWindowAttributes设置为255),然后使用设置为50%的画笔绘制黑色矩形时,它们的黑色矩形是纯粹的实体,没有任何半透明性。 我

    2热度

    1回答

    我创建了一个分层窗口(带有WS_EX_LAYERED),大小约为400X300像素。 当绘制窗口(使用UpdateLayeredWindow)一切都很正常。 的问题是,我无法绘制它后得到窗口的HBITMAP。 当试图通过窗口的HDC获取HBITMAP时,我得到一个空的(黑色)位图,这是我整个桌面的大小(1920X1080像素,全尺寸为400X300像素)。 是否有人知道它甚至可能得到一个分层窗口的

    2热度

    1回答

    我想创建一个具有透明背景的Direct2D应用程序,其中放置了一些不透明的复杂控件。 该问题可以分解为几个子问题: 架构:控件应该作为子窗口实现吗?我认为这是正确的方法,而不是创建实现子窗口功能的Direct2D多边形。 我试图通过初始化父窗口来实现这一点: SetWindowLong(m_hwnd, GWL_EXSTYLE, GetWindowLong(m_hwnd, GWL_EXSTYLE)

    3热度

    2回答

    我需要在WS_OVERLAPPED窗口中进行鸟动画(如下所示)。动画是通过8个图像表示: 蓝颜色的图像中(这是RGB(0, 255, 255))必须是透明的(参见下图)。 我想用CreateWindowEx()(鸟会用分层窗口表示)与WS_EX_LAYERED的参数来做到这一点。不幸的是,鸟儿必须是WS_CHILD。在混合WS_EX_LAYERED | WS_CHILDis not legal W

    1热度

    1回答

    我有一个分层窗口(WS_EX_LAYERED),实现了自定义NCHITTEST和NCCALCSIZE,使窗口的客户端矩形与窗口矩形一样。我的窗户尺寸和颜色正确;当光标靠近窗口的底部边缘时,我可以从WM_NCHITTEST返回HTBOTTOM,以产生垂直调整大小的窗口从底部类型的动作。但是,我没有得到垂直调整大小的光标。有没有办法解决这个问题,而不必实现WM_SETCURSOR并测试指针的位置与窗口

    0热度

    1回答

    我有一个分层窗口,具有屏幕大小但几乎完全透明。 (除了用户点击的小十字) wc.style = 0; wc.lpfnWndProc = (WNDPROC) wnd_top_rect_proc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = hInst; wc.hIcon = NULL; wc.hCursor = Load

    0热度

    2回答

    我有一个使用WS_EX_LAYERED窗口样式创建的窗口。我正在使用GDI +绘制内存位图,并使用UpdateLayeredWindow来更新我的分层窗口的图形内容。我打算使用这个窗口作为我的应用程序的主窗口,这将需要经常重绘。 作为分层窗口看到没有收到WM_PAINT窗口消息[?],我需要拿出一个合适的方法重新绘制窗口。优化不是必不可少的,但它总是很高兴有你的蛋糕和吃它。因此,我正在寻找使用“正

    1热度

    1回答

    在Windows窗体和C#中,我使用WS_EX_LAYERED样式的表单,并调用UpdateLayeredWindow将背景设置为透明/ alpha混合的图像: NativeMethods.BLENDFUNCTION blend = new NativeMethods.BLENDFUNCTION(); blend.BlendOp = NativeMethods.AC_SRC_OVER; ble

    0热度

    1回答

    所以我发现了很多关于将图像绘制到分层窗口的代码示例,指南和答案。我尝试过使用纯HBITMAP S和WIC库进行绘制,现在我正在使用GDI +进行绘制(这非常简单并且看起来更容易使用,并且迄今为止它已解决了许多导致的错误由错误的WIC代码)。 我目前卡在UpdateLayeredWindow。无论我尝试什么,我都无法让它工作。现在,它返回87或ERROR_INVALID_PARAMETER。问题是,