DLL 作为 MDIChild (子窗体)
来源:互联网 发布:surface book mac 编辑:程序博客网 时间:2024/05/22 18:22
原文地址:http://www.ccrun.com/article.asp?d=f36445&i=498
实际上,调用子窗体的 DLL 时,系统只是检查应用程序的 MainForm 是否为 fsMDIForm 的窗体,这样只
要把调用程序的 Application 的 Handle 传递给 DLL 的 Application 即可;同时退出 DLL 时也要恢复
Application
// MDIChildPro.cpp // Dll 实现 CPP
#include "unit1.h" // TForm1 定义
TApplication *SaveApp = NULL;
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void*)
{
if ( (reason==DLL_PROCESS_DETACH) && SaveApp )
Application = SaveApp ; // 恢复 Application
return 1;
}
extern "C" __declspec(dllexport) __stdcall void TestMDIChild( //1024X768
TApplication* mainApp,
LPSTR lpCaption)
{
if ( NULL == SaveApp ) // 保存 Application,传递 Application
{
SaveApp = Application;
Application = mainApp;
}
// lpCaption 为子窗体的 Caption
TForm1 *Form1 = new TForm1 ( Application, lpCaption );
Form1->Show();
}
注:上面的程序使用 BCB 3.0 编译成功
- DLL 作为 MDIChild (子窗体)
- RibbonForm作为父窗体,同一子窗体只打开一次
- 用DLL方式封装MDI子窗体。
- 在Dll内封装MDI子窗体
- 用dll方式封装mdi子窗体
- delphi的DLL封装MDI子窗体
- 用dll方式封装mdi子窗体
- DLL子窗体收到的消息
- C#Winform调用外部exe作为子窗体
- 在DLL中定义MDIChild Form的DLL代码和执行程序代码
- C++ Builde 2010 MDI 调用 DLL 子窗体
- 调用DLL中的窗体,使它成为一个MDI子窗体
- 子窗体
- 子窗体
- 子窗体传值到父窗体
- 子窗体传值到父窗体
- 子窗体、父窗体
- 网摘》窗体、子窗体
- ubuntu下终端路径只显示当前目录
- 向服务器请求数据的五种技术
- 使用NSOperation和NSOperationQueue用来实现多线程
- 学习笔记(十三)
- create table #temptable 临时表 和 declare @bianliang table ()表变量
- DLL 作为 MDIChild (子窗体)
- pl/sql错误处理
- MarkLogic 初学
- greenplum plpythonu
- IOS学习之番外:开发中的那些琐碎
- 进程隐藏与进程保护(SSDT Hook 实现)(一)
- SQL SERVER 跨服务器查询
- web.xml配置struts2之后访问jsp页面报Http 404错误
- SQL2008 用户'sa'登录失败(错误18456)图文解决方法