sunny617 发表于 2009-7-26 18:30:13

怎么做一个带下划线样式的控件

本帖最后由 sunny617 于 2009-7-28 09:15 编辑

如下图

我想将高级配置这个控件改变成像WEB点击连接一样

带有下划线的控件。。苦于我没有找到控件样式

并,在点击高级配置 控件后原GUI窗体变长2陪呢?(也就相当于加长了GUI)
来对高级配置做更多的操作。。。


虚心求教

:face (18):

gto250 发表于 2009-7-26 21:20:32

不知道你要问的是下划线呢,还是伸缩框
我就回答你的伸缩框的问题吧,自己看附件

sunny617 发表于 2009-7-26 23:25:15

本帖最后由 sunny617 于 2009-7-26 23:31 编辑

这个。。正需要。。。

我是问怎么做一个带有下划线的控件。。。不要按钮
像下面这样的控件样式

破帽遮颜 发表于 2009-7-26 23:35:48

#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 478, 337, 192, 124)
$Label1 = GUICtrlCreateLabel("Label1", 80, 96, 36, 17)
GUICtrlSetFont(-1, 9, 400, 4)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit

        EndSwitch
WEnd

sunny617 发表于 2009-7-26 23:40:09

上面的大虾。。。。
你这图里的是控件吗?

afan 发表于 2009-7-26 23:45:00

本帖最后由 afan 于 2009-7-26 23:48 编辑

Label 也是控件啊,给它一个Case事件不就行了,顺便加只手#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 478, 337, 192, 124)
$Label1 = GUICtrlCreateLabel("Label1", 80, 96, 36, 17)
GUICtrlSetCursor(-1, 0)
GUICtrlSetFont(-1, 9, 400, 4)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
      $nMsg = GUIGetMsg()
      Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit

                Case $Label1
                        Msgbox(0,0,'这下你满意了吧 ')
      EndSwitch
WEnd

lynfr8 发表于 2009-7-26 23:48:57

本帖最后由 lynfr8 于 2009-7-26 23:51 编辑



winmove移动指定的窗口或调整窗口的大小:是伸缩的关键
通过SetOnEvent点击链接就打开ACN网页 #include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)
$Form = GUICreate("超链接+窗体伸缩 演示", 305, 108, 214, 153)
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSE")
$Label = GUICtrlCreateLabel("链接", 34, 16, 36, 30)
GUICtrlSetFont(-1, 8, 400, 4, "MS Sans Serif")
GUICtrlSetOnEvent(-1, "Click")
$Button = GUICtrlCreateButton("窗体伸缩-->", 16, 48, 80, 25)
GUICtrlSetOnEvent(-1, "Button")
GUISetState(@SW_SHOW)
While 1
Sleep(100)
WEnd
Func CLOSE()
Exit
EndFunc
Func Click()
Run(@ProgramFilesDir & "\Internet Explorer\iexplore.exe www.autoitx.com")
EndFunc
Func Button()
If GUICtrlRead($Button) = "窗体伸缩-->" Then
WinMove($Form, "", Default, Default, 500, Default)
GUICtrlSetData($Button, "窗体伸缩<--")
ElseIf GUICtrlRead($Button) = "窗体伸缩<--" Then
WinMove($Form, "", Default, Default, 305, Default)
GUICtrlSetData($Button, "窗体伸缩-->")
EndIf
EndFunc

sunny617 发表于 2009-7-27 00:02:49

本帖最后由 sunny617 于 2009-7-27 00:44 编辑

谢谢。。。谢谢。。。这么晚你们还来关注我的贴子。。。正急着要。。

:face (29):小弟记下了



小手。。嗯我找到了那个函数。。。黑


-----------------------------------------------
不过用winmove有个新的问题来了,
我并不想将整个窗口放大。。。而winmove会重新调整大小。。。
有没有好的办法让窗口只出现增加的宽度。。而原来定意的控件位子不变呢

lynfr8 发表于 2009-7-27 03:20:52

不过用winmove有个新的问题来了,
我并不想将整个窗口放大。。。而winmove会重新调整大小。。。
有没有好的办法让窗口只出现增加的宽度。。而原来定意的控件位子不变呢
我只是做一个简单的演示
让你知道相关的关键函数
同时方便后人
而2楼给出的代码非常棒
你应该先自行去深入研究
当你弄懂了
自然就掌握到精髓了
想完美解决就不难了
别盘根问底的
求知当自强!

afan 发表于 2009-7-27 03:46:00

控件位置去看看 GUICtrlSetResizing()

lynfr8 发表于 2009-7-27 18:58:05

本帖最后由 lynfr8 于 2009-7-27 18:59 编辑

Opt('GUIResizeMode', 802)


GUIResizeMode更改控件大小调整的模式.
0 = (默认)不调整
<1024 = 详情请查看GUICtrlSetResizing

crazy715 发表于 2009-7-27 20:23:01

这个帖子真是有大大的帮助!!!!

sunny617 发表于 2009-7-28 08:55:52

回lynfr8的话


嗯..看了二楼的脚本...找到了OPT模式....的设置方式

10楼的做方不视为一种办法....但编写麻烦

afan 发表于 2009-7-28 12:06:17

13# sunny617


Opt('GUIResizeMode', 802) 写在前面就 ok 了,如果 winmove 范围内有控件要跟随移动就还得 单独 GUICtrlSetResizing 。比方说2#的例子,如果是向下方展开,而只是中间拉长,“记录添加”以下部分保持底部位置不变的话。。

sunny617 发表于 2009-7-28 19:18:28

嗯..知道...你说的这个可以在改变窗口后调整位子....

我这个例子中也是向下伸
页: [1] 2
查看完整版本: 怎么做一个带下划线样式的控件