zoukankan      html  css  js  c++  java
  • Flex组件开发总结(aierong原创技术随笔)


    2009-04-09 10:02

    1.如何监听键盘事件?

    <mx:TextArea id="textEditor" keyDown="sendKeyHandler(event)" x="11" y="366" width="399"/>

    private function sendKeyHandler(evt:KeyboardEvent):void
    {

    //Enter 键

            if (evt.keyCode == 13)
            {
                this.sendTxt();

                return ;
            }

    }

    代码说明:有两种类型的键盘事件:KeyboardEvent.KEY_DOWNKeyboardEvent.KEY_UP

    以上是监听的是回车事件

    要是想监听组合键,例如:Ctrl+Enter 键,代码如下:

    if (evt.keyCode == 13 && evt.ctrlKey)
    {
    }

    2.怎么控制RichTextEditor的控制栏?

    利用showControlBar属性,控制RichTextEditor的控制栏,这样把整个控制栏都关闭了

    要是想分别控制控制栏中各寄宿控件,可以参考如下代码:

    this.textEditor.alignButtons.height=0;
    this.textEditor.alignButtons.visible=false;

    this.textEditor.bulletButton.height=0;
    this.textEditor.bulletButton.visible=false;

    this.textEditor.linkTextInput.height=0;
    this.textEditor.linkTextInput.visible=false;

    this.textEditor._RichTextEditor_VRule1.height=0;
    this.textEditor._RichTextEditor_VRule1.visible=false;

    this.textEditor._RichTextEditor_VRule2.height=0;
    this.textEditor._RichTextEditor_VRule2.visible=false;

    当然,还可以参考这文章

    http://blog.minidx.com/2008/12/29/1841.html

    3.控件双击事件(DoubleClick Event)怎么没反应?

    <mx:Button doubleClickEnabled="true" doubleClick="doubleClickHandler(event)" x="48" y="32" label="Button"/>

    private function doubleClickHandler(evt:MouseEvent):void
    {
        Alert.show("doubleClick");
    }

    代码说明:

    doubleClickEnabled属性:指定对象是否接收 doubleClick 事件。默认值为 false,这意味着在默认情况下,不接收 doubleClick 事件。如果将 doubleClickEnabled 属性设置为 true,实例在其范围内接收 doubleClick 事件

    4.怎么在TextArea的光标位置插入字符?

    <mx:TextArea id="textEditor" x="11" y="366" width="399"/>

    private function insertString(insertStr:String):void
    {
        if (this.textEditor.selectionBeginIndex == this.textEditor.selectionEndIndex)
        {
            var startPart:String=this.textEditor.text.substring(0, this.textEditor.selectionBeginIndex);
            var endPart:String=this.textEditor.text.substring(this.textEditor.selectionEndIndex, this.textEditor.text.length);
            startPart+=insertStr;
            startPart+=endPart;
            this.textEditor.text=startPart;
        }
        else
        {
            this.textEditor.text=insertStr;
        }
    }

    5.实现TextArea控件的滚动条始终保持在最下面?

    this.txt_content.addEventListener(FlexEvent.VALUE_COMMIT,VALUE_COMMITHandler);
    private function VALUE_COMMITHandler(evt:FlexEvent):void{
            txt_content.verticalScrollPosition = txt_content.maxVerticalScrollPosition;
    }

    代码说明:这段代码是为了实现TextArea控件的滚动条始终保持在最下面,以方便用户查看聊天信息

    要是VBox控件需要实现类似效果,可以看如下代码:

    <mx:VBox id="vd" updateComplete="updateCompleteHandler(event)" x="10" y="10" width="399" height="348">

    private function updateCompleteHandler(evt:FlexEvent):void
    {
        this.vd.verticalScrollPosition=this.vd.maxVerticalScrollPosition;
    }

  • 相关阅读:
    前路漫长
    OEL6 /boot分区删除恢复
    区块链:剖析工作量证明
    【转】区块链:Schnoor签名究竟是什么
    使用 Hyperledger Fabric 开展私密交易
    Sovrin:技术落地可期,但推广难度较高
    白硕:区块链技术与数据隐私(附视频)
    从入门到精通零知识证明与zkSNARK
    区块链安全:匿名性以及隐私性
    朋友去面试Python工程师,又带回来几道基础题,Python面试题No10
  • 原文地址:https://www.cnblogs.com/nianshi/p/1797138.html
Copyright © 2011-2022 走看看