gpt4 book ai didi

c++ - 如何更改子窗口在父窗口中的位置并显示工具栏?

转载 作者:行者123 更新时间:2023-11-30 02:56:31 25 4
gpt4 key购买 nike

我有以下代码,它将一个窗口处理程序从 OpenCV 窗口传递到 win32 处理程序,因此我可以将从相机抓取的图像显示到屏幕上,这些图像将显示为我的主要 API 的子窗口。但问题是,当我想向我的程序添加一个工具栏时,图像窗口处理程序出现在工具栏的顶部。我该如何解决这个问题?

//create a window and set the handler from openCV to win32 
cv::namedWindow("test",cv::WINDOW_AUTOSIZE);
hWnd2 = (HWND) cvGetWindowHandle("test");
hParent = ::GetParent(hWnd2);
::SetParent(hWnd2, hWnd);
::ShowWindow(hParent, SW_HIDE);
_liveCapturing=true;
lastPicNr = 0;
SetWindowTextW(hStatus, L"Live Capturing ... ");
if(FullScreen()){
::ShowWindow(hWnd, SW_MAXIMIZE);
}

工具栏代码:

HWND CreateToolbar(HWND hwnd){
HWND hTbar = CreateWindowEx(0, TOOLBARCLASSNAME, NULL, WS_CHILD | WS_VISIBLE | CCS_TOP , 0, 0, 0, 0, hwnd, (HMENU)12, GetModuleHandle(NULL), NULL);
SendMessage(hTbar, TB_BUTTONSTRUCTSIZE, (WPARAM)sizeof(TBBUTTON), 0);

TBBUTTON tbb[3];
TBADDBITMAP tbab;

tbab.hInst = HINST_COMMCTRL;
tbab.nID = IDB_STD_SMALL_COLOR;
SendMessage(hTbar, TB_ADDBITMAP, 0, (LPARAM)&tbab);
return hTbar;
}

Screebshot of the window overlapping the toolbar

最佳答案

可能您很久以前就找到了解决方案,但我想发布我的答案以防其他用户需要。

您可以简单地将具有相同代码的 OpenCV 窗口添加到窗口中的子窗口(您提前设置它的位置)。例如,您可以将其添加到静态文本窗口(标签)...

关于c++ - 如何更改子窗口在父窗口中的位置并显示工具栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15434838/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com