C#窗体嵌入SetParent的用法】的更多相关文章

模块化的开发,将模块合并到一起的时候,遇到了Mdi不能添加到其它窗口下的问题. 分两种情况: 将mdi窗口A设成普通窗口B的子控件,需要将A的TopLevel设置成false,但是Mdi窗口的TopLevel必须为顶级: 将mdi窗口A设成mdi窗口B的子窗口,A.MdiParent = B,编译时不通过,窗口不能既是mdi子级,又是mdi父级. 最后通过windows Api强制将mdi窗口A的parent设置成窗口B. [DllImport("user32.dll", EntryP…
这是最近在做的一个项目中提到的需求,把一个现有的窗体应用程序界面嵌入到自己开发的窗体中来,看起来就像自己开发的一样(实际上……跟自己开发的还是有一点点区别的,就是内嵌程序和宿主程序的窗口激活状态问题). 在codeproject找到了一篇相关的文章(http://www.codeproject.com/Articles/9123/Hosting-EXE-Applications-in-a-WinForm-project),虽然可用,但是很不方便,于是重新设计编写了一个类库,用一个控件完成内嵌其它…
PS:文末的附件已更新,这次我放到博客园里面了,不会弹出广告,放心下载,O(∩_∩)O谢谢! 这是最近在做的一个项目中提到的需求,把一个现有的窗体应用程序界面嵌入到自己开发的窗体中来,看起来就像自己开发的一样(实际上……跟自己开发的还是有一点点区别的,就是内嵌程序和宿主程序的窗口激活状态问题). 在codeproject找到了一篇相关的文章(http://www.codeproject.com/Articles/9123/Hosting-EXE-Applications-in-a-WinForm…
using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Text; using System.Windows.Forms; using System.Diagnostics; using System.Runtime.InteropServices; using System.IO; usin…
1.创建个子窗体QDialog.在子窗体构造函数添加 Dialog::Dialog(QWidget *parent) : QDialog(parent), ui(new Ui::Dialog) { ui->setupUi(this); this->setParent(parent); this->setWindowFlags(Qt::CustomizeWindowHint|Qt::FramelessWindowHint); this->hide(); } 2.在父窗体调用子窗体 D…
一.在winform窗体上添加两个控件 1.容器>Panel 2.添加 SideBar.dll (下载链接:http://pan.baidu.com/s/1o6qhf9w) (1)将SideBar.dll放到SideBar控件\bin\Debug下 (2)拖动SideBar.dll到工具箱>常规 选项卡内 3.实现效果如下图 注:窗体左边是SideBar控件,右边是Panel容器 二.后台代码 ()sideBar1_Load事件 sideBar1.AddGroup("小组名"…
最近开发项目,错误的理解了需求,自己做了个窗体的嵌套,虽然是错误的理解了,但是功能还是实现了,做下标记,需要时可以拿来看看. 新建两个窗体Form1和Form2,现在需要将Form2显示到Form1里,我们该怎么办呢?上代码先,一看就明白了,在form 的load方法里加入下面的代码,form2是要显示的子窗体, namespace chuangtiqiantao { public partial class Form1 : Form { public Form1() { InitializeC…
iframe并不是很常用的,在标准的网页中非常少用.但是有朋友经常问到,下面我简单地介绍一下它的用法,你只要熟练掌握这些参数足矣. <iframe>也应该是框架的一种形式,它与<frame>不同的是,iframe可以嵌在网页中的任意部分.我们举第一个例子,具体代码如: <iframe width=420 height=330 frameborder=0 scrolling=auto src=URL></iframe>,这里的URL可以是相对路径,也可以是绝对…
最近写了个小程序,用于将固态硬盘的写入量等信息显示在任务栏,最开始使用Windows API也可以实现,但是当任务栏托盘增加的时候,会被遮盖,最终采用了DeskBand来实现,填了很多坑. 参考的GitHub地址:https://github.com/dsafa/CSDeskBand DeskBand相关代码如下: COLORREF: // This code snippet was used by SharpShell. // using System.Drawing; using Syste…
1.添加引用 using System.Runtime.InteropServices; 2. 加入以下代码段 [DllImport("User32.dll ", EntryPoint = "SetParent")] private static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent); [DllImport("user32.dll ", EntryPoint…
var txt:TextField = new TextField();//创建文本 txt.embedFonts=true;//确定嵌入字体 var font:Font=new MyFont();//调用库中的字体myFont var format:TextFormat = new TextFormat(); format.size=12; format.font=font.fontName;//把库中字体的名称赋值给TextFormat的font属性 txt.text="1234a"…
创建一个主窗体(Formmain).两个副窗体(Form1,Form2);在主窗体中分别添加一个menuStrip控件.tabControl控件,并在menu控件上添加一个主菜单和两个子菜单   继而,选中tabControl控件属性修改 DrawMode = OwnerDrawFixed,再根据如下代码添加即可: public void Add_TabPage(string str, Form myForm)          {              if (tabControlChec…
最大化,最小化,是否显示关闭按钮 var win_CommonPicLibMultiple = Ext.create("Ext.window.Window", { title: "选择图片", //标题 draggable: false, border: false, icon: '/Resources/Images/16x16/blue16_005.gif', height: 800, //高度 width: 1200, //宽度 layout: "fi…
  问题1:嵌套Winform控件(ZedGraph)在WPF的ScrollViewer控件上,出现滚动条,无论如何设置该Winform控件都在顶层,滚动滚动条会覆盖其他WPF控件. 解决办法:在ScrollViewer上嵌套一层ElementHost,其作用相当于将ScrollViewer整一层又包装成Winform.           <wfi:WindowsFormsHost><wfi:ElementHost><ScrollViewer />          …
namespace TriggerAction { public class OpenWindowAction : TriggerAction<DependencyObject> { public Type WindowType { get { return (Type)GetValue(WindowTypeProperty); } set { SetValue(WindowTypeProperty, value); } } public static readonly DependencyP…
[代码]Delphi实现窗体内嵌其他应用程序窗体 实现原理是启动一个应用程序,通过ProcessID得到窗体句柄,然后对其设定父窗体句柄为本程序某控件句柄(本例是窗体内一个Panel的句柄),这样就达成了内嵌的效果. 本文实现的是内嵌一个记事本程序,如下图: 在实现细节上需要注意几点: 为了美化程序的嵌入效果,需要隐藏其标题栏 在外部窗体大小变化时,需要内嵌的窗体也随之变化大小 外部程序退出时,内嵌的程序也要退出 下面是例子程序.新建窗体,上面放置一个Panel控件,名为pnlApp,然后按下面…
主窗体:  子窗体: 把子窗体嵌入到主窗体的panel 右侧中: 代码: { public MainForm() { InitializeComponent(); } private void ClosePreForm() { foreach (Control item in this.panelform.Controls) { if (item is Form) { Form objControl = (Form)item; objControl.Close(); } } } private…
C#WinForm父级窗体内Panel容器中嵌入子窗体.程序主窗体设计例子 在项目开发中经常遇到父级窗体嵌入子窗体所以写了一个例子程序,顺便大概划分了下界面模块和配色,不足之处还望指点 主窗体窗体采用前面一篇博客设计扁平化窗体 C#自定义Winform无边框窗体 主要思路 this.IsMdiContainer=true;//设置父窗体是容器 Son mySon=new Son();//实例化子窗体 mySon.MdiParent=this;//设置窗体的父子关系 mySon.Parent=pn…
#include "widget.h" #include "ui_widget.h" #include "windows.h" #include <QWindow> #include <QProcess> Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ui->setupUi(this); } Widget::~Widge…
实现原理是启动一个应用程序,通过ProcessID得到窗体句柄,然后对其设定父窗体句柄为本程序某控件句柄(本例是窗体内一个Panel的句柄),这样就达成了内嵌的效果. 本文实现的是内嵌一个记事本程序,如下图: 在实现细节上需要注意几点: 为了美化程序的嵌入效果,需要隐藏其标题栏 在外部窗体大小变化时,需要内嵌的窗体也随之变化大小 外部程序退出时,内嵌的程序也要退出 下面是例子程序.新建窗体,上面放置一个Panel控件,名为pnlApp,然后按下面代码编写: ? unit frmTestEmbed…
The format of basic inline assembly is very much straight forward. Its basic form is 基本汇编嵌入格式如下: asm("assembly code"); Example. asm("movl %ecx %eax"); /* moves the contents of ecx to eax */ __asm__("movb %bh (%eax)"); /*moves…
一:CEF全称Chromium Embedded Framework,是一个基于Google Chromium 的开源项目.Google Chromium项目主要是为Google Chrome应用开发的,而CEF的目标则是为第三方应用提供可嵌入浏览器支持. 二:winform窗体嵌套HTML页面需要CEF的相关组件添加到项目引用里,文章结尾附有链接,还有一个模板demo仅供参考 三:winform窗体嵌入HTML的两种情况 1,只是简单的嵌入HTML页面,没有form窗体和页面的逻辑交互,在引入…
实现原理是启动一个应用程序,通过ProcessID得到窗体句柄,然后对其设定父窗体句柄为本程序某控件句柄(本例是窗体内一个Panel的句柄),这样就达成了内嵌的效果. 本文实现的是内嵌一个记事本程序,如下图: unit frmTestEmbedApp; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls; type TForm1 =…
function RunAppInPanel(const AppFileName: string; ParentHandle: HWND; var WinHandle: HWND): Boolean; var si: STARTUPINFO; pi: TProcessInformation; begin Result := False; // 启动进程 FillChar(si, SizeOf(si), ); si.cb := SizeOf(si); si.wShowWindow := SW_SH…
/// <summary> /// 将一个winform窗体嵌入control中 /// </summary> /// <param name="f">窗体</param> /// <param name="c">control</param> private void InsertForm(Form f, Control c) { if (c != null) { f.TopLevel = f…
在Windows中,句柄是一个系统内部数据结构的引用. 比如当你操作一个窗体.或说是一个Delphi窗体时,系统会给你一个该窗体的句柄,系统会通知你:你正在操作142号窗体.就此你的应用程序就能要求系统对142号窗体进行操作--移动窗体.改变窗体大小.把窗体极小化为图标等. 实际上很多Windows API函数把句柄作为它的第一个參数,如GDI(图形设备接口)句柄.菜单句柄.实例句柄.位图句柄等.不只局限于窗体函数. 换句话说,句柄是一种内部代码,通过它能引用受系统控制的特殊元素,如窗体.位图.…
写一xxx聊天机器人啊什么的可能会用到这种技术.比如把QQ窗体嵌入自己的winform中其实很简单,调用两个API函数即可. [DllImport("User32.dll ", EntryPoint = "SetParent")] private static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent); [DllImport("user32.dll ", Ent…
+BIT祝威+悄悄在此留下版了个权的信息说: 关于硬件(Hardware) <穿越计算机的迷雾>笔记 继电器是如何成为CPU的(1) 继电器是如何成为CPU的(2) 关于操作系统(Opertion System) <30天自制操作系统>笔记(01)——hello bitzhuwei’s OS! <30天自制操作系统>笔记(02)——导入C语言 <30天自制操作系统>笔记(03)——使用Vmware <30天自制操作系统>笔记(04)——显示器25…
PictureBox对象可以说是任何对象的原始型态,它可以加载图片.显示文字.画图外,它还能与Frame对象一样,在自己本身里头加载其它的对象而自成一个小群组,用PictureBox可以仿真出任何对象的外观,PictureBox是VB基本控件里变化最多,功能最多,也是令人最想去征服它的一个物件. *在执行阶段,可以用VB的函数来帮PictureBox加载图片: Command1_Click() Picture1.Picture = LoadPicture("E:\MyGif\AniGif0562…
HTML5 postMessage 和 onmessage API 具体应用 随着 HTML5 的发展.了解并熟悉 HTML5 的 API 接口是很重要的.postMessage(send) 和 onmessage 此组 API 在 HTML5 中有着广泛的应用,比方 Web Workers 中应用此组 API 实现多个线程间 JavaScript 调用功能 ,Cross-document messaging 中实现两个不同域间 JavaScript 调用功能等等.本文主要介绍此组 API 在…