Jump to content

transparent group title


Recommended Posts

I searched the forum and found this script to make the title transparent. I was wondering if there was a way to remove the group line behind the title.

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

Global Const $TRANSPARENT = 1

GUICreate("My GUI", 300, 200)

$pic = GUICtrlCreatePic(@WindowsDir & "\Web\Wallpaper\Windows XP.jpg", 0, 0, 300, 200)
GUICtrlSetState(-1, $GUI_DISABLE)

$group = GUICtrlCreateGroup("Group1", 10, 10, 280, 100)
DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle(-1), "wstr", " ", "wstr", " ")

GUICtrlCreateGroup("", -99, -99, 1, 1)

GUIRegisterMsg($WM_CTLCOLORSTATIC, "WM_CTLCOLORSTATIC")

GUISetState()

While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            ExitLoop
    EndSwitch
WEnd

Func WM_CTLCOLORSTATIC($hWnd, $Msg, $wParam, $lParam)
    DllCall("gdi32.dll", "int", "SetBkMode", "hwnd", $wParam, "int", $TRANSPARENT)
    DllCall("gdi32.dll", "int", "SetTextColor", "hwnd", $wParam, "int", 0xFF0000)

    If $lParam = GUICtrlGetHandle($group) Then Return _WinAPI_GetStockObject($NULL_BRUSH)
EndFunc  ;==>WM_CTLCOLORSTATIC

I also found code here in another language, but I don't know how to translate it into autoit.

Edited by dantay9
Link to comment
Share on other sites

Try this:

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

GUICreate("My GUI", 300, 200)

$pic = GUICtrlCreatePic(@WindowsDir & "\Web\Wallpaper\Windows XP.jpg", 0, 0, 300, 200)
GUICtrlSetState(-1, $GUI_DISABLE)

$group = _GUICtrlCreateGroupEx("Group1", 10, 10, 280, 100, 3, 0x0000FF, 1)

GUICtrlCreateGroup("", -99, -99, 1, 1)

GUISetState()

While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            ExitLoop
    EndSwitch
WEnd

Func _GUICtrlCreateGroupEx($sText, $iLeft, $iTop, $iWidth, $iHeight, $iLineWidth = 3, $nColor = 0, $iStyle = 0)
    Local $aIDs[2] ;First + Last IDs
    
    Local $nLabel_Style = $SS_ETCHEDFRAME
    
    ;1 to able set color for the Group frame
    If $iStyle > 0 Then $nLabel_Style = $SS_SUNKEN
    
    Local $hDC = _WinAPI_GetDC(0)
    Local $stExtPoint = _WinAPI_GetTextExtentPoint32($hDC, $sText)
    
    Local $iExtPoint_X = DllStructGetData($stExtPoint, "X")
    
    GUIStartGroup()
    
    If $sText <> '' Then
        $aIDs[0] = GUICtrlCreateLabel('', $iLeft + 1, $iTop, 35, $iLineWidth, $nLabel_Style)
        GUICtrlSetBkColor(-1, $nColor)
        
        GUICtrlCreateLabel('', $iLeft + 35 + $iExtPoint_X, $iTop, $iWidth - 35 - $iExtPoint_X, $iLineWidth, $nLabel_Style)
    Else
        $aIDs[0] = GUICtrlCreateLabel('', $iLeft + 1, $iTop, $iWidth - 2, $iLineWidth, $nLabel_Style)
    EndIf
    
    GUICtrlSetBkColor(-1, $nColor)
    
    GUICtrlCreateLabel('', $iLeft + 2, $iTop + 5, $iLineWidth, $iHeight - 4, $nLabel_Style)
    GUICtrlSetBkColor(-1, $nColor)
    
    GUICtrlCreateLabel('', ($iLeft + $iWidth), $iTop - 3, $iLineWidth, $iHeight - 3, $nLabel_Style)
    GUICtrlSetBkColor(-1, $nColor)
    
    $aIDs[1] = GUICtrlCreateLabel('', $iLeft + 6, ($iTop + $iHeight) - 5, $iWidth, $iLineWidth, $nLabel_Style)
    GUICtrlSetBkColor(-1, $nColor)
    
    If $sText <> '' Then
        $aIDs[1] = GUICtrlCreateLabel('  ' & $sText, $iLeft + 35, $iTop - 6)
        GUICtrlSetColor(-1, $nColor)
        GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    EndIf
    
    Return $aIDs
EndFunc

 

Spoiler

Using OS: Win 7 Professional, Using AutoIt Ver(s): 3.3.6.1 / 3.3.8.1

AutoIt_Rus_Community.png AutoIt Russian Community

My Work...

Spoiler

AutoIt_Icon_small.pngProjects: ATT - Application Translate Tool {new}| BlockIt - Block files & folders {new}| SIP - Selected Image Preview {new}| SISCABMAN - SciTE Abbreviations Manager {new}| AutoIt Path Switcher | AutoIt Menu for Opera! | YouTube Download Center! | Desktop Icons Restorator | Math Tasks | KeyBoard & Mouse Cleaner | CaptureIt - Capture Images Utility | CheckFileSize Program

AutoIt_Icon_small.pngUDFs: OnAutoItErrorRegister - Handle AutoIt critical errors {new}| AutoIt Syntax Highlight {new}| Opera Library! | Winamp Library | GetFolderToMenu | Custom_InputBox()! | _FileRun UDF | _CheckInput() UDF | _GUIInputSetOnlyNumbers() UDF | _FileGetValidName() UDF | _GUICtrlCreateRadioCBox UDF | _GuiCreateGrid() | _PathSplitByRegExp() | _GUICtrlListView_MoveItems - UDF | GUICtrlSetOnHover_UDF! | _ControlTab UDF! | _MouseSetOnEvent() UDF! | _ProcessListEx - UDF | GUICtrl_SetResizing - UDF! | Mod. for _IniString UDFs | _StringStripChars UDF | _ColorIsDarkShade UDF | _ColorConvertValue UDF | _GUICtrlTab_CoverBackground | CUI_App_UDF | _IncludeScripts UDF | _AutoIt3ExecuteCode | _DragList UDF | Mod. for _ListView_Progress | _ListView_SysLink | _GenerateRandomNumbers | _BlockInputEx | _IsPressedEx | OnAutoItExit Handler | _GUICtrlCreateTFLabel UDF | WinControlSetEvent UDF | Mod. for _DirGetSizeEx UDF
 
AutoIt_Icon_small.pngExamples: 
ScreenSaver Demo - Matrix included | Gui Drag Without pause the script | _WinAttach()! | Turn Off/On Monitor | ComboBox Handler Example | Mod. for "Thinking Box" | Cool "About" Box | TasksBar Imitation Demo

Like the Projects/UDFs/Examples? Please rate the topic (up-right corner of the post header: Rating AutoIt_Rating.gif)

* === My topics === *

==================================================
My_Userbar.gif
==================================================

 

 

 

AutoIt is simple, subtle, elegant. © AutoIt Team

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...