Windows中实现嵌入窗口,嵌入内容显示标题栏,如何去掉最大最小关闭按钮

查看Java的官方样例找到是ClassFactory.createApplication这个,去jar包里面查看是调用的COM4J.createInstance这个函数,然后找到runtime.jar包的这个CreateInstanceTask这个类然后里面的call函数里面顺着各种初始化找到initWpsWindow这个函数然后发现,是通过

WpsArgs args = (WpsArgs)WpsArgs.ARGS_MAP.get(app);

WinDef.HWND hMainWnd = findWindow(wndClass);

WinDef.HWND hParent = new WinDef.HWND(new Pointer(args.getWinid()));

User32.INSTANCE.SetParent(hMainWnd, hParent);

User32.INSTANCE.MoveWindow(hMainWnd, 0, 0, args.getWidth(), args.getHeight(), true);这个实现的嵌入

我用qt在windows中嵌入

hr = CLSIDFromProgID(L"KWPS.Application", &clsid);

hr = CoCreateInstance(clsid, NULL, CLSCTX_LOCAL_SERVER,IID__Application,(void**)&application);

HWND OpusApp =FindWindow(L"OpusApp",nullptr);

SetParent(hWnd, (HWND)this->winId());

MoveWindow(hWnd, 0, 0, this->width(), this->height(), true);

拿到wps接口,在拿到文档接口,在拿到窗口句柄,然后放入外面的QWidget做的qt的子窗口结果发现,里面有最大化,最小化和关闭按钮,我看java的样例里面没有这三个按钮有什么隐藏函数么

其实还有一个阴影窗口,这个可以隐藏掉,但是我感觉方向错了,因为标题栏可以在窗口里面拖动

河北省
浏览 75
收藏
点赞
分享
+1
+1
全部评论