panel-用API.SetWindowPos方法设置固定位置后,将第三方的应用程序嵌入到Panel控件中。

问题描述

用API.SetWindowPos方法设置固定位置后,将第三方的应用程序嵌入到Panel控件中。

在C# Winfrom项目中,有一个form窗体,一个panel控件.
通过Process.start方法打开第三方的应用程序,将第三方程序嵌入Panel控件中。
用API.SetWindowPos方法改变第三方的应用程序位置以及大小。

目前发现一个问题,
打开第三方的应用程序设置大小及位置,通过获取panel控件的位置可以显示嵌入到Panel控件中,代码如下:
API.SetWindowPos(ptravayaWnd, IntPtr.Zero, this.panel1.Location.X, this.panel1.Location.Y, 956, 536, 0);
API.SetParent(ptravayaWnd, this.panel1.Handle);

打开第三方的应用程序设置大小及位置,通过获设置固定的位置无法显示嵌入到Panel控件中,代码如下:
API.SetWindowPos(ptravayaWnd, IntPtr.Zero,650,0, 956, 536, 0);//设置位置为:650,0 无法显示打开第三方的应用程序嵌入到Panel控件中
API.SetParent(ptravayaWnd, this.panel1.Handle);

请问如何实现用API.SetWindowPos方法设置固定位置后,能够正常的将打开的第三方的应用程序嵌入到Panel控件中。

解决方案

改变大小不要用SetWindowPos
应该用MoveWindow

解决方案二:

SetWindowPos主要是设置Z-Order的。

解决方案三:

SetWindowPos 也可以改变大小及位置的,就是不清楚为什么改成固定位置就无法嵌入到Panel控件中.
有没有这方面的解决办法。

解决方案四:

是不是要设置下层级,设置固定位置会不会被panel控件遮挡住,导致无法显示? 请各位帮忙看看,谢谢

时间: 2024-08-03 08:57:46

panel-用API.SetWindowPos方法设置固定位置后,将第三方的应用程序嵌入到Panel控件中。的相关文章

【百度地图API】建立全国银行位置查询系统(二)——怎样为地图添加控件

原文:[百度地图API]建立全国银行位置查询系统(二)--怎样为地图添加控件 <摘要>你将在第二章中学会以下知识: 使用手写代码的利器--notepad++: 如何为地图添加控件--鱼骨.鹰眼.比例尺.2D3D转换控件.版权控件. ----------------------------------------------------------------------------------------------------------------- 一.安装配置notepad++ 为什么

itext pdf 分页-itext生成PDF,PdfPTable固定位置后无法分页

问题描述 itext生成PDF,PdfPTable固定位置后无法分页 我要往pdf中插入一个表格,创建了一个PdfPTable,又使用table.writeSelectedRows(0, -1, x, y, canvas)把表格固定到了PDF上的某个位置,现在问题来了,表格数据多了以后并没有自动分页,而是变成了下面这样,请问是什么原因?怎么才能使表格自动分页?我这里使用了table.writeSelectedRows(),就不能再使用document.add(table)了. 解决方案 已解决,

c# winform项目中,如何将word应用程序嵌入到panel控件中

问题描述 c# winform项目中,如何将word应用程序嵌入到panel控件中 在c# winform项目中,有一个form窗体和两个Panel控件(panel1和panel2), panel1的size大小为300*200,location位置为0,0 panel2的size大小为300*200,location位置为320,0 用下面的代码,无法将word句柄嵌入到pane2控件并充满整个panel2控件中显示,设置大小与panel2一样. 请问如何修改下面的代码,谢谢. IntPtr

panel-C# winform 如何实现将Label控件的文本内容拖动到任意的Panel控件中。

问题描述 C# winform 如何实现将Label控件的文本内容拖动到任意的Panel控件中. 在C# winform中,有一个form窗体,在form窗体中包函四个Panel控件(panel1.panel2.panel3.panel4)以及三个Label控件(label1.label2.label3). 目前需要实现如下拖动效果: 1.要求将label1控件的text文本内容,手动拖动到任意一个Panel控件中居中显示label1控件text文本内容. 2.并且要求将拖动到Panel控件中的

c#在点击窗体1中的button1按钮,窗体3在窗体2的panel控件中显示,怎样实现

问题描述 c#在点击窗体1中的button1按钮,让窗体3在窗体2的panel控件中显示,怎样实现 解决方案 解决方案二:大爷的...窗体在控件中显示..也能耐了吧!解决方案三:引用1楼lfwmusic2012的回复: 大爷的...窗体在控件中显示..也能耐了吧! 窗体是可以在控件中显示的啊解决方案四:1.首先要设置窗体3的TopLevel属性Form3.TopLevel=false; 2.将Form3加到Panel中this.Panel.Controls.Add(Form2); 3.记得要掉F

C++获得其他程序窗体控件中信息的方法

  本文实例讲述了C++获得其他程序窗体控件中信息的方法.分享给大家供大家参考.具体分析如下: 这里演示了获得其他程序窗体控件信息的方法, 用FindWindow API找到文本框句柄,用SendMessage(WM_GETTEXT)获得文本 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 #include <windows.h> BOOL CALLBACK EnumChildPro

panel-C# winform 如何实现将PictureBox控件拖动到任意的Panel控件中。

问题描述 C# winform 如何实现将PictureBox控件拖动到任意的Panel控件中. 在C# winform中,有一个form窗体,在form窗体中包函四个Panel控件(panel1.panel2.panel3.panel4)以及多个PictureBox控件. 请问,如何实现将PictureBox控件手动拖动到任意一个Panel控件中,且充满当前拖动到目标的Panel控件中显示. 最好提供相关的源码或参考资料,谢谢. 解决方案 是运行时拖动么?你需要处理drug事件,然后在容器接收

activex-ActiveX控件 中定义一方法 取得Windows进程窗口句柄

问题描述 ActiveX控件 中定义一方法 取得Windows进程窗口句柄 ActiveX控件 中定义一方法 取得Windows进程窗口句柄 激活窗口 并发送键盘消息 求实例 主要是代码不知道放到哪个位置 解决方案 也可以放在属性中.你没有说你用了什么语言.无论是VB C++ Delphi还是C#,开发环境都可以很容易让你给控件增加一个方法或者属性,并且产生空白的函数实现,你要做的就是"填空". 解决方案二: 你不是都说了么,定义一个方法,那代码就放在方法(就是一个函数)里面啊. 解决

想知道在asp.net中panel控件中的考试题如何分页,并保留所选答案(c#)

问题描述 做了个在线考试系统,其中答题界面用了在panel控件中动态的抽题,其中包括单选,多选,判断,想在页面中控制题量而进行分页,翻页继续答题不会使上一页选择的答案消失,在.cs中要怎么写啊?题是如下选出来的:DataTabledtStyles=(newExamOnline.Exam()).getStyles(usercode);if(dtStyles.Rows.Count>0){for(inti=0;i<dtStyles.Rows.Count;i++){intstyles=Convert.