`
hje
  • 浏览: 288153 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

动态创建button

阅读更多
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%" creationComplete="init()">
<mx:Metadata>
[Event(name="transferCallout",type="flash.events.TextEvent")]
</mx:Metadata>
<mx:Script>
<![CDATA[
import com.protel.cti.ctiSharedObject.CTISharedObjectManager;
import com.protel.cti.util.CTIlog;
import myas.http.Init_http;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.controls.Alert;
import font.agd.callout.callout;
import mx.utils.UIDUtil;
import com.protel.cti.util.CTIlog;
public var urlString:String=CTISharedObjectManager.getData("servleturl");
private function transferCallouts():void
{
var event:TextEvent=new  TextEvent("transferCallout");
dispatchEvent(event);
}
private function init():void
{
myHttp.initHttp(quickCall_http,serve_url,par,urlString);
}
//速拨表

    private  var myHttp:Init_http=new Init_http();
    private var serve_url:String="CTISpeedDial.do?servlet=getAll&random="+UIDUtil.createUID();
    private   var par:String="<cti><paging><curPage>1</curPage></paging></cti>";
    private var result_callout_arr:Array;
    private var result_xml_len:int;
private function getCallOutResult(event:ResultEvent):void
{
try{
var xml_list:XMLList=myHttp.getResult(event,quickCall_http);
var i:int;
result_xml_len=xml_list.children().length();
if(result_xml_len>1)
{
var x:int=0,y:int=0,k:int=0;
for(i=0;i<result_xml_len;i++)//result_xml_len=8-1;
{
var name:String=xml_list.model[i].DialName;
var telNum:String=xml_list.model[i].DialNo;
if(name!="" && telNum!="")
{
   var bt:Button=creatButon(name,telNum,i);
}  
              if(k<3)
               {
               bt.x=x;
               x=x+95;//x间隔为95
               bt.y=y;
               k++;
               canvas.addChild(bt);
               }
              else
               { bt.x=x;
               bt.y=y;
              canvas.addChild(bt);//把第四个放在第三个后面
               x=0;
               k=0;
               y=y+50;//间隔为50
               }
     }

}
}
catch(error:Error)
{
//CTIlog.error(error.message.toString());
}
    function creatButon(name:String,telNum:String,i:int):Button
            {         
            var bt:Button=new Button();
            var ss:String="bt"+i.toString();
            bt.id="bt"+i.toString();
            bt.label=name;//数据库获得
            bt.toolTip=telNum;//数据库获得
            var s:String;
            //bt.addEventListener(MouseEvent.MOUSE_OVER,btMouseOver);
            //bt.addEventListener(MouseEvent.MOUSE_OUT,btMouseOut);
            bt.addEventListener(MouseEvent.CLICK,btClick);


               function btClick(event:MouseEvent):void
       {
       var telNum:String;
       try
       {
       telNum=bt.toolTip;
       var event1:TextEvent=new TextEvent("transferCallout");
       event1.text=telNum;
       dispatchEvent(event1);
       }
       catch(error:Error)
       {
       CTIlog.error(error.message.toString());
       }
       //conn.send("Protel_CTI_AGD", "makecall",telNum);

       }
       return bt;
     /*  function btMouseOver():void
       {
       var telNumShow:String=telNum;
       CTIlog.log("速拨\n"+telNumShow);
       }
       function btMouseOut():void
       {
      
       }*/
           
             }
}

private function getFault(event:FaultEvent):void
{
CTIlog.log("Error " + event.message.toString());
}
]]>
</mx:Script>
<mx:HTTPService id="quickCall_http" resultFormat="text" result="getCallOutResult(event)" fault="getFault(event)"/>
<mx:Canvas x="0" y="0" width="100%" height="100%" id="canvas">
<mx:Button x="325" y="268" label="Button" click="transferCallouts()" enabled="false" visible="false"/>
</mx:Canvas>
</mx:Canvas>


//使用:
1,导入到application-->> <ns1:quickCall_bt x="10" y="77" width="432" height="323" transferCallout="dispalyCall(event)">

2,在application中写方法--->> private function dispalyCall(event:TextEvent):void
{
//CTIlog.debug(event.text);
makecall2(event.text);
}
分享到:
评论

相关推荐

    C#动态创建button的方法

    本篇文章将深入探讨如何在C#中动态创建`Button`控件,并讨论相关属性的动态设置以及事件处理的绑定。通过了解这些知识,开发者可以更加灵活地构建用户界面,根据程序运行时的需求添加或删除控件。 首先,我们来看一...

    MFC视图动态创建button和progressCtrl

    本示例着重讲解如何在MFC视图中动态创建Button控件和ProgressCtrl控件,这对于构建交互式应用程序至关重要。 1. **动态创建控件**: 在MFC中,我们不直接在资源编辑器中静态添加控件,而是通过编程方式在运行时...

    动态生成button以及点击事件

    接下来,在Activity或Fragment的Java代码中,我们可以获取到这个LinearLayout,并进行动态创建Button的操作。这里以MainActivity为例: ```java import androidx.appcompat.app.AppCompatActivity; import android....

    C#动态创建button按钮的方法实例详解

    C#动态创建button按钮的方法实例详解 C#动态创建button按钮的方法实例详解是一种常见的编程技术,在实际编程中经常需要动态创建按钮以满足不同的需求。本文主要介绍了C#动态创建button按钮的方法实例详解的相关资料...

    MFC 动态创建按钮示例

    本文将详细讲解如何在MFC中动态创建按钮并处理按钮的单击消息。 首先,理解MFC的基本架构至关重要。MFC封装了Windows API,使得开发者可以使用C++的对象模型来操作窗口、控件等。在MFC中,对话框(Dialog)通常由...

    Android应用:动态创建按钮,放在现有布局中

    在Android开发中,动态创建UI元素是常见的需求,特别是在需要...2. 创建Button对象并设置属性。 3. 将按钮添加到布局。 4. 添加点击事件监听器。 掌握这些步骤将有助于你灵活地构建动态且交互性强的Android应用界面。

    DELPHI 动态创建按钮 BUTTONG

    在DELPHI编程环境中,动态创建控件是一种常见的需求,特别是在设计用户界面或者实现自定义功能时。本示例着重讲解如何在DELPHI XE10中动态创建按钮(BUTTONG)。动态创建控件允许你在程序运行时根据需要创建、修改或...

    C#轻松调用多组button控件

    - 在C#中,我们可以通过代码动态创建Button控件,而不是只在设计视图中静态放置。这在需要根据数据或其他条件创建不同数量的按钮时非常有用。例如,可以遍历数据集并为每个条目创建一个Button。 3. **事件处理**:...

    改变Button的方法总结

    10. **动态创建和销毁**:在运行时,可以使用`Create`函数动态创建Button控件,`DestroyWindow`函数则用于在不再需要时删除它。 以上就是改变VC++中Button控件的一些常用方法和策略。通过这些技术,开发者可以创建...

    Android_Button

    在中山大学的实验中,学生可能还会接触到如何动态创建Button,或者在Button上添加自定义图像等进阶技巧。理解并熟练掌握Button的使用,对于Android开发者来说至关重要,因为它是构建用户交互界面不可或缺的一部分。 ...

    代码建立Button

    使用代码动态创建Button,相比于在XML布局文件中声明,确实具有一定的灵活性和安全性。以下我们将详细介绍如何通过代码来创建Button,以及这种方法的优缺点。 首先,我们需要了解Button的基本属性和用法。Button是...

    android Button_test

    除了在XML布局文件中定义,还可以在运行时动态创建Button。这通常在需要根据数据动态生成界面时使用。 7. **自定义Button**: 如果需要更复杂的按钮样式,可以通过继承`Button`类创建自定义控件,重写`onDraw()`...

    Delphi 动态创建Panel

    在Delphi编程环境中,动态创建组件是常见的需求,特别是在构建用户界面时,为了实现更灵活的设计和交互。本文将深入探讨如何动态创建Panel,并在Panel上添加其他组件,如TRzBackground和TBmpButton,同时处理鼠标...

    qt动态创建窗体

    在Qt编程中,动态创建窗体是一项常见的任务,它允许我们根据程序运行时的需求来创建新的用户界面元素。本文将详细讲解如何在Qt环境中实现动态拖拉创建窗体,并探讨窗体的可调整大小、可移动、可叠加以及可关闭等特性...

    Android中Button的作用与定义.pdf

    4. 动态创建Button: 除了在XML布局文件中静态创建Button,我们还可以在Java代码中动态创建并添加到布局中: ```java Button button = new Button(this); button.setText("动态按钮"); button.setOnClickListener...

    Android应用源码-Button按钮应用类源代码(3例).zip

    - 动态创建Button,通过Java代码`new Button(context)`,然后添加到父视图。 2. **设置Button属性** - `android:text`:定义Button显示的文本。 - `android:textColor`:设置按钮文本的颜色。 - `android:...

    火山安卓动态创建无限按钮例子.rar

    2. **创建Button对象**:使用`new Button(context)`创建一个新的Button对象,其中`context`是当前Activity的上下文。 3. **设置按钮属性**:可以使用各种方法来设置按钮的属性,如文本(`setText()`)、颜色(`...

    ex07_1_button.rar_android

    五、动态创建Button 除了在XML布局中声明按钮,还可以在Java代码中动态创建: ```java Button dynamicButton = new Button(this); dynamicButton.setText("动态创建"); dynamicButton.setOnClickListener(new View....

Global site tag (gtag.js) - Google Analytics