基于vb的com编程入门教程
基于VB的COM编程入门教程
第一节 COM简介
"世上无难事,只要肯登攀",所以你要有信心成为一个COM程序员,而且你一定能。
事实上,我们每次设置文本编程控件的Text属性时,就已经在使用COM,同样在DAO数据控件运行MoveNext方法时,甚至在使用VB控制字时,也都是在使用COM。
那么,什么是COM呢,
首先,COM是一种通信的方式。
例如,就像我们的电视遥控一样。当我们按下某个频道按钮时,电视频道立马切换;而当我们按下开关按钮时,电视立即关闭等等。其实,我们并不关心它们是怎样工作的,我们只知道按下按钮就能产生某个动作就可以了。
程序的原理也是一样的。当改变文本编程控件的Text属性时,我们并不知道其中的原理,也许系统内部会调用几十个API函数也说不定,但对于用户来说,则只关心文本编程控件中显示的文本就可以了。
其次,COM是一种重用代码的方式。
使用COM的最大好处是一旦建立COM的通信方式后,可以方便地在任何地方使用多次。例如,当用户创建一个用于显示日期和时间的COM组件后,就可用于任何程序中的任何地方。不仅VB应用程序、Excel程序可以访问,而且C++应用程序也可以访问它。
所以,COM组件的代码可重用性是最主要的。
再次,COM是基于实际对象的。
用COM创建的大多数组件是基于实际对象的,这就意味着一旦组件被创建,其使用是相当容易的。试想一下,如果我们在计算机系统中再添加一个用户,又有哪种添加方式如Customer.Add那样简单,是添加数据处理代码包、算法,还是向应用程序添加较大的数据库DLL,很显然,COM就支持这种简单操作。
所以,COM是一种通信方式、一种代码重用方式以及基于实际对象的。
本教程的以后部分中将简单讨论COM和VB的相关内容,这包括类的创建,以及如何将类转换成一个实际对象。虽然,这里的内容太过简单,但却是以后COM编程的基础。
第二节 类的建立
在本节中,我们来实践一下。首先创建一个COM对象,然后使用它,最后再想法改进。
首先进行下面两步:
运行Visual Basic;选择 "Standard EXE"工程类型;由于COM对象是基于类的,而类实际上是程序包,就像模块中的代码一样。所以:
选择"Project"->"Add Class Module";当相应的对话框出现后,选择"'Class Module",然后单击"Open"按钮。
这样,在桌面上显示一个表单,以及包含在工程Project1中的Class1。
下面再将空的类的类名更改:
在类的属性窗口中,将类的Name属性改成CDog。
1
需要说明的是,为了区别起见,每个对象名的前面都有相应的前缀,例如Text Box对象前是"txt"、Form
前是"frm"、类前可以大写字母"C"或小写字母"cls",但这里使用前者。
下面我们添加一些代码来测试一下:
在CDog类通用声明部分中,添加变量的声明:
Public Name As String
然后,打开Form1;
在表单中添加一个命令按钮;
打开代码窗口,为该命令按钮添加下列代码:
Dim MyDog As CDog
Set MyDog = New CDog
MyDog.Name = "Billy Moore"
MsgBox MyDog.Name
Set MyDog = Nothing
下面就来解释上述代码的含义:
Dim MyDog As CDog
该行语句是用来通知Visual Basic为CDog对象设置一个位空间,但这时还不能使用该对象,必须等到下
条语句为止:
Set MyDog = New CDog
它是用来创建CDog的实例。这就意味着前面空的MyDog模板变成了现在可以使用的CDog对象。
MyDog.Name = "Billy Moore"
MsgBox MyDog.Name
上述代码的第一行是用来设置MyDog的Name变量,同时第二行语句是用来将该变量的内容显示在消息
对话框中。最后:
Set MyDog = Nothing
用来将MyDog对象简单的置空。
按F5键运行并测试。
怎么样,但同时,我们可能不禁要问,
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
模块和类模块究竟有什么不同,我们再来看看下面的示例:
将命令按钮的代码变成:
Dim MyDog As CDog
Set MyDog = New CDog
Dim MyDog2 As CDog
Set MyDog2 = New CDog
MyDog.Name = "Billy Moore"
MsgBox MyDog.Name
MyDog2.Name = "Sadie Moore"
MsgBox MyDog2.Name
Set MyDog = Nothing
Set MyDog2 = Nothing
2
与最前面的代码不同的是,这里的代码实际上是定义两个对象MyDog和MyDog2,这两个对象是基于
CDog的相互独立的两个对象。
按F5键运行并测试。
结果怎样,这一次是不是有两个对话框出现,一个显示"Billy Moore",另一个显示"Sadie Moore"。
上述定义的每个对象中除了Name外,没有任何实际的属性,因此下面过程就来添加:
打开前面的Class1;
声明下面的公共变量:
Public Age As Integer
打开前面的Form1;
将命令按钮的代码变成:
Dim MyDog As CDog
Set MyDog = New CDog
Dim MyDog2 As CDog
Set MyDog2 = New CDog
MyDog.Name = "Billy Moore"
MyDog.Age = 4
MsgBox MyDog.Name & " is " & MyDog.Age & " years old"
MyDog2.Name = "Sadie Moore"
MyDog2.Age = 7
MsgBox MyDog2.Name & " is " & MyDog2.Age & " years old"
Set MyDog = Nothing
Set MyDog2 = Nothing
这些代码和前面差不多,只不过这里使用了Age变量。
按F5键运行并测试。
应该出现显示name和age内容的两个消息对话框。
现在再试着将其中一个对象的age值设置成1,000或者30,000。看看结果如何,程序照样正常运行,这是
因为定义的整型变量最大值可达32,767,但是实际中的狗(Dog)是不会有30,000岁的。
那么,这种情况应该怎样处理呢,
第三节 添加属性 属性操作很像公共变量,但属性还有更多的控制。
常用属性通常包括"Get(获取)"和"Let(设置)"两种。这两项操作能规定一个主要属性,就像下面的代码片段:
Private intAge As Integer
Public Property Get Age() As Integer
Age = intAge
End Property
Public Property Let Age(ByVal vNewValue As Integer)
intAge = vNewValue
End Property
上述代码的工作方式极像Age变量的操作。当像下面语句操作变量时,
MyDog.Age = 4
3
就好比运行Let属性,并将4赋给vNewValue。当像下面语句操作变量时,
MsgBox MyDog.Age
是获取属性,就好比运行Get属性,并将相应的值由intAge返回。因此,我们可以这样认为:
所谓Get属性,就是运行后获取某个值;
所谓Let属性,就是运行后让某个属性等于某个值;
但至此为止,我们仅仅说明属性工作方式与标准变量极为相似,还没有来得及对属性进行更多的控制。所以,下面就来讨论。
打开上一节的工程,对CDog类进行如下修改:
从CDog类中去掉Age变量;
添加下列代码:
Private intAge As Integer
Public Property Get Age() As Integer
Age = intAge
End Property
Public Property Let Age(ByVal vNewValue As Integer)
If vNewValue <= 50 Then
intAge = vNewValue
End If
End Property
与前面的代码相比,这里只是对Let属性代码作稍加修改。下面对其作小小的测试,假想用户试图想使:
MyDog.Age=30
也就是运行Let属性,使vNewValue等于30。代码中,还检测vNewValue是否小于或等于50。显然,30是符合要求的,因此实例中的intAge值等于30。但如果超过50,则什么也不会发生,属性退出且没有任何赋值。当然,我们也可以对此给出相应的错误代码或是显示一个提示对话框。
切换到Form1后面的代码窗口;
在设置Age属性代码处的第一行语句中单击鼠标,并按F9;
MyDog.Age = 4
在获取Age属性代码处的第一行语句中单击鼠标,并按F9;
MsgBox MyDog.Name & " is " & MyDog.Age & " years old"
现在让我们测试一下:
按F5运行程序;
单击Command按钮;
代码应该中断在按F9添加的断点的代码行上。
当代码中断后,按F8单步运行并观察结果;
现在明白它们是怎样工作的吗,注意Age属性的"get"和"let"是怎样运行的,
在下一节中,我们不仅要讨论使用更多属性的方式,而且还讨论如何随意创建它们。
第四节 添加更多的属性
有时候,为了更好地处理类往往需更多的属性。例如,假如你有四种不同的客户群:集团、较大、较小和新的客户类型,或者一个用于搜索的类中有三种不同的搜索方式:软盘、硬盘和网络。那么,能不能最好从选项列表中选择一个,而不是用不能理解的数字或文本来设置相关属性,
我想,答案是肯定的。因为这种处理就称为"枚举"。
4
打开上一节的工程,让我们添加一些代码。
在CDog类中添加下列代码:
Public Enum CoatType
BigAndShaggy = 1
ShortCrewCut = 2
PoodleStyleAfro = 3
Unknown = 4
End Enum
关键词"Enum"就是用来定义枚举的,换句话说,它是可能选项的列表。各选项都有相应的数字,也就是说BigAndShaggy表示1,ShortCrewCut等于2,等等。
需要注意的是,当将枚举项相关信息添加在数据库中时,其相应的数值是非常有用的。由于"BigAndShaggy"实际代表的是数值1,所以可以直接将其插入到数据库的数值字段中。这就意味着,可以方便使用字符串来维护数据库。
所以,我们来创建一个Dog的Coat类型列表,并另外定义一个属性,将这些类型添加在CDog类中。
在类中声明下列变量:
Private udtCoat As CoatType
这个定义的私有变量用来保存即将添加的Coat类型属性,注意到udtCoat变量既不是字符串也不是整型,而是我们自己定义的枚举类型CoatType。
当类CDog打开时,选择"Tools"菜单中的"Add Procedure"命令,弹出相应的对话框;
Name编辑框中键入Coat;
选中"Property"选项按钮,然后单击[OK]。
系统自动产生下列代码框架:
Public Property Get Coat() As Variant
End Property
Public Property Let Coat(ByVal vNewValue As Variant)
End Property
但我们需要的却不是这个框架。代码中,"Variant"变量类型是能接收和处理任何类型数据。在我们定义的CDog类中,最后的属性是Age,它只能接受整型。但现在需要属性能接收CoatType列表中的数据类型,因此需要作下列修改:
将产生的代码中所有的"Variant"改成"CoatType";
然后,添加一些实际处理属性的代码。
在属性的Get过程中,添加下列代码:
Coat = udtCoat
在属性的Let过程中,添加下列代码:
udtCoat = vNewValue
切换到Form1;
将Command按钮的代码改为:
Dim MyDog As CDog
Set MyDog = New CDog
MyDog.Name = "Billy"
5
现在开始键入:MyDog.Coat =
奇迹出现了,当你敲下"="键时,出现一个含有可能选项的列表,从中我们可以选择一个。
完成代码的键入:MyDog.Coat = ShortCrewCut
下一步,我们将获取Coat属性的值。假如现在就来简单地在消息对话框中显示属性值,则只需返回选择
项的值就可以了。例如,若选择了ShortCrewCut,其属性一定返回2。不信,可以试一试~
但这里采用另外一种方法,它是用If-Then语句判断Coat:
在Command按钮已有的代码后面添加下列代码:
If MyDog.Coat = BigAndShaggy Then
MsgBox "You have a big, bouncy, bushy pup!"
ElseIf MyDog.Coat = PoodleStyleAfro Then
MsgBox "Your pooch is pretty, petit and pooch-like!"
ElseIf MyDog.Coat = ShortCrewCut Then
MsgBox "Your dog is full of oomph, oomph and more oomph!"
ElseIf MyDog.Coat = Unknown Then
MsgBox "I have no idea about your dog. I don't think " & _
"you do either!"
End If
这里的代码只是简单判断Coat属性值,并显示相应的消息对话框。当然,这里也可以使用"Select Case"
语句。
最后,我们添加最后一条语句来释放计算机内存:
在Command按钮已有的代码后面添加下列代码:
Set MyDog = Nothing
按F5运行程序,并单击Command按钮测试一下。
结果怎样,
第五节 子过程、函数和参数
前面已经接触到类的变量、属性以及枚举,但我们怎样才能更好的利用它们呢,
显然,子过程就是其中的一种方式,它几乎出现所有的Visual Basic程序中,所以这里来举例说明。
在CDog类中添加下列代码:
Public Sub Bark()
MsgBox "Woof! Woof!"
End Sub
这里的子过程是最常见的,我们可以简单地使用MyDog.Bark来调用它。
下面来试一试:
将表单Form1的Command按钮的代码改成:
Dim MyDog As CDog
Set MyDog = New CDog
MyDog.Name = "Billy"
MyDog.Bark
Set MyDog = Nothing
6
需要说明的是,在键入"MyDog."会弹出相应的列表,各列表项前面都有不同颜色的小图标区分不同的类型。例如Bark子过程项前面的是黄绿色的,属性是灰色和蓝色的,这样能帮助我们识别Bark是MyDog对象的一个方法。
按F5运行并测试。
事实上,除了子过程外,我们也可以在代码中添加函数。这里我们就不举例了,你可以自己尝试一下。因为函数和一般子过程除了能在一个类中外,其工作也是相同的。但不要忘记,所有子过程和函数都可以有自己的参数。
现在,让我们设想一下,在类中有一个Sleep方法。当我们想要cat睡觉或dog打盹时,每次都得调用这个方法。
但是,我们怎么知道这些小东西什么时候醒来,这是一个非常有趣的问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
,其答案是使用事件(event)。
当我们在文本编辑框中键入字符时就会产生Change事件,而当我们单击命令按钮时就会产生Click事件。同样,想知道这些小东西什么时候醒来,就需使用下一节所着重讨论的Awake事件。
第六节 事件
相对来说,事件的使用是比较简单的。在使用前,我们必须先定义该事件,这就意味着通知Visual Basic什么事件被调用。一个事件可能有自己的参数,例如,一个Command按钮有一个Click(单击)事件,它没有参数。另外,文本编辑框有一个KeyPress事件,它通过一个叫"KeyAscii"的值来处理相关内容。
定义一个事件是在一个类的通用声明部分添加类似下面的代码:
Public Event MyEventName(PossArguments As String, Etc As Variant)
然后在代码调用RaiseEvent方法来激发一个事件。就像下面的代码一样:
RaiseEvent MyEventName("PossArgs", "Etc")
为了更好地说明上述添加和激发事件的过程,我们举一个例子。首先,定义一个事件:
在CDog类的通用声明部分添加下列代码:
Public Event Awake()
在CDog类中添加Sleep子过程:
Public Sub Sleep()
Dim i As Long
For i = 1 To 1000000
DoEvents: DoEvents: DoEvents
exit
RaiseEvent Awake
End Sub
代码中,一开始做一些1000000次无用的循环,计算机短暂停顿后,Sleep子过程激发Awake事件。
但Awake事件产生后,我们应该让程序作相应的反应呢,当然,利用命令按钮是最简单的,只要在代码窗口的列表中选择命令按钮对象。
但是那样的话,我们必然需要一个控件,而且所见的内容都在表单上。这里我们纯粹使用相应的代码,并且是不可见的。
当然用代码来接收事件,还需要额外的操作:
在表单代码窗口中的通用声明部分,添加下列代码:
7
Dim WithEvents MyDog As CDog
该代码不同于以前的MyDog声明,它有个关键词WithEvents用来通知Visual Basic该对象可以按收任何事件,而且该对象必须接收事件。
删除命令按钮中的所有代码;并在Command1中添加下列代码:
Set MyDog = New CDog
MyDog.Name = "Billy"
MyDog.Bark
MyDog.Sleep
该代码简单地将MyDog设置成CDog的一个新的实例,设置Name后,调用Bark,最后运行Sleep子过程。
现在添加一些代码来相应Awake事件。
在Form代码窗口中,从对象下拉列表中选择"MyDog";
"MyDog"的"Awake"事件中,添加下列代码: 在
Private Sub MyDog_Awake()
MsgBox "Your pooch has awoken!"
End Sub
好了,现在就可以测试了。
按F5运行程序;
单击Command按钮;
这样,当小狗Bark后,开始打盹,最后结束时还被你叫醒。真是神奇~
下面
资料
新概念英语资料下载李居明饿命改运学pdf成本会计期末资料社会工作导论资料工程结算所需资料清单
为赠送的地产广告语不需要的下载后可以编辑删除就可以,谢谢选择,
祝您工作顺利,生活愉快~
8
地产广告语
1、让世界向往的故乡
2、某沿河楼盘:生活,在水岸停泊 3、一江春水一种人生
4、某钱塘江边楼盘:面对潮流 经典依旧 5、海景房:站在家里,海是美景;站在海上,家是美景
6、以山水为卖点的楼盘:山水是真正的不动产 7、某城区的山腰上的楼盘:凌驾尊贵 俯瞰繁华 8、某地势较高的楼盘:高人,只住有高度的房子 9、某学区房:不要让孩子输在起跑线上 10、尾盘:最后,最珍贵
11、回家就是度假的生活
12、生命就该浪费在美好的事情上
我们造城——
2、我的工作就是享受生活——
3、 我家的客厅,就是我的生活名片—— 4、在自己的阳台 看上海的未来—— 5、公园不在我家里 我家住在公园里—— 6、这里的花园没有四季——
7、***,装饰城市的风景——
8、***,我把天空搬回家——
9、房在林中,人在树下——
10、生活,就是居住在别人的爱慕里—— 11、到〖星河湾〗看看好房子的标准—— 12、好生活在〖珠江〗——
13、爱家的男人住〖百合〗
城市岸泊: 城市的岸泊,生活的小镇 生活之美不缺少,在于发现
情趣不在于奢华,在于精彩
生活有了美感才值得思考……
玫瑰庄园: 山地生态,健康人生
卓越地段,超大社区
一种完整且完善的环境,像原生一样和谐 原生景象 自然天成
9
人本理念 精品建筑
知名物业 智能安防
诚信为本 实力铸造
比华利山庄:海岸生活——引领世界的生活方式 海岸生活——22公里的奢华
海岸生活——高尚人生的序曲
海岸生活——人与自然的融合
苹果二十二院街:人文 自然 现代
铺的蔓伸
荣和山水美地:让世界向往的故乡
香港时代: 时代精英 开拓未来
领衔建筑,彰显尊贵
绿地崴廉公寓:金桥 40万平方米德国音乐艺术生活 汇都国际: 昆明都心,城市引擎
财富之都 风情之都 梦幻之都 文化之都 商贸之都 西部首座巨型商业之城
颠峰商圈的原动力,缔造西部财富新领地 新江湾城: 绿色生态港 国际智慧城
新江湾城,一座承载上海新梦想的城区 上海城投,全心以赴
建设知识型,生态型花园城区
风和日丽: 入住准现楼,升值在望
湾区大户,空中花园
大格局下的西海岸
市中心: 市中心 少数人的专属
颠峰珍贵市中心的稀世名宅
正中心 城市颠峰领地
颠峰 勾勒稀世名宅
繁华 不落幕的居家风景
地利 皇者尽得先机
稀世经典180席
阳光国际公寓:阳光金桥来自纽约的生活蓝本 钟宅湾: 海峡西岸生态人居 休闲商务区 汇聚国际财富与人居梦想的绝版宝地
二十一世纪是城市的世纪,二十一世纪也是海洋的世纪 谁控制了海洋,谁就控制了一切
站在蓝色海岸的前沿,开启一个新的地产时代 东南门户 海湾之心
海峡西岸生态人居 休闲商务区
让所有财富的目光聚集钟宅湾,这里每一天都在创造历史 上海A座(科维大厦):创富人生的黄金眼 掘金上海~创富人生~
远东大厦: 花小公司的钱,做大公司的事 未来城: 无可挑战的优势 无可限量的空间 绿地集团: 居住问题的答疑者,舒适生活的提案人 茶马驿栈: 精明置业时机 享受附加值 财富最大化 雪山下的世外桃源 茶马古道上千年清泉之乡 金地格林春岸:城市精英的梦想家园
10
繁华与宁静共存,阔绰身份不显自露 建筑覆盖率仅20%,令视野更为广阔 占据最佳景观位置,用高度提炼生活 完美演绎自然精髓,谱写古城新篇章 创新房型推陈出新,阔气空间彰显不凡 365天的贴身护卫,阔度管理以您为尊 金地格林小城:心没有界限,身没有界限 春光永驻童话之城
我的家,我的天下
东渡国际: 梦想建筑,建筑梦想 齐鲁置业: 传承经典,创新生活 比天空更宽广的是人的思想
创新 远见 生活
嘉德 中央公园:一群绝不妥协的居住理想家 完成一座改变你对住宅想象的超越作品
极至的资源整合 丰富住家的生活内涵 苛求的建造细节 提升住家的生活品质 地段优势,就是永恒价值优势
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
优势,就是生活质量优势
景观优势,就是生命健康优势
管理优势,就是生活品味优势
空中华尔兹: 自然而来的气质,华尔兹的生活等级
享受,没有不可逾越的极限
所谓完美的习惯,是舒适空间的心情定格~ 临江花园: 经典生活品质
风景中的舞台
美林别墅: 源欧美经典 纯自然空间 住原味别墅 赏园林艺术
淡雅 怡景 温馨 自然
钱江时代: 核心时代,核心生活 核心位置 创意空间 优雅规划 人文景观 财富未来
城市精神,自然风景,渗透私人空间 泰达时尚广场: 是球场更是剧场 城市经济活力源
时尚天津 水舞中国
未来都会休闲之居
创意时尚 天天嘉年华
健康快乐新境界
商旅新天地 缔造好生意
城市运营战略联盟,参与协作,多方共赢 华龙碧水豪园: 浪漫一次,相守一生 东方莱茵: 品鉴品位 宜家宜人 建筑一道贵族色彩
品鉴一方美学空间
品位一份怡然自得
荡漾一股生命活力
坐拥一处旺地静宅
体会一种尊崇感受
常青花园(新康苑):新康苑 生活感受凌驾常规
11
大非凡生活领域 成功人士的生活礼遇 拥有与自己身份地位相等的花园社区 在属于自己的宴会餐厅里会宾邀朋
只与自己品味爱好相同的成功人士为邻 孩子的起步就与优越同步
酒店式物管礼遇
拥有[一屋两公园 前后是氧吧]的美极环境 水木清华: 住在你心里
福星惠誉(金色华府):金色华府,市府街 才智名门——释放生命的金色魅力
真正了解一个人,要看他的朋友,看他的对手。 真正了解一种生活,也当如此。
核心地段(区位是一面镜子,照见家的质素) 隐逸空间(环境是一面镜子,照见家的质素) 超大规模(点亮与过往不同的“大”生活) 成熟配套(周边一切是镜子,照见家的质素) 精品建筑(外揽天下,内宜室家)
均好户型(每天每秒都被释放到四壁之外) 大唐新都: 原创生活,非常空间
住宅不是炫耀的标签,生活是用来享受的。 人信.千年美丽: 森庭画意.千年美丽 宁静是一种内在的力量
生活是与自然的恋爱
在自然中体验自由的生存
建筑让人迷恋的核心是思想
华智.翡翠星空: 创意生活由此进
时代美博城: 繁华领地 时尚生活
浪漫无极限
阳光海岸: 美景与生活的邂逅
带着些许闲散情绪,安享私藏一片湖的幸福 梦幻湖畔 温柔横亘在回归前方 这是你的见.心的家 景江华庭: 静享都市繁华 新锐生活核心 海虹.景: 城市在变 世界观也要变
海虹.景 国际社区
一个改变你世界观的城市文化住宅
海虹.景 区位世界观
一块好地 不仅要放到空间中 更要放到时间中去评价 海虹.景 美景世界观
先成为园林鉴赏家才能鉴赏城市
海虹.景 享受世界观
放手生活是享受的开始
海虹.景 生活世界观
洞悉时尚潮流才能洞悉生活的变化
海虹.景 空间世界观
空间随意识而变 空间是流动变化的
碧水晴天: 生活就是……寻开心
驾奴.桥的前途 路的前程 城市的前景 守望.江的神奇 滩的神话 岸边的神韵 品尝.园的风景 家的风采 眼前的风情
12
沐浴.屋的明亮 窗的明净 心底的明朗 闽东电力集团.楚都地产:璀璨,用诚信打造 辉煌,用实力说话
领跑,用行动证明
昆明走廊: 昆明走廊,一场与众不同的城市诡计游戏,全情体验行走的变幻情趣.
2004.场景.商业地产
西南商圈.重获新生,王者复活
2004.剧情.昆明走廊
昆明走廊的实体不是一个建筑,而是一个场所。 2004.主角.城市FI客
概念商街,体验生活进行中
2004.精彩.正式开始
乐得家.金瀚家园: 水边的香格里拉 生活的真谛源于自然,
自然的奥意在于和谐,
和谐的精髓表达完美。
江畔语林: 距璀璨不远,离自然更近 在这里,学习过悠然人生
非凡礼遇,成就居者高人一等的气质 金地香蜜山: 山在这里,我在这里 城市山居生活再升级
白描香蜜山
山林生活的升级演绎
真正的健康住宅
长在山上的房子
城市中的山地建筑
坚持 简约的后现代美学
原生态私家山野公园
四季分明的山中岁月
健康、趣味、质朴、自然是最好的设计师 风、光、水、石、云五大庭院艺术 空间是用来收藏自然的
山中的有氧运动
网球也是一种生活方式
健康成为一种习惯
山是一件运动装备
上海五角世贸商城: 百舸争流,谁能竞风流 卓越来自您抢先一步~乘天时,顺势而起。 成功来自您抢占高位~据地利,如虎添翼 理想来自您精心创造~通人知,倾情打造。 维多利亚公寓: 城南三环之内/最后,最珍贵 精粹城南里的优裕生活
花园里的洋楼,演绎英伦贵派风格 国际与本土顶尖建筑团体
全球景观设计权威/美国易道,全景营造 让每扇窗,向着风景深呼吸
金色嘉苑: 水光山色中的幸福家园 有保证的幸福生活
13
上风上水,幸福生活版图
尽善尽美配套,演绎幸福生活
365天美景生活,幸福生活时时刻刻 特别的爱献给特别的你
找到都市的幸福时光
嘉德现代城: 豪华尊贵的盛会 名流云集的家园 景江苑: 开启全景生活 展现全新人生 恒海国际高尔夫别墅:在这里,掀开淀山湖,恒海
计划
项目进度计划表范例计划下载计划下载计划下载课程教学计划下载
历史一页
世纪金融大厦: 璀璨闪烁
冉冉升起 我不能视而不见
清怡花苑: 风生,水起,潮涌
观赏,无边境
天境.山因势而动
山青,塔长,钟鸣
艺境.艺因琢而精
心境.心因静而远
心静,致远,淡泊,明智
筑境.筑因妙而传
创造,无止境
上品.巨洋豪园: 陆家嘴,顶极地标,至上口味 上品 稀缺,升值,唯一
新海派主义建筑集群
无限阳光 双景生态 自然居停
舒适源于对居住尺度的把握
星星港湾: 星星港湾,看见非一般的梦想 星星港湾,大学城后花园
重组,文化浓郁之美
东部生活的坐标
星星港湾的星空下,微笑的你,发现新生活已经来临 居住,是气质的一种表达
BLOCK,围合式空间,标识居住者的领域感和归属感 核心区域,处处折射品质生活
生活美学,一次满足你的梦想
一个正在实现中的梦想
天寓: 抛开一切繁文缛节,一切约定俗成,还原自然,真实的居住理想。
设计改变生活
设计思想——简洁、自由、大气
建筑——凝固的音乐
景观——回归自然
生命的真谛
品质生活——上帝在细节中
室内空间
14