xzh531 发表于 2016-12-28 10:35:28

如何实现,窗口标题颜色一样,保留 最小化和关闭按钮,窗口可以拖动。(已经解决)

本帖最后由 xzh531 于 2017-1-6 11:19 编辑



我是用了第三方皮肤,但窗口不能拖动
如果不用第三方皮肤,如何实现,窗口标题颜色一样,整合起来,保留 最小化和关闭按钮,窗口可以拖动。

chzj589 发表于 2016-12-28 10:55:18

回复 1# xzh531
上代码帮你改

xzh531 发表于 2016-12-28 11:05:38

本帖最后由 xzh531 于 2016-12-28 11:07 编辑

回复 2# chzj589


#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 563, 389, 192, 124)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

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

        EndSwitch
WEnd

xzh531 发表于 2016-12-28 11:09:35

用第三方 $Form1 = _Metro_CreateGUI("Example", 615, 437, -1, -1, False) 我是用了MetroGUI_UDF.au3的皮肤
问题好多,直接用自带 $Form1 = GUICreate("Form1", 563, 389, 192, 124)
能不能做到

chzj589 发表于 2016-12-28 11:35:40

用第三方 $Form1 = _Metro_CreateGUI("Example", 615, 437, -1, -1, False) 我是用了MetroGUI_UDF.au3的皮肤 ...
xzh531 发表于 2016-12-28 11:09 http://www.autoitx.com/images/common/back.gif
是这样吗?

chzj589 发表于 2016-12-28 11:46:14

用第三方 $Form1 = _Metro_CreateGUI("Example", 615, 437, -1, -1, False) 我是用了MetroGUI_UDF.au3的皮肤 ...
xzh531 发表于 2016-12-28 11:09 http://www.autoitx.com/images/common/back.gif

代码如下:

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)
Global $SS_CENTER, $SS_CENTERIMAGE
Form1()
While 1
        Sleep(100)
WEnd
Func Form1()
        $Form1 = GUICreate("Form1", 633, 444, 192, 124, BitOR($WS_SYSMENU, $WS_POPUP, $DS_MODALFRAME))
        GUISetBkColor(0x605f99);0xFFFFFF)
        $BACKAC = GUICtrlCreatePic(@ScriptDir & "\SpxImage2.jpg", 0, 24, 633, 420)
        GUICtrlSetState(-1, $GUI_DISABLE)
        $Labela = GUICtrlCreateLabel("                        登录窗口", 0, 0, 600, 30, $SS_CENTER + $SS_CENTERIMAGE, $GUI_WS_EX_PARENTDRAG)
        GUICtrlSetBkColor(-1, 0x605f99)
        GUICtrlSetColor(-1, 0xEFEFEF)
        GUICtrlSetFont(-1, 14, 600, 0, 'Verdana')
        $Labelb = GUICtrlCreateLabel('×', 600, -7, 33, 37)
        GUICtrlSetBkColor(-1, 0x605f99)
        GUICtrlSetColor(-1, 0xEFEFEF)
        GUICtrlSetFont(-1, 24, 400, 0, 'Verdana')
        GUICtrlSetOnEvent($Labelb, "_Form1Close")
    GUICtrlSetCursor($Labelb, "SIZEALL");鼠标指针
        GUISetState(@SW_SHOW)

EndFunc   ;==>Form1
Func _Form1Close()
        GUIDelete()
        Exit
EndFunc   ;==>_Form1Close

xzh531 发表于 2016-12-28 11:46:35

回复 5# chzj589

跟我第一次发的一样,上面的颜色不是跟下面的不一样了??不需要FORM标题

chzj589 发表于 2016-12-28 11:51:43

回复 7# xzh531
我是用图片做背景,你看不出?

xzh531 发表于 2016-12-28 14:47:08

回复 8# chzj589
;你的意思是用Label来响应关闭事件,
;如果使用纯色背景没有问题,好设置,但如果使用图片做背景,这个label怎么设置透明
    #include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GDIPlus.au3>
#include <WinAPI.au3>

$Form1 = GUICreate("test", 600, 480, -1, -1, BitOR($WS_EX_LAYERED, $WS_POPUP))
DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $form1, "int", _
                500, "long", 0x00000010);主窗口打开效果;参数 1000 为调整渐大渐小(扩大/缩小)的效果速度
;~ $Pic1 = GUICtrlCreatePic("D:\zhihua\Pictures\sltkjmbz\sltk04.jpg", 0, 0, 600, 480)
;~ GUICtrlSetState(-1, $GUI_DISABLE)
$Labelb1 = GUICtrlCreateLabel('x', 565, 0, 30, 35,$SS_CENTER)
;~ GUICtrlSetBkColor(-1, 0x605f99)
;~ GUICtrlSetColor(-1, 0xEFEFEF)
GUICtrlSetFont(-1, 20, 400, 0, 'Verdana')
GUICtrlSetCursor($Labelb1, "SIZEALL") ;鼠标指针
$Labelb2 = GUICtrlCreateLabel('-', 530, 0, 30, 35,$SS_CENTER)
;~ GUICtrlSetBkColor(-1, 0x605f99)
;~ GUICtrlSetColor(-1, 0xEFEFEF)
GUICtrlSetFont(-1, 20, 400, 0, 'Verdana')
GUICtrlSetCursor($Labelb2, "SIZEALL") ;鼠标指针
GUISetState(@SW_SHOW)
While 1
        $nMsg = GUIGetMsg(1)
        If $nMsg == $Form1 Then ;and $nMsg == $WM_LBUTTONDOWN Then
                DllCall("user32.dll", "BOOL", "ReleaseCapture")
                DllCall("user32.dll", "LRESULT", "SendMessage", "HWND", $Form1, "UINT", $WM_SYSCOMMAND, "WPARAM", 0xF010 + 2, "LPARAM", 0)
        EndIf
        Switch $nMsg
                Case $Labelb1
                        Exit
                Case $Labelb2
                        GUISetState(@SW_HIDE)
        EndSwitch
WEnd

chzj589 发表于 2016-12-28 15:09:46

回复 9# xzh531

这个label设置透明是什么效果?

xzh531 发表于 2016-12-28 15:23:44

回复 10# chzj589


    除了字符,显示背景图片,如果背景不加图片就可以,我记得他们好像是通过DLLCALL来实现的。但我不会

chzj589 发表于 2016-12-28 15:25:17

回复chzj589
;你的意思是用Label来响应关闭事件,
;如果使用纯色背景没有问题,好设置,但如果使用图 ...
xzh531 发表于 2016-12-28 14:47 http://www.autoitx.com/images/common/back.gif
背景颜色要调整



这不就看不出来

xzh531 发表于 2016-12-28 15:26:09

回复 10# chzj589


    除了字符,显示背景图片,如果背景不加图片就可以,我记得他们好像是通过DLLCALL来实现的。但我不会


这是不加背景的效果,ICO,或label 都可以

xzh531 发表于 2016-12-28 15:28:33


加了背景GUICtrlCreatePic 就这样了

chzj589 发表于 2016-12-28 15:34:08

回复 13# xzh531

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