chzj589 发表于 2016-12-28 15:51:28

回复xzh531
chzj589 发表于 2016-12-28 15:34 http://www.autoitx.com/images/common/back.gif

chzj589 发表于 2016-12-28 16:10:19

回复chzj589


    除了字符,显示背景图片,如果背景不加图片就可以,我记得他们好像是通过DLLCALL来 ...
xzh531 发表于 2016-12-28 15:26 http://www.autoitx.com/images/common/back.gif
这样应该可以,你试试

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <WindowsConstants.au3>
Global $SS_CENTER, $SS_CENTERIMAGE
$Form1 = GUICreate("Form1", 633, 444, 192, 124, BitOR($WS_SYSMENU, $WS_POPUP, $DS_MODALFRAME))
$BACKAC = GUICtrlCreatePic(@ScriptDir & "\SpxImage2.jpg", 0, 0, 633, 444)
GUICtrlSetState(-1, $GUI_DISABLE)
$Labela = GUICtrlCreateLabel("", 2, 0, 566, 30, $SS_CENTER + $SS_CENTERIMAGE, $GUI_WS_EX_PARENTDRAG)
GUICtrlSetBkColor(-1, -2)
GUICtrlSetCursor(-1, 0)
GUICtrlSetColor(-1, 0x003300)
GUICtrlSetFont(-1, 14, 600, 0, 'Verdana')
$Labelb = GUICtrlCreateLabel('×', 598, -7, 32, 37)
GUICtrlSetBkColor(-1, -2)
GUICtrlSetCursor(-1, 0)
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetFont(-1, 24, 400, 0, 'Verdana')
GUICtrlSetOnEvent($Labelb, "_Form1Close")
GUICtrlSetCursor($Labelb, "SIZEALL");鼠标指针
$Labelb2 = GUICtrlCreateLabel('-', 566, -7, 32, 37);, $SS_CENTER)
GUICtrlSetBkColor(-1, -2)
GUICtrlSetCursor(-1, 0)
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetFont(-1, 24, 400, 0, 'Verdana')
GUICtrlSetCursor($Labelb2, "SIZEALL") ;鼠标指针
GUISetState(@SW_SHOW)

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
                Case $Labelb
                        Exit
                Case $Labelb2
                        btnMinClick()
        EndSwitch
WEnd
Func btnMinClick();窗口缩小任务栏
        WinSetState($Form1, "", @SW_MINIMIZE)
EndFunc   ;==>btnMinClick

xzh531 发表于 2016-12-28 16:45:16

回复 17# chzj589


    是的,可以了,你是通过按labela来移动窗口,能通过mouse,在form1随便一个地方都可以移动窗口吗?

chzj589 发表于 2016-12-28 17:30:43

回复chzj589


    是的,可以了,你是通过按labela来移动窗口,能通过mouse,在form1随便一个地方都 ...
xzh531 发表于 2016-12-28 16:45 http://www.autoitx.com/images/common/back.gif
把$Labela设置为窗口的坐标,

$Form1 = GUICreate("Form1", 633, 444, 192, 124, BitOR($WS_SYSMENU, $WS_POPUP, $DS_MODALFRAME))
$BACKAC = GUICtrlCreatePic(@ScriptDir & "\SpxImage2.jpg", 0, 0, 633, 444)
GUICtrlSetState(-1, $GUI_DISABLE)
$Labelb = GUICtrlCreateLabel('×', 598, -7, 32, 37)
GUICtrlSetBkColor(-1, -2)
GUICtrlSetCursor(-1, 0)
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetFont(-1, 24, 400, 0, 'Verdana')
GUICtrlSetCursor($Labelb, "SIZEALL");鼠标指针
$Labelb2 = GUICtrlCreateLabel('-', 566, -7, 32, 37);, $SS_CENTER)
GUICtrlSetBkColor(-1, -2)
GUICtrlSetCursor(-1, 0)
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetFont(-1, 24, 400, 0, 'Verdana')
GUICtrlSetCursor($Labelb2, "SIZEALL") ;鼠标指针
$Labela = GUICtrlCreateLabel("", 2, 0, 633, 444, $SS_CENTER + $SS_CENTERIMAGE, $GUI_WS_EX_PARENTDRAG)
GUICtrlSetBkColor(-1, -2)
GUICtrlSetCursor(-1, 0)
GUICtrlSetColor(-1, 0x003300)
GUICtrlSetFont(-1, 14, 600, 0, 'Verdana')
GUISetState(@SW_SHOW)

这样鼠标就随便一个地方都可以移动窗口

xzh531 发表于 2016-12-29 09:09:25

回复 19# chzj589


    你这$Labela全档住了,添加其他控件还有用吗?

chzj589 发表于 2016-12-29 11:01:11

本帖最后由 chzj589 于 2016-12-29 11:41 编辑

回复chzj589


    你这$Labela全档住了,添加其他控件还有用吗?
xzh531 发表于 2016-12-29 09:09 http://www.autoitx.com/images/common/back.gif
你说呢?



xzh531 发表于 2016-12-29 15:24:17

回复 21# chzj589


    你最后那代码,
$Labela = GUICtrlCreateLabel("", 2, 0, 633, 444, $SS_CENTER + $SS_CENTERIMAGE, $GUI_WS_EX_PARENTDRAG)
这个label整个窗口那么大,可以点任何地方拖动,但就是添加 其他控件都给档住了。

chzj589 发表于 2016-12-29 16:07:47

回复 22# xzh531
我上面的那两图为什么没被
$Labela = GUICtrlCreateLabel("", 2, 0, 633, 444, $SS_CENTER + $SS_CENTERIMAGE, $GUI_WS_EX_PARENTDRAG)档住了,就是最后那代码,
动点脑筋?

chzj589 发表于 2016-12-29 16:11:47

回复 23# chzj589

关闭与缩小控件就没有挡住,那其它控件会被挡住吗?想想为什么

zpmc123 发表于 2016-12-30 07:33:04

这么好的源码要多多学习

austere 发表于 2016-12-31 17:45:01

label实现,如图

jsdn2000 发表于 2017-1-3 22:27:19

代码确实能够用得着,继续关注。

xzh531 发表于 2017-1-6 11:18:01

回复 24# chzj589

我要的效果就是这样,随便点那里都可以拖动窗口。一行代码搞定了

    #include <WinAPI.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

Global Const $SC_MOVE = 0xF010
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 604, 365, -1, -1,BitOR($WS_SYSMENU, $WS_POPUP))
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
                Case $GUI_EVENT_PRIMARYDOWN
                        _SendMessage($Form1, $WM_SYSCOMMAND, $SC_MOVE + $HTCAPTION, 0)
        EndSwitch
WEnd

chzj589 发表于 2017-1-6 12:03:46

回复 28# xzh531

不错!
但要改为事件模式好象改不了

xzh531 发表于 2017-1-7 10:03:40

回复 29# chzj589


    改什么事件
页: 1 [2] 3
查看完整版本: 如何实现,窗口标题颜色一样,保留 最小化和关闭按钮,窗口可以拖动。(已经解决)