我正在爲我的編程課程創建一個WinApi應用程序。該程序應該爲每個「塊」使用單獨的窗口顯示LED時鐘。除了一件事情之外,我想到了大部分內容:創建窗口的二維數組時,第一個和最後一個窗口從不出現。下面是來自InitInstance函數的代碼段:第一個和最後一個窗口不顯示
for (int x=0;x<8;x++)
for (int y=0;y<7;y++) {
digitWnd[x][y] = CreateWindowEx((WS_EX_LAYERED | WS_EX_TRANSPARENT | WS_EX_NOACTIVATE | WS_EX_STATICEDGE),
szWindowClass, szTitle, (WS_POPUP| WS_BORDER), NULL, NULL, NULL, NULL, dummyWnd, NULL, hInstance, NULL);
ShowWindow(digitWnd[x][y], nCmdShow);
UpdateWindow(digitWnd[x][y]);
}
相同的循環邊界被用於每次我與窗口進行交互(設定位置和啓用/禁用)。所有的窗戶似乎都工作正常,除了digitWnd[0][0]
和digitWnd[7][6]
...有什麼想法發生了什麼?
做的每個digitWnd都有有效的值嗎? (也許檢查CreateWindowEx失敗)。此外,爲什麼WS_EX_LAYERED/WS_EX_NOACTIVATE標誌 - 這些標誌對於子窗口無效(我假設你的是) – Elemental 2010-03-10 10:35:09
digitWnd的聲明是什麼? – 2010-03-10 10:55:35
元素,沒有WS_CHILD標誌......如果我缺少某些東西,請糾正我。 – 2010-03-13 14:10:28