找回密码
 加入
搜索
查看: 11915|回复: 35

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

[复制链接]
发表于 2016-12-28 10:35:28 | 显示全部楼层 |阅读模式
本帖最后由 xzh531 于 2017-1-6 11:19 编辑



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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2016-12-28 10:55:18 | 显示全部楼层
回复 1# 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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 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)
能不能做到
发表于 2016-12-28 11:35:40 | 显示全部楼层
用第三方 $Form1 = _Metro_CreateGUI("Example", 615, 437, -1, -1, False) 我是用了MetroGUI_UDF.au3的皮肤 ...
xzh531 发表于 2016-12-28 11:09

是这样吗?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2016-12-28 11:46:14 | 显示全部楼层
用第三方 $Form1 = _Metro_CreateGUI("Example", 615, 437, -1, -1, False) 我是用了MetroGUI_UDF.au3的皮肤 ...
xzh531 发表于 2016-12-28 11:09


代码如下:

#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
 楼主| 发表于 2016-12-28 11:46:35 | 显示全部楼层
回复 5# chzj589

跟我第一次发的一样,上面的颜色不是跟下面的不一样了??不需要FORM标题
发表于 2016-12-28 11:51:43 | 显示全部楼层
回复 7# 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[1] == $Form1 Then ;and $nMsg[0] == $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[0]
                Case $Labelb1
                        Exit
                Case $Labelb2
                        GUISetState(@SW_HIDE)
        EndSwitch
WEnd
发表于 2016-12-28 15:09:46 | 显示全部楼层
回复 9# xzh531

这个label设置透明是什么效果?
 楼主| 发表于 2016-12-28 15:23:44 | 显示全部楼层
回复 10# chzj589


    除了字符,显示背景图片,如果背景不加图片就可以,我记得他们好像是通过DLLCALL来实现的。但我不会
发表于 2016-12-28 15:25:17 | 显示全部楼层
回复  chzj589
;你的意思是用Label来响应关闭事件,
;如果使用纯色背景没有问题,好设置,但如果使用图 ...
xzh531 发表于 2016-12-28 14:47

背景颜色要调整



这不就看不出来

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×

评分

参与人数 1金钱 +10 收起 理由
nmgwddj + 10 学习了。

查看全部评分

 楼主| 发表于 2016-12-28 15:26:09 | 显示全部楼层
回复 10# chzj589


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


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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2016-12-28 15:28:33 | 显示全部楼层

加了背景GUICtrlCreatePic 就这样了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2016-12-28 15:34:08 | 显示全部楼层
回复 13# xzh531

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-3-29 07:23 , Processed in 0.076977 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表