Sign in to follow this  
Followers 0
Emiel Wieldraaijer

$WS_EX_LAYOUTRTL Bug or No Bug

9 posts in this topic

HI Everyone,

AutoIt version 3.3.8.1

Is it me .. or is it a bug

The code below creates a Right-to-Left GUI but is not displayed correct.

When the line $Menu = GUICtrlCreateMenu("help") is removed, the GUI is displayed correct

This problem did not exist with version 3.3.6.1

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_UseUpx=n
#AutoIt3Wrapper_Res_requestedExecutionLevel=asInvoker
#AutoIt3Wrapper_Add_Constants=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
; *** Start added by AutoIt3Wrapper ***

#include <UpDownConstants.au3>
#include <GUIConstantsEx.au3>

$Parent = GuiCreate ("Test", 400, 400, -1, -1, BitOR($WS_SIZEBOX, $WS_SYSMENU, $WS_MINIMIZEBOX, $WS_MAXIMIZEBOX), $WS_EX_LAYOUTRTL)
$Menu = GUICtrlCreateMenu("help")
$Tab = GUICtrlCreateTab(10, 10, 380, 380)
$Tab1 = GUICtrlCreateTabItem("Tab1")
$Restart = GuictrlCreateButton("Restart", 200,100,150,20)
$Tab2 = GUICtrlCreateTabItem("Tab2")
$Port = GUICtrlCreateInput("21", 200, 200, 150, 20)
$PortUPDown = GUICtrlCreateUpdown($Port, BitOR($UDS_NOTHOUSANDS, $UDS_WRAP))
$Tab3 = GUICtrlCreateTabItem("Tab3")
GUISetState()
While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then Exit
If $msg = $Restart Then
  Run('"' & @AutoItExe & '"' & ' /AutoIt3ExecuteScript "' & @ScriptFullPath & '" /restart')
  Exit
EndIf
WEnd

Best regards,Emiel Wieldraaijer

Share this post


Link to post
Share on other sites



Make the menu the last control and it displays correctly.

Let the MVPs or a Dev weigh in on this as to the reasons for the change, it may not be a bug.


I see fascists...

Share this post


Link to post
Share on other sites

Emiel Wieldraaijer,

It also works if you show the GUI before adding the tabs:

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

$Parent = GUICreate("Test", 400, 400, -1, -1, BitOR($WS_SIZEBOX, $WS_SYSMENU, $WS_MINIMIZEBOX, $WS_MAXIMIZEBOX), $WS_EX_LAYOUTRTL)
$Menu = GUICtrlCreateMenu("help")
GUISetState()

$Tab = GUICtrlCreateTab(10, 10, 380, 380)
$Tab1 = GUICtrlCreateTabItem("Tab1")
$Restart = GUICtrlCreateButton("Restart", 200, 100, 150, 20)
$Tab2 = GUICtrlCreateTabItem("Tab2")
$Port = GUICtrlCreateInput("21", 200, 200, 150, 20)
$PortUPDown = GUICtrlCreateUpdown($Port, BitOR($UDS_NOTHOUSANDS, $UDS_WRAP))
$Tab3 = GUICtrlCreateTabItem("Tab3")

While 1
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Then Exit
    If $msg = $Restart Then
        Run('"' & @AutoItExe & '"' & ' /AutoIt3ExecuteScript "' & @ScriptFullPath & '" /restart')
        Exit
    EndIf
WEnd

All I know is that tabs are complex beasts! I would suggest you do open a Trac ticket so that the Devs are aware of this. :oops:

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites

@Melba,

Thanks for the reply

Adding the menu items at the end of the GUI works partial. I already found that solution but it will procude another problem

The menu's aren't working

You second solution fixes the problem.

But i will report it as a bug because that way every help example must be changed.

There is a bigger problem i use GUICtrlSetState($TAB, $GUI_SHOW) a lot .. and with version 3.3.8.1 it often occurs other controls on other tabs are displayed on the Tab i show with GUICtrlSetState.

Thnx

Emiel


Best regards,Emiel Wieldraaijer

Share this post


Link to post
Share on other sites

Emiel Wieldraaijer,

Can you post a reproducer of the tab control visibility problem you speak of? I too use tabs a fair amount and have not come across any differences with 3.3.8.1. :oops:

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites

every help example must be changed.

This doesn't sound good, more like extra work :oops:

_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 04/09/2015

Share this post


Link to post
Share on other sites

#7 ·  Posted (edited)

@Melba23

I reported this as a bug http://www.autoitscript.com/trac/autoit/ticket/2167 and reverted back to version 3.3.6.1

Do you like my toolbar :oops: hahahaha

Edited by Emiel Wieldraaijer

Best regards,Emiel Wieldraaijer

Share this post


Link to post
Share on other sites

@Melba23,

I will try to make an example with the Tab Problem, will need to install 3.3.8.1 again :oops:


Best regards,Emiel Wieldraaijer

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