| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2458 人关注过本帖
标题:这个算动态吗?
只看楼主 加入收藏
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
用途不明显,但作为练习,可以了。有些做法走了弯路,不过那是你不熟悉的关系。

授人以渔,不授人以鱼。
2012-09-23 20:58
bccn201203
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:680
专家分:1140
注 册:2012-3-14
收藏
得分:0 
表单运行后实施的控件变化,吾称之动态变化。
2012-09-23 21:00
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
以下是引用bccn201203在2012-9-23 20:57:46的发言:

原来如此 还没用过那个。。。

梅尚程荀
马谭杨奚







                                                       
2012-09-23 21:06
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
以下是引用TonyDeng在2012-9-23 20:58:30的发言:

用途不明显,但作为练习,可以了。有些做法走了弯路,不过那是你不熟悉的关系。

那些做法 是弯的? 求解 求解!

梅尚程荀
马谭杨奚







                                                       
2012-09-23 21:06
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
以下是引用hu9jj在2012-9-23 20:55:28的发言:

开发的程序是提供给用户使用的,不管你是用可视化方式开发还是直接用代码生成界面,最后给用户的结果都是相同的,仅仅编程者的方式不同而已,但从开发效率来说就大不一样了。

是啊拖控件 很快的

梅尚程荀
马谭杨奚







                                                       
2012-09-23 21:07
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
改变控件的属性,不必全靠Init事件做,随时都可以的,而且即时生效,动态变化。比如改变宽度,在需要的时候给控件对象的.Width赋值就可以了。你现在是用参数初始化控件,不必借助自定义属性,也不必总在Init时做。数据驱动程序,是适应于外部数据源的,不在设计时指定,也无法指定。数据放在程序之外,是为了不必反复编译程序和再发布,适应性强。界面在设计时定死了,当然很好实现,只是看你的程序需求是否这种环境。

举个例子:你要设计10个按钮,其中4个是红色的,4个是绿色的,2个是蓝色的。如果用拖拉控件,就分别设置10个赋值;如果用代码驱动,就用一个DO CASE分批设置;如果用数据驱动,就只用一个循环。当要变化其中某些按钮的颜色时,你看哪种最方便?

动态画面,在诸如动态报表之类的场合很有用。像工资单那种,事先是不知道用户想输出哪些项目数据的,而且很可能某些项目如何计算也不知道,那样无法在设计时做死,连最终效果自己都不知道,那就谈不上如何拖拉控件去做。做商业化的东西,做灵活了是王道,因为用户的需求千变万化,你不可能每个都大同小异地去改一遍程序,给无数个版本让自己维护。自己用的,当然怎么改都觉得很方便了。

[ 本帖最后由 TonyDeng 于 2012-9-23 21:38 编辑 ]

授人以渔,不授人以鱼。
2012-09-23 21:23
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
以下是引用TonyDeng在2012-9-23 21:23:04的发言:

改变控件的属性,不必全靠Init事件做,随时都可以的,而且即时生效,动态变化。比如改变宽度,在需要的时候给控件对象的.Width赋值就可以了。你现在是用参数初始化控件,不必借助自定义属性,也不必总在Init时做。数据驱动程序,是适应于外部数据源的,不在设计时指定,也无法指定。数据放在程序之外,是为了不必反复编译程序和再发布,适应性强。界面在设计时定死了,当然很好实现,只是看你的程序需求是否这种环境。

举个例子:你要设计10个按钮,其中4个是红色的,4个是绿色的,2个是蓝色的。如果用拖拉控件,就分别设置10个赋值;如果用代码驱动,就用一个DO CASE分批设置;如果用数据驱动,就只用一个循环。当要变化其中某些按钮的颜色时,你看哪种最方便?

我怎么感觉还是循环方便 只要设定按钮的ID 然后用if语句 和 inlist()函数来个相应ID的按钮设置颜色就行吧 。

梅尚程荀
马谭杨奚







                                                       
2012-09-23 21:33
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
回复 26楼 TonyDeng
老大 现在出现一个重大问题 哇 简直是天大的问题
这个问题 可以击溃我前面所有努力建立的架构

如下程序
程序代码:
Clear All
Main()

Procedure Main()
    Local lo_MainForm
    lo_MainForm = NewObject("C_Form")
    lo_MainForm.Show
    Read Events
    Return
EndProc

Define Class C_Form as Form
    Width = 400
    Height = 400
    AutoCenter = .T.
    Caption = "Experiment"
  
    Procedure Init
        With This
            .AddObject("xx", "CommandButton")
            With this.xx
                .Top = 100
                .Left = 100
                .Height = 50
                .Width = 100
                .Caption = "XXbtn"
                .Visible = .T.
            EndWith
        EndWith
    EndProc   

    Procedure xx.Click
        MessageBox("阿弥陀佛")
    EndProc
  
    Procedure destroy

        Clear Events
    EndProc

EndDefine
编译器会提示他认不到XX..........
图片附件: 游客没有浏览图片的权限,请 登录注册


也就是说在Form的Init事件里 通过.addObject()函数 添加的对象 在 Form中无法实现它的click 事件。。。。
那我写的那个N多命令按钮不是作废了?

梅尚程荀
马谭杨奚







                                                       
2012-09-23 21:44
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 

授人以渔,不授人以鱼。
2012-09-23 21:47
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
以下是引用TonyDeng在2012-9-23 21:47:55的发言:

看19楼:
https://bbs.bccn.net/viewthread.php?tid=381931&extra=&page=2

老大 你是提醒我在自定义类里就把他所拥有的控件的事件都写了? 是不是啊?

梅尚程荀
马谭杨奚







                                                       
2012-09-23 21:51
快速回复:这个算动态吗?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022447 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved