forgetdu 发表于 2012-3-26 14:11:19

;GUICtrlCreateInput 怎么实现自动换行?

#include <GUIConstantsEx.au3>
#include <GuiComboBoxEx.au3>
#include <String.au3>
Example()

Func Example()
      Local $msg

      $hGUI=GUICreate("http://www.xfpm.org/")
                $tex2="浙江温州平阳旭峰塑料机械有限公司,专业生产:圆织机、小凸轮圆织机、四梭圆织机、网眼袋机、塑料收丝机、塑料扁丝、圆丝拉丝机、复合机、制袋机及相关塑料机械。"
                GUICtrlCreateLabel("网址:", 16, 60)
                $url = GUICtrlCreateInput("", 75, 55, 210, 20)
                $tPos = ControlGetPos($hGUI,"",$url)
                $input = GUICtrlCreateInput("", 75, $tpos+$tpos+5, 80, 20)
                $Button_1 = GUICtrlCreateButton("确定", 15, 260, 80)
      GUISetState()

      ; Run the GUI until the dialog is closed
      While 1
                $msg = GUIGetMsg()

   Select
                Case $msg = $GUI_EVENT_CLOSE
                        ExitLoop
                Case $msg=$Button_1
                                $x=StringLen(_StringToHex($tex2))
                                If $x*3.125>200 Then
                                        GUICtrlSetPos($input,16,$tpos+$tpos+30,260,$X*3.125/260*15)
                                        Else
                                        GUICtrlSetPos($input,75,$tpos+$tpos+10,80,14+$X*3.125/80*13)
                                        EndIf
                                                GUICtrlSetData($input,$tex2)
                               
      EndSelect
                WEnd
EndFunc   ;==>Example

以上代码主要是想通过对字符数量来确定输入框的大小与位置。

但是试了几个都是没办法自动换行。。。请高手指导。。

veket_linux 发表于 2012-3-26 14:32:05


#include <EditConstants.au3>

$input = GUICtrlCreateInput("", 75, $tpos+$tpos+5, 80, 20, $ES_MULTILINE)
;;; $ES_MULTILINE
;;; Designates a multiline edit control. The default is a single-line edit control.

forgetdu 发表于 2012-3-26 16:09:33

谢谢楼上。。。问题解决了。
但是通过GUICtrlSetStyle ( $input,$ES_MULTILINE)似乎没有反应。

netegg 发表于 2012-3-26 16:43:42

回复 3# forgetdu

需要bitor()

whitehead 发表于 2012-3-26 17:01:38

学到了一招
页: [1]
查看完整版本: ;GUICtrlCreateInput 怎么实现自动换行?