Jump to content
Sign in to follow this  
UEZ

Background color of GUI IP Address Control

Recommended Posts

UEZ

Hi,

how can I change the background color of GUI IP Address Control (field)?

;example from help file
#include <GuiConstantsEx.au3>
#include <GuiIPAddress.au3>

Opt("MustDeclareVars", 1)

$Debug_IP = False ; Check ClassName being passed to IPAddress functions, set to True and use a handle to another control to see it work

_Main()

Func _Main()
    Local $hgui, $hIPAddress

    $hgui = GUICreate("IP Address Control Get (String) Example", 400, 300)
    $hIPAddress = _GUICtrlIpAddress_Create($hgui, 10, 10)
    GUISetState(@SW_SHOW)

    _GUICtrlIpAddress_Set ($hIPAddress, "24.168.2.128")

    GUICtrlSetBkColor($hIPAddress, 0x00A000)

    ; Wait for user to close GUI
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc ;==>_Main

GUICtrlSetBkColor($hIPAddress, 0x00A000) is not working!

Any idea?

Thanks,

UEZ

Edited by UEZ

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!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Share this post


Link to post
Share on other sites
trancexx

Seems to be resilient.

And not to this:

#include <GuiConstantsEx.au3>
#include <GuiIPAddress.au3>

Opt("MustDeclareVars", 1)

Global $hGUI = GUICreate("IP Address", 400, 300)
Global $hIPAddress = _GUICtrlIpAddress_Create($hGUI, 10, 100, 380, 50)
_GUICtrlIpAddress_SetFont($hIPAddress, "Arial", 22, 800, True)
ConsoleWrite("! Parent " & $hIPAddress & @CRLF)
__EnumChild($hIPAddress)
GUISetState(@SW_SHOW)

Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE



Func __EnumChild($hWnd, $lParam = 0)
    Local $hFunc = DllCallbackRegister("__EnumChildProc", "bool", "hwnd;lparam")
    DllCall("user32.dll", "bool", "EnumChildWindows", "hwnd", $hWnd, "ptr", DllCallbackGetPtr($hFunc), "lparam", $lParam)
    DllCallbackFree($hFunc)
EndFunc   ;==>__EnumChild

Func __EnumChildProc($hWnd, $lParam)
    ConsoleWrite("         child  " & $hWnd & @CRLF)
    WinSetTitle($hWnd, 0, "bzzz")
    ;_WinAPI_SetBkColor...
    ;_SendMessage...
    Return 1
EndFunc   ;==>__EnumChildProc

Interesting.


♡♡♡

.

eMyvnE

Share this post


Link to post
Share on other sites
Zedna

Hi,

how can I change the background color of GUI IP Address Control (field)?

GUICtrlSetBkColor($hIPAddress, 0x00A000) is not working!

GUICtrlSetxxx() functions work only with native Autoit's controls created by GUICtrlCreatexxx()

not for UDF's controls like IPAddress created by _GUICtrlxxx() functions with underscore at start.

You mixed native/UDF functions in a wrong way here.

Share this post


Link to post
Share on other sites
UEZ

Found a way to change the background color but when you start typing it or set the IP it will erase part of the background again!

#include <GuiConstantsEx.au3>
#include <GuiIPAddress.au3>

Opt("MustDeclareVars", 1)

$Debug_IP = False ; Check ClassName being passed to IPAddress functions, set to True and use a handle to another control to see it work

_Main()

Func _Main()
    Local $hgui, $hIPAddress

    $hgui = GUICreate("IP Address Control Get (String) Example", 400, 300)
    $hIPAddress = _GUICtrlIpAddress_Create($hgui, 10, 10)

    GUISetState(@SW_SHOW)

    Local $tRECT = DllStructCreate($tagRect)
    DllStructSetData($tRECT, "Left", 0)
    DllStructSetData($tRECT, "Top", 0)
    DllStructSetData($tRECT, "Right", 121)
    DllStructSetData($tRECT, "Bottom", 21)

    Local $hBrush = _WinAPI_CreateSolidBrush(0x0000FF) ;BGR
    Local $hDC = _WinAPI_GetDC($hIPAddress)
    _WinAPI_FillRect($hDC, DllStructGetPtr($tRect), $hBrush)
    
    _GUICtrlIpAddress_Set ($hIPAddress, "24.168.2.128")
    
    ; Wait for user to close GUI
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    $tRECT = ""
    _WinAPI_ReleaseDC(0, $hDC)
    _WinAPI_DeleteObject($hBrush)
    GUIDelete($hgui)
    Exit
EndFunc ;==>_Main

Now I'm looking for a way to change the background color of text...

BR,

UEZ

Edited by UEZ

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!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Share this post


Link to post
Share on other sites
Zedna

Look at Callback UDF. There is example for subclassing of edit control to change background color.

Now Callback is part of standard Autoit.

http://www.autoitscript.com/forum/index.php?showtopic=50768&st=0&p=384128&hl=callback&fromsearch=1&#entry384128

Share this post


Link to post
Share on other sites
UEZ

Look at Callback UDF. There is example for subclassing of edit control to change background color.

Now Callback is part of standard Autoit.

http://www.autoitscript.com/forum/index....28&hl=callback&fromsearch=1&#entry384128

To be honest, I never worked with callbacks and currently I'm trying to understand the code made by trancexx in 2nd post!

Thanks,

UEZ


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!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Share this post


Link to post
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
Sign in to follow this  

×