Jump to content
TheDcoder

Pipe (symbol: |) in second line of a label cutting itself in half automatically

Recommended Posts

TheDcoder

Hello, I am using this code:

#include "StringSize.au3"

StatusIndicator("Test" & @CRLF & "|", 15)

Func StatusIndicator($sStatus, $sSize = 8.5, $hParent = 0)
    $aDimensions = _StringSize($sStatus, $sSize)
    $aDimensions[2] *= 1.05 ; Increase the width a tad
    $hGUI = GUICreate("", 50 + $aDimensions[2], 50 + $aDimensions[3], -1, -1, $WS_POPUP + $WS_BORDER + $DS_SETFOREGROUND, -1, $hParent)
    GUISetBkColor(0xFFFFFF)
    GUICtrlCreateLabel($sStatus, ((50 +$aDimensions[2]) - $aDimensions[2]) / 2, ((50 +$aDimensions[3]) - $aDimensions[3]) / 2, $aDimensions[2], $aDimensions[3], 0x01)
    GUICtrlSetFont(-1, $sSize)
    GUISetState()
    Return $hGUI
EndFunc ; This function requires StringSize UDF!!! Get it from here: http://www.autoitscript.com/forum/topic/114034-stringsize-m23-new-version-16-aug-11/

The result:

Capture2.thumb.PNG.ed0679725a98357845005

Also, when I change the second string to "|Test":

Capture2.thumb.PNG.10603fbb248950d68cd26

 

Why is this happening? Thanks in Advance, TD :)


AutoIt.4.Life Clubrooms - Life is like a Donut (secret key)

Spoiler

My contributions to the AutoIt Community

If I have hurt or offended you in anyway, Please accept my apologies, I never (regardless of the situation) mean to do that to anybody!!!

3fHNZJ.gif

PLEASE JOIN ##AutoIt AND HELP THE IRC AUTOIT COMMUNITY!

Share this post


Link to post
Share on other sites
Melba23

TheDcoder,

Do you actually READ the replies in the threads you start? As was explained in this post from you last thread on this very same subject, you need to define the font name in both the Stringsize and the GUICtrlSetFont calls to ensure you get the correct sizing. The UDF does its best to determine the default system font, but it does not always get succeed, so best to make sure of it yourself:

#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include "StringSize.au3"

HotKeySet("{ESC}", "_Exit")

$sFont = "Arial" ; Change this as reqired <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

StatusIndicator("Test" & @CRLF & "|", 15)

While 1
    Sleep(10)
WEnd

Func StatusIndicator($sStatus, $sSize = 8.5, $hParent = 0)
    $aDimensions = _StringSize($sStatus, $sSize, Default, Default, $sFont)
    $aDimensions[2] *= 1.05 ; Increase the width a tad
    $hGUI = GUICreate("", 50 + $aDimensions[2], 50 + $aDimensions[3], -1, -1, $WS_POPUP + $WS_BORDER + $DS_SETFOREGROUND, -1, $hParent)
    GUISetBkColor(0xFFFFFF)
    GUICtrlCreateLabel($sStatus, ((50 +$aDimensions[2]) - $aDimensions[2]) / 2, ((50 +$aDimensions[3]) - $aDimensions[3]) / 2, $aDimensions[2], $aDimensions[3], $SS_CENTER)
    GUICtrlSetFont(-1, $sSize, Default, Default, $sFont)
    GUISetState()
    Return $hGUI
EndFunc

Func _Exit()
    Exit
EndFunc

And I see you are still using "magic numbers" - as I have said before, this is not a good habit to get into, so I have replaced them in the above code.

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
guinness

On the subject of magic numbers, 0xFFFFF >> $COLOR_WHITE

Edited by guinness

UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_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: 22/04/2018

Share this post


Link to post
Share on other sites
TheDcoder

The UDF does its best to determine the default system font, but it does not always get succeed, so best to make sure of it yourself

​I already tired that, but I wanted to use the default system font :(

And I see you are still using "magic numbers" - as I have said before, this is not a good habit to get into, so I have replaced them in the above code.

​I used them to save memory (RAM) as I don't release the source of this project, I use predefined variables in my other projects :)

On the subject of magic numbers, 0xFFFFF >> $COLOR_WHITE

​Oh :o, ISN AutoIt Studio's color picker generated that for me, Thanks :)


AutoIt.4.Life Clubrooms - Life is like a Donut (secret key)

Spoiler

My contributions to the AutoIt Community

If I have hurt or offended you in anyway, Please accept my apologies, I never (regardless of the situation) mean to do that to anybody!!!

3fHNZJ.gif

PLEASE JOIN ##AutoIt AND HELP THE IRC AUTOIT COMMUNITY!

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

×