xiaochuan 发表于 2011-12-13 11:08:53

去掉窗口标题栏,以前版主发过用图片做的。


#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
$Form1 = GUICreate('AU3 Good!!', 500, 400, -1, -1, $WS_POPUP)
GUISetBkColor(0x999999)
GUISetFont(11, 400, 0, 'Verdana')
$Label1 = GUICtrlCreateLabel('AU3 Good!!', 0, 0, 460, 40, $SS_CENTERIMAGE,$GUI_WS_EX_PARENTDRAG)
GUICtrlSetBkColor(-1, 0x666666)
GUICtrlSetColor(-1,0xEFEFEF )
$Label2 = GUICtrlCreateLabel('×', 460, 0, 40, 40, $SS_CENTER)
GUICtrlSetBkColor(-1, 0x666666)
GUICtrlSetColor(-1,0xEFEFEF)
GUIctrlSetFont(-1, 20, 400, 0, 'Verdana')
GUISetState(@SW_SHOW)
While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
                Case $Label2
                        Exit
        EndSwitch
WEnd

xiehuahere 发表于 2011-12-13 11:37:45

回复 1# xiaochuan


    不错,学习。。。
   
   可以GUISetState(@SW_SHOW) 这句之前加一句 GUICtrlSetCursor(-1, 0)
   当鼠标指向Label2的时候,指针变为手的形状。

Hen5ei 发表于 2011-12-13 11:56:13

回复 1# xiaochuan


    可以添加一些鼠标移入和移出的函数,改变关闭按钮的颜色

Hen5ei 发表于 2011-12-13 12:23:10

本帖最后由 Hen5ei 于 2011-12-13 12:24 编辑

回复 1# xiaochuan #include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
Global $jishu = 0
$Form1 = GUICreate('AU3 Good!!', 500, 400, -1, -1, $WS_POPUP)
GUISetBkColor(0x999999)
GUISetFont(11, 400, 0, 'Verdana')
$Label1 = GUICtrlCreateLabel('AU3 Good!!', 0, 0, 460, 40, $SS_CENTERIMAGE, $GUI_WS_EX_PARENTDRAG)
GUICtrlSetBkColor(-1, 0x666666)
GUICtrlSetColor(-1, 0xEFEFEF)
$Label2 = GUICtrlCreateLabel('×', 460, 0, 40, 40, $SS_CENTER)
GUICtrlSetBkColor(-1, 0x666666)
GUICtrlSetColor(-1, 0xEFEFEF)
GUICtrlSetFont(-1, 20, 400, 0, 'Verdana')
GUISetState(@SW_SHOW)
While 1
        If $jishu = 0 Then
                If _Hover($Form1, 460, 0, 40, 40) = 1 Then
                        GUICtrlSetColor($Label2, 0x00FF00)
                        $jishu = 1
                EndIf
        Else
                If _Hover($Form1, 460, 0, 40, 40) = 0 Then
                        GUICtrlSetColor($Label2, 0xEFEFEF)
                        $jishu = 0
                EndIf
        EndIf
       
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
                Case $Label2
                        Exit
        EndSwitch
WEnd

#cs ____________________________________
        ; AutoIt 版本: 3.2.11.10 (第一版)
        函数名:   _Hover()
        作用:   检测鼠标是否位于指定窗口的控件上
        用法:   _Hover(窗口句柄,控件相对窗口 X 坐标(左侧), 控件相对窗口 Y 坐标(上方) , 控件宽度 , 控件高度)
        窗口句柄设置为""表示使用“当前”窗口。
        返回值:   1 表示鼠标位于指定窗口的控件上。
        0 表示鼠标没有在指定窗口的控件上。
        @error = 10086 获取所指定窗口鼠标信息失败(指定窗口不存在)。
        作 者:   漠北雪~狼
#ce ____________________________________
Func _Hover($cH_hWin = "", $Pos_X = 0, $Pos_Y = 0, $Pos_W = 0, $Pos_H = 0)
        $cH_Data = GUIGetCursorInfo($cH_hWin)
        If Not IsArray($cH_Data) Then Return SetError(10086)
        If $cH_Data > $Pos_X And $cH_Data < $Pos_X + $Pos_W And $cH_Data > $Pos_Y And $cH_Data < $Pos_Y + $Pos_H Then
                Return 1
        Else
                Return 0
        EndIf
EndFunc   ;==>_Hover

xiaochuan 发表于 2011-12-13 13:10:51

多谢Hen5ei
又学了一个函数{:face (301):}

xiaochuan 发表于 2011-12-13 13:12:20

多谢xiehuahere
再加上手势就好看了,{:face (301):}

au3x 发表于 2011-12-13 15:02:23

学习.........................

xiehuahere 发表于 2011-12-13 15:35:39

回复 4# Hen5ei


鼠标移动到 Label2 上时,画个包围Label2的矩形框。
这个怎么做?

yyy910 发表于 2011-12-13 17:54:28

哈哈,太好了。谢谢,一直就是找这个。{:face (356):}

lixiaolong 发表于 2011-12-13 20:40:45

本帖最后由 lixiaolong 于 2011-12-13 20:54 编辑

回复 4# Hen5ei

我也来一个.
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include <WinAPI.au3>


Local $obj_orig

$Form1 = GUICreate('AU3 Good!!', 500, 400, -1, -1, $WS_POPUP)
GUISetBkColor(0x999999)

$Label1 = GUICtrlCreateLabel('AU3 Good!!', 0, 0, 460, 40, $SS_CENTERIMAGE, $GUI_WS_EX_PARENTDRAG)
GUICtrlSetBkColor(-1, 0x666666)
GUICtrlSetColor(-1, 0xEFEFEF)
GUICtrlSetFont(-1, 20, 400, 0, 'Verdana')

GUICtrlCreateLabel('', 460, 0, 40, 40)
GUICtrlSetBkColor(-1, 0x666666)

GUISetState(@SW_SHOW)

$hDC = _WinAPI_GetWindowDC($Form1)


While 1
        _WinAPI_DrawLine($hDC, 465, 5, 490, 30)
        _WinAPI_DrawLine($hDC, 465, 30, 490, 5)

        $cH_Data = GUIGetCursorInfo($Form1)

        If $cH_Data > 460 And $cH_Data < 499 And $cH_Data > 0 And $cH_Data < 40 Then
                $hPen = _WinAPI_CreatePen($PS_SOLID, 2, 0xFF0)
                $obj_orig = _WinAPI_SelectObject($hDC, $hPen)
                If $cH_Data Then
                        _WinAPI_SelectObject($hDC, $obj_orig)
                        _WinAPI_DeleteObject($hPen)
                        _WinAPI_ReleaseDC(0, $hDC)
                        Exit
                EndIf
        Else
                $hPen = _WinAPI_CreatePen($PS_SOLID, 2, 0xffffff)
                $obj_orig = _WinAPI_SelectObject($hDC, $hPen)
        EndIf

        Sleep(10)
WEnd

sgj584520 发表于 2011-12-16 09:24:31

不错啊,学习了

boyhong 发表于 2011-12-16 16:30:06

很有创意,用最简单的方法实现了一个很不错的一个功能。。。嘿嘿,收下了。。。

xx44t10 发表于 2011-12-17 19:11:52

路过 学习一下。

zjw201314 发表于 2011-12-17 19:38:09

好厉害。。。又学习了!

znlvhui 发表于 2011-12-17 23:33:51

不错啊,学习了
页: [1] 2 3
查看完整版本: 去掉窗口标题栏,以前版主发过用图片做的。