同时创建两个重叠的win32窗口c ++

时间:2014-03-09 08:33:59

标签: c++ winapi win32gui

我尝试创建两个重叠的窗口但只弹出一个窗口。我计划使用1个窗口来处理按钮和另一个单独的窗口(不是子窗口)来显示每1秒更改一次的图像。可能吗?我尝试使用1个窗口来处理这两个窗口,但是按钮丢失了,无法点击,因为程序正忙着运行显示器。为第二个窗口的HINSTANCE设置什么参数?

BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{
  HWND hWnd;
 HWND hWnd2;
 hInst = hInstance; // Store instance handle in our global variable

hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
  100, 0,1000, 700, NULL, NULL, hInstance, NULL);

hWnd2= CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
  100, 0,1000, 700, NULL, NULL, NULL, NULL);

         CreateWindow(TEXT("button"), TEXT("\t Start Scanning\n"),
       WS_VISIBLE | WS_CHILD | WS_BORDER,
            810, 320, 150, 150,
             hWnd, (HMENU) IDM_BEGIN, NULL, NULL);

         CreateWindow(TEXT("button"), TEXT("\t STOP \n"),
       WS_VISIBLE | WS_CHILD | WS_BORDER,
            810, 480, 150, 150,
             hWnd, (HMENU) IDM_PERMASTOP, NULL, NULL);




if (!hWnd)
  {
    return FALSE;
  }

  ShowWindow(hWnd, nCmdShow);
  UpdateWindow(hWnd);

  return TRUE;
}

1 个答案:

答案 0 :(得分:3)

您正在创建两个重叠的窗口,但是您只是第一次调用ShowWindow()。只需在另一个上拨打ShowWindow()即可。