Jump to content

Help with Guictrlcreategraphic


Rental
 Share

Recommended Posts

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
Link to comment
Share on other sites

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.
Link to comment
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
Link to comment
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.
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...