簡體   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