AutID Posted December 12, 2013 Share Posted December 12, 2013 Hello, As the tittle says i wan to set transparency on a checkbox and input and a combo. This is the picture of my gui. I used this function to set transparency of the button but the problem is that is sets the transparency of the entyre control which means you can't see the letters inside the button. I just set a transparent label on the button and this is how i solved the problem. Func _GuiCtrlMakeTrans($iCtrlID,$iTrans=255) Local $pHwnd, $nHwnd, $aPos, $a $hWnd = GUICtrlGetHandle($iCtrlID);Get the control handle If $hWnd = 0 then Return SetError(1,1,0) $pHwnd = DllCall("User32.dll", "hwnd", "GetParent", "hwnd", $hWnd);Get the parent Gui Handle If $pHwnd[0] = 0 then Return SetError(1,2,0) $aPos = ControlGetPos($pHwnd[0],"",$hWnd);Get the current pos of the control If @error then Return SetError(1,3,0) $nHwnd = GUICreate("", $aPos[2], $aPos[3], $aPos[0], $aPos[1], 0x80000000, 0x00080000 + 0x00000040, $pHwnd[0]);greate a gui in the position of the control If $nHwnd = 0 then Return SetError(1,4,0) $a = DllCall("User32.dll", "hwnd", "SetParent", "hwnd", $hWnd, "hwnd", $nHwnd);change the parent of the control to the new gui If $a[0] = 0 then Return SetError(1,5,0) If NOT ControlMove($nHwnd,'',$hWnd,0,0) then Return SetError(1,6,-1);Move the control to 0,0 of the newly created child gui GUISetState(@SW_Show,$nHwnd);show the new child gui WinSetTrans($nHwnd,"",$iTrans);set the transparency If @error then Return SetError(1,7,0) GUISwitch($pHwnd[0]);switch back to the parent Gui Return $nHwnd;Return the handle for the new Child gui EndFunc However when i try it on the other items, the controlmove fails. It moves the items to other places messing up the entire gui. And i have the same problem as the Button. Any ideas how to set transparency of these items without having to create a child gui or something else? Cheers https://iblockify.wordpress.com/ Link to comment Share on other sites More sharing options...
funkey Posted December 12, 2013 Share Posted December 12, 2013 When Controlmove fails, just move the child gui.There are other solutions for this problem in this forums. Just search for them. Programming today is a race between software engineers striving tobuild bigger and better idiot-proof programs, and the Universetrying to produce bigger and better idiots.So far, the Universe is winning. Link to comment Share on other sites More sharing options...
Solution UEZ Posted December 12, 2013 Solution Share Posted December 12, 2013 You can try something like this here: expandcollapse popup#include <ComboConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <Constants.au3> #include <GuiComboBox.au3> $hGUI = GUICreate("Test", 262, 145, -1, -1) $iPic_Bg = GUICtrlCreatePic("c:\Program Files (x86)\AutoIt3\Examples\GUI\Logo4.gif", 0, 0, 262, 145) GUICtrlSetState(-1, $GUI_DISABLE) $iLabel_Name = GUICtrlCreateLabel("Name:", 17, 19, 59, 16) GUICtrlSetFont(-1, 8.5, 400, 0, "Arial Black") GUICtrlSetColor(-1, 0xFF0000) GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) $iLabel_Pwd = GUICtrlCreateLabel("Password:", 17, 62, 65, 16) GUICtrlSetFont(-1, 8.5, 400, 0, "Arial Black") GUICtrlSetColor(-1, 0xFF0000) GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) $iCombo_Names = GUICtrlCreateCombo("My Name", 89, 15, 161, 22) GUICtrlSetStyle(-1, BitOR($CBS_DROPDOWNLIST, $CBS_SIMPLE)) GUICtrlSetFont(-1, 8.5, 400, 0, "Arial") $iInput_Pwd = GUICtrlCreateInput("Password", 89, 58, 161, 20, $ES_PASSWORD) $iCheckbox_Voice = GUICtrlCreateCheckbox("Voice", 17, 97, 65, 20) DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle($iCheckbox_Voice), "wstr", 0, "wstr", 0) GUICtrlSetColor(-1, 0xFFFFFF) GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) $iCheckbox_Mode = GUICtrlCreateCheckbox("Mode", 17, 117, 65, 16) DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle($iCheckbox_Mode), "wstr", 0, "wstr", 0) GUICtrlSetColor(-1, 0xFFFFFF) GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) $iLabel_Login = GUICtrlCreateLabel("Log in", 153, 115, 42, 16) GUICtrlSetFont(-1, 8.5, 400, 0, "Arial") GUICtrlSetFont(-1, 8.5, 400, 0, "Arial Black") GUICtrlSetColor(-1, 0xFFFFFF) GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) GUISetState() While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd Br, UEZ Parsix 1 Please don't send me any personal message and ask for support! I will not reply! Selection of finest graphical examples at Codepen.io The own fart smells best! ✌Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!¯\_(ツ)_/¯ ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ Link to comment Share on other sites More sharing options...
AutID Posted December 13, 2013 Author Share Posted December 13, 2013 Cheers UEZ. That was a good example. Covered more than i asked https://iblockify.wordpress.com/ Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now