繁体   English   中英

编辑框闪烁

[英]Edit Box flickering

我正在尝试在Win-32应用程序中创建一个编辑框,但遇到了一些麻烦。 它只会在我的鼠标同时移动,单击和拖动的情况下显示,并且会在可见性范围内闪烁

我这样创建我的初始窗口:

m_hWnd = CreateWindow(m_wWindowName.c_str(), m_wWindowName.c_str(), 
        WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, width, height, 0, 0, m_hInstance, this); 

然后,我尝试在现有窗口内创建一个新的“编辑”框:

CreateWindowEx(WS_EX_CLIENTEDGE, 
        TEXT("Edit"), TEXT(""),
        WS_CHILD | WS_VISIBLE,
        10, 80,
        200, 20,
        m_hWnd, (HMENU)1, NULL, NULL);

编辑:我正在通过执行以下操作在其自己的类中创建我的初始窗口

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE prevInstance,
                   PSTR cmdLine, int showCmd)
{
    CApplication Application;
    Application.Initialise(hInstance, MainWndProc, L"GUI Tool");

    return Application.Run();
}

初始化函数创建窗口,然后紧接着(仍然在初始化函数中)我试图创建编辑框。

有人可以提供一些关于为什么发生这种情况的帮助吗?

谢谢

听起来您好像在WM_PAINT处理程序中的控件顶部上绘画(或者这是由DefWindowProc完成的)。

最简单的解决方案是在父窗口上设置WS_CLIPCHILDREN样式,该样式将在绘制时自动裁剪出所有子窗口。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM