Sign in to follow this  
Followers 0
Rental

Help with Guictrlcreategraphic

6 posts in this topic

#1 ·  Posted (edited)

I'm trying to make a GUI that splits up the GUI, but when I open a window ontop of it it draws a diagonal line through it.

it uses 4 lines, 2 going horizontal and 2 going vertical 2 pixals apart, when I take out the 2 verical lines and run it it doesn't create the diagonal line.

#include <GuiConstantsEx.au3>
#include <StaticConstants.au3>
#include <misc.au3>



GUICreate("",@DesktopWidth,@DesktopHeight-64)
GUISetState(@SW_SHOW)


$1 = GUICtrlCreateGraphic(60,60,@desktopwidth,1)
GUICtrlSetGraphic($1,$GUI_GR_LINE, @DesktopWidth, 0)
GUICtrlSetColor($1, 0x000000)

$2 = GUICtrlCreateGraphic(60,62,@desktopwidth,1)
GUICtrlSetGraphic($2,$GUI_GR_LINE, @DesktopWidth, 0)
GUICtrlSetColor($2, 0xF000F)

$3 = GUICtrlCreateGraphic(60,60,1,@DesktopHeight)
GUICtrlSetGraphic($3,$GUI_GR_LINE, 1, @DesktopHeight)
GUICtrlSetColor($3, 0xF000F)

$4 = GUICtrlCreateGraphic(62,60,1,@DesktopHeight)
GUICtrlSetGraphic($4,$GUI_GR_LINE, 1, @DesktopHeight)
GUICtrlSetColor($4, 0x000000)

While (not (_IsPressed("1b")))
    

    $msg = GUIGetMsg()

WEnd
Edited by Rental

Share this post


Link to post
Share on other sites



#2 ·  Posted (edited)

I'm trying to make a GUI that splits up the GUI, but when I open a window ontop of it it draws a diagonal line through it.

it uses 4 lines, 2 going diagonal and 2 going vertical 2 pixals apart, when I take out the 2 verical lines and run it it doesn't create the diagonal line.

#include <GuiConstantsEx.au3>
#include <StaticConstants.au3>
#include <misc.au3>



GUICreate("",@DesktopWidth,@DesktopHeight-64)
GUISetState(@SW_SHOW)


$1 = GUICtrlCreateGraphic(60,60,@desktopwidth,1)
GUICtrlSetGraphic($1,$GUI_GR_LINE, @DesktopWidth, 0)
GUICtrlSetColor($1, 0x000000)

$2 = GUICtrlCreateGraphic(60,62,@desktopwidth,1)
GUICtrlSetGraphic($2,$GUI_GR_LINE, @DesktopWidth, 0)
GUICtrlSetColor($2, 0xF000F)

$3 = GUICtrlCreateGraphic(60,60,1,@DesktopHeight)
GUICtrlSetGraphic($3,$GUI_GR_LINE, 1, @DesktopHeight)
GUICtrlSetColor($3, 0xF000F)

$4 = GUICtrlCreateGraphic(62,60,1,@DesktopHeight)
GUICtrlSetGraphic($4,$GUI_GR_LINE, 1, @DesktopHeight)
GUICtrlSetColor($4, 0x000000)

While (not (_IsPressed("1b")))
    

    $msg = GUIGetMsg()

WEnd
You're drawing two horizontal and two vertical lines. I know you know that but you said two diagonal and two vertical.

Antway, it looks like a bug to me.

Edited by martin

Serial port communications UDF Includes functions for binary transmission and reception.printing UDF Useful for graphs, forms, labels, reports etc.Add User Call Tips to SciTE for functions in UDFs not included with AutoIt and for your own scripts.Functions with parameters in OnEvent mode and for Hot Keys One function replaces GuiSetOnEvent, GuiCtrlSetOnEvent and HotKeySet.UDF IsConnected2 for notification of status of connected state of many urls or IPs, without slowing the script.

Share this post


Link to post
Share on other sites

opps, thank you for catching that.

Share this post


Link to post
Share on other sites

Yes. I can confirm BUG in repainting.

I have changed your example to draw inner rectangle and really when you cover it by other application

then after switching back is drawn one diagonal line.

#include <GuiConstantsEx.au3>
#include <StaticConstants.au3>
#include <misc.au3>

$space = 60

$gui = GUICreate("",@DesktopWidth,@DesktopHeight-64)
GUISetState(@SW_SHOW)

$pos = WinGetClientSize($gui)
$width =  $pos[0] - 2*$space
$height = $pos[1] - 2*$space

$1 = GUICtrlCreateGraphic($space,$space,$width,1)
GUICtrlSetGraphic($1,$GUI_GR_LINE, $width, 0)
GUICtrlSetColor($1, 0x000000)

$2 = GUICtrlCreateGraphic($space,$height+$space,$width,1)
GUICtrlSetGraphic($2,$GUI_GR_LINE, $width, 0)
GUICtrlSetColor($2, 0xF000F)

$3 = GUICtrlCreateGraphic($space,$space,1,$height)
GUICtrlSetGraphic($3,$GUI_GR_LINE, 1, $height)
GUICtrlSetColor($3, 0xF000F)

$4 = GUICtrlCreateGraphic($width+$space,$space,1,$height)
GUICtrlSetGraphic($4,$GUI_GR_LINE, 1, $height)
GUICtrlSetColor($4, 0x000000)

While (not (_IsPressed("1b")))
    $msg = GUIGetMsg()
WEnd

Share this post


Link to post
Share on other sites

Yes. I can confirm BUG in repainting.

I have changed your example to draw inner rectangle and really when you cover it by other application

then after switching back is drawn one diagonal line.

#include <GuiConstantsEx.au3>
#include <StaticConstants.au3>
#include <misc.au3>

$space = 60

$gui = GUICreate("",@DesktopWidth,@DesktopHeight-64)
GUISetState(@SW_SHOW)

$pos = WinGetClientSize($gui)
$width =  $pos[0] - 2*$space
$height = $pos[1] - 2*$space

$1 = GUICtrlCreateGraphic($space,$space,$width,1)
GUICtrlSetGraphic($1,$GUI_GR_LINE, $width, 0)
GUICtrlSetColor($1, 0x000000)

$2 = GUICtrlCreateGraphic($space,$height+$space,$width,1)
GUICtrlSetGraphic($2,$GUI_GR_LINE, $width, 0)
GUICtrlSetColor($2, 0xF000F)

$3 = GUICtrlCreateGraphic($space,$space,1,$height)
GUICtrlSetGraphic($3,$GUI_GR_LINE, 1, $height)
GUICtrlSetColor($3, 0xF000F)

$4 = GUICtrlCreateGraphic($width+$space,$space,1,$height)
GUICtrlSetGraphic($4,$GUI_GR_LINE, 1, $height)
GUICtrlSetColor($4, 0x000000)

While (not (_IsPressed("1b")))
    $msg = GUIGetMsg()
WEnd
Yes. The line goes between the ends of the last two lines drawn.

@ Rental I think you should report it as a bug.


Serial port communications UDF Includes functions for binary transmission and reception.printing UDF Useful for graphs, forms, labels, reports etc.Add User Call Tips to SciTE for functions in UDFs not included with AutoIt and for your own scripts.Functions with parameters in OnEvent mode and for Hot Keys One function replaces GuiSetOnEvent, GuiCtrlSetOnEvent and HotKeySet.UDF IsConnected2 for notification of status of connected state of many urls or IPs, without slowing the script.

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  
Followers 0