做一个DreamWeaver风格的程序

l130148103

l130148103

2016-02-19 13:57

关注图老师设计创意栏目可以让大家能更好的了解电脑,知道有关于电脑的更多有趣教程,今天给大家分享做一个DreamWeaver风格的程序教程,希望对大家能有一点小小的帮助。

---- 用过DreamWeaver的人都会发现DreamWeaver将每一个编辑的文件显示在任务栏上,并且用户任意关闭一窗口而不影响其他窗口,好象每一个窗口间没有关联,没有主窗口似的。但我们也能发现其实这些窗口间也有数据是共享的,如存盘的路径。

---- 经过研究我发现其实这些窗口其实是属于同一程序的,并且实现方法也非常的简单。下面我用Inprise公司的C++ Builder为大家举一个简单的例子。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

---- 首先我们创建一个普通的应用程序。在这个程序中包含两个Form,其中Form1为主窗口,我们将Form2设为不由应用程序自动创建。

---- 在Form1中加入一新的Public的属性:

---- int FormCount;

---- 此属性用于记录系统建立的From2的实例的个数,在Form1的OnCreate事件中加入如下代码:

        int i=GetWindowLong(this- Handle,GWL_STYLE);
        TForm2 *F,*G;
        F=new TForm2(NULL);
        G=new TForm2(NULL);
        F- ParentWindow=GetDesktopWindow();
        F- Caption="F";
        G- ParentWindow=GetDesktopWindow();
        G- Caption="G";
        this- FormCount=2;
        SetWindowLong(G- Handle,GWL_STYLE,i);
        SetWindowLong(F- Handle,GWL_STYLE,i);
        F- Show();
        G- Show();

---- 其中GetWindowLong,SetWindowLong为获取/设置Window属性的API函数,具体请看C++ Builder带的Win32帮助。然后运行程序,我们就能发现程序在任务栏上显示了属于此程序的三个任务条。

---- 接下来我们要做的事情有两个:

---- 1、 隐藏Form1及Application

---- 2、 让Form2的实例关闭应用程序

---- 实现第一件事情的方法在网上很多地方都提到了,即修改WinMain函数下面是具体的代码(粗斜体为加入的代码):

WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
        try
        {
Application- Initialize();
Application- CreateForm(
__classid(TForm1), &Form1);
Application- ShowMainForm=false;
ShowWindow(Application- Handle, SW_HIDE);
Application- Run();
}
catch (Exception &exception)
{
Application- ShowException(&exception);
}
return 0;
}

---- 在这个地方要注意的是光用“Application-ShowMainForm=false;”是不能隐藏主Form(Form1)的,必须将Form1的Visibled属性变为false。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

---- 实现第二件事情需要用到Application的Terminate方法(结束应用程序)。我们只要在TForm2的OnClose事件中简单加入以下几句程序:

   if (Form1- FormCount1)
         Form1- FormCount--;
   else
        Application- Terminate();

---- 运行程序,你就能发现程序在有任务拦上有两个提示,窗口F及窗口G,而且这两个窗口看起来就象独立的应用程序。

---- 至此,一个DreamWeaver风格的程序就做完了,是不是很简单呢。

展开更多 50%)
分享

猜你喜欢

做一个DreamWeaver风格的程序

编程语言 网络编程
做一个DreamWeaver风格的程序

用ASP做一个分页程序

ASP
用ASP做一个分页程序

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

怎样做一个好父亲 做一个好父亲的小妙招

早教 幼儿早教 亲子早教 育儿知识
怎样做一个好父亲 做一个好父亲的小妙招

做一个精致的女子

美容护肤 护肤
做一个精致的女子

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

做一个自我绽放的妈妈

电脑网络
做一个自我绽放的妈妈

做一个另类新太太

孕前
做一个另类新太太

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

分析MFC中的映射

分析MFC中的映射

以后生个孩子叫夏克 老师就不敢点我儿子的名了 - QQ搞笑分组

以后生个孩子叫夏克 老师就不敢点我儿子的名了 - QQ搞笑分组
下拉加载更多内容 ↓