mirror of
https://github.com/FellippeHeitor/InForm.git
synced 2025-01-15 03:49:56 +00:00
Adds .BorderThickness, ranging 1-10; Also:
- Fixes color preview not being dynamically updated.
This commit is contained in:
parent
300006982d
commit
1a36eabc7c
6 changed files with 158 additions and 47 deletions
|
@ -60,6 +60,7 @@ TYPE __UI_ControlTYPE
|
|||
SelectedBackColor AS _UNSIGNED LONG
|
||||
BackStyle AS _BYTE
|
||||
HasBorder AS _BYTE
|
||||
BorderThickness AS INTEGER
|
||||
Padding AS INTEGER
|
||||
Encoding AS LONG
|
||||
Align AS _BYTE
|
||||
|
@ -165,6 +166,7 @@ DIM SHARED __UI_PrevMouseLeft AS INTEGER, __UI_PrevMouseTop AS INTEGER
|
|||
DIM SHARED __UI_MouseButton1 AS _BYTE, __UI_MouseButton2 AS _BYTE
|
||||
DIM SHARED __UI_MouseIsDown AS _BYTE, __UI_MouseDownOnID AS LONG
|
||||
DIM SHARED __UI_Mouse2IsDown AS _BYTE, __UI_Mouse2DownOnID AS LONG
|
||||
DIM SHARED __UI_PreviousMouseDownOnID AS LONG
|
||||
DIM SHARED __UI_KeyIsDown AS _BYTE, __UI_KeyDownOnID AS LONG
|
||||
DIM SHARED __UI_ShiftIsDown AS _BYTE, __UI_CtrlIsDown AS _BYTE
|
||||
DIM SHARED __UI_AltIsDown AS _BYTE, __UI_ShowHotKeys AS _BYTE, __UI_AltCombo$
|
||||
|
@ -211,7 +213,7 @@ DIM SHARED __UI_SnappedXID AS LONG, __UI_SnappedYID AS LONG
|
|||
DIM SHARED __UI_SnapLines AS _BYTE, __UI_SnapDistance AS INTEGER, __UI_SnapDistanceFromForm AS INTEGER
|
||||
DIM SHARED __UI_FrameRate AS SINGLE, __UI_Font8Offset AS INTEGER, __UI_Font16Offset AS INTEGER
|
||||
DIM SHARED __UI_ClipboardCheck$, __UI_MenuBarOffsetV AS INTEGER
|
||||
DIM SHARED __UI_KeepScreenHidden AS _BYTE
|
||||
DIM SHARED __UI_KeepScreenHidden AS _BYTE, __UI_MaxBorderThickness AS INTEGER
|
||||
|
||||
'Control types: -----------------------------------------------
|
||||
DIM SHARED __UI_Type(0 TO 18) AS __UI_Types
|
||||
|
@ -286,6 +288,7 @@ CONST True = -1, False = 0
|
|||
'$INCLUDE:'InFormVersion.bas'
|
||||
__UI_SnapDistance = 5
|
||||
__UI_SnapDistanceFromForm = 10
|
||||
__UI_MaxBorderThickness = 10
|
||||
__UI_Font8Offset = 5
|
||||
__UI_Font16Offset = 3
|
||||
__UI_ClipboardCheck$ = "InForm" + STRING$(2, 10) + "BEGIN CONTROL DATA" + CHR$(10) + STRING$(60, 45) + CHR$(10)
|
||||
|
@ -1573,7 +1576,7 @@ END FUNCTION
|
|||
|
||||
SUB __UI_EventDispatcher
|
||||
STATIC __UI_LastMouseIconSet AS _BYTE
|
||||
STATIC __UI_PreviousMouseDownOnID AS LONG, __UI_LastMouseDownEvent AS DOUBLE
|
||||
STATIC __UI_LastMouseDownEvent AS DOUBLE
|
||||
STATIC __UI_MouseDownTop AS INTEGER, __UI_MouseDownLeft AS INTEGER
|
||||
STATIC __UI_JustOpenedMenu AS _BYTE
|
||||
STATIC ControlClipboard$
|
||||
|
@ -4507,6 +4510,7 @@ FUNCTION __UI_NewControl (ControlType AS INTEGER, ControlName AS STRING, NewWidt
|
|||
|
||||
IF (ControlType = __UI_Type_PictureBox AND __UI_DesignMode) OR ControlType = __UI_Type_TextBox OR ControlType = __UI_Type_Frame OR ControlType = __UI_Type_ListBox OR ControlType = __UI_Type_DropdownList THEN
|
||||
Control(NextSlot).HasBorder = True
|
||||
Control(NextSlot).BorderThickness = 1
|
||||
END IF
|
||||
|
||||
IF ControlType = __UI_Type_PictureBox THEN
|
||||
|
@ -5451,6 +5455,7 @@ SUB __UI_ActivateDropdownlist (This AS __UI_ControlTYPE)
|
|||
Control(__UI_ActiveDropdownList).SelectedBackColor = This.SelectedBackColor
|
||||
Control(__UI_ActiveDropdownList).Font = This.Font
|
||||
Control(__UI_ActiveDropdownList).HasBorder = True
|
||||
Control(__UI_ActiveDropdownList).BorderThickness = 1
|
||||
Control(__UI_ActiveDropdownList).BorderColor = _RGB32(0, 0, 0)
|
||||
Control(__UI_ActiveDropdownList).CanHaveFocus = True
|
||||
Control(__UI_ActiveDropdownList).InputViewStart = 1
|
||||
|
|
|
@ -71,7 +71,7 @@ DIM SHARED WordWrap AS LONG, CanHaveFocus AS LONG
|
|||
DIM SHARED Disabled AS LONG, Transparent AS LONG
|
||||
DIM SHARED Hidden AS LONG, CenteredWindow AS LONG
|
||||
DIM SHARED Resizable AS LONG, AutoScroll AS LONG
|
||||
DIM SHARED AutoSize AS LONG
|
||||
DIM SHARED AutoSize AS LONG, ThicknessTB AS LONG
|
||||
|
||||
'Open dialog
|
||||
DIM SHARED DialogBG AS LONG, FileNameLB AS LONG
|
||||
|
@ -135,9 +135,14 @@ TYPE newInputBox
|
|||
LabelID AS LONG
|
||||
Signal AS INTEGER
|
||||
LastEdited AS SINGLE
|
||||
DataType AS INTEGER
|
||||
Sent AS _BYTE
|
||||
END TYPE
|
||||
|
||||
CONST DT_Text = 1
|
||||
CONST DT_Integer = 2
|
||||
CONST DT_Float = 3
|
||||
|
||||
REDIM SHARED PreviewCaptions(0) AS STRING
|
||||
REDIM SHARED PreviewTexts(0) AS STRING
|
||||
REDIM SHARED PreviewMasks(0) AS STRING
|
||||
|
@ -742,7 +747,7 @@ END SUB
|
|||
|
||||
SUB __UI_FocusIn (id AS LONG)
|
||||
SELECT CASE id
|
||||
CASE NameTB, CaptionTB, TextTB, MaskTB, TopTB, LeftTB, WidthTB, HeightTB, FontTB, TooltipTB, ValueTB, MinTB, MaxTB, IntervalTB, PaddingTB, MinIntervalTB
|
||||
CASE NameTB, CaptionTB, TextTB, MaskTB, TopTB, LeftTB, WidthTB, HeightTB, FontTB, TooltipTB, ValueTB, MinTB, MaxTB, IntervalTB, PaddingTB, MinIntervalTB, ThicknessTB
|
||||
DIM ThisInputBox AS LONG
|
||||
ThisInputBox = GetInputBoxFromID(id)
|
||||
InputBoxText(ThisInputBox) = Text(id)
|
||||
|
@ -765,7 +770,7 @@ END SUB
|
|||
|
||||
SUB __UI_FocusOut (id AS LONG)
|
||||
SELECT CASE id
|
||||
CASE NameTB, CaptionTB, TextTB, MaskTB, TopTB, LeftTB, WidthTB, HeightTB, FontTB, TooltipTB, ValueTB, MinTB, MaxTB, IntervalTB, PaddingTB, MinIntervalTB
|
||||
CASE NameTB, CaptionTB, TextTB, MaskTB, TopTB, LeftTB, WidthTB, HeightTB, FontTB, TooltipTB, ValueTB, MinTB, MaxTB, IntervalTB, PaddingTB, MinIntervalTB, ThicknessTB
|
||||
ConfirmEdits id
|
||||
END SELECT
|
||||
END SUB
|
||||
|
@ -890,6 +895,24 @@ SUB __UI_BeforeUpdateDisplay
|
|||
IF Caption(StatusBar) = "" THEN Caption(StatusBar) = "Ready."
|
||||
END IF
|
||||
|
||||
IF __UI_MouseDownOnID = Red OR __UI_MouseDownOnID = Green OR __UI_MouseDownOnID = Blue OR _
|
||||
__UI_PreviousMouseDownOnID = Red OR __UI_PreviousMouseDownOnID = Green OR __UI_PreviousMouseDownOnID = Blue THEN
|
||||
|
||||
SELECT CASE __UI_MouseDownOnID + __UI_PreviousMouseDownOnID
|
||||
CASE Red
|
||||
Text(RedValue) = LTRIM$(STR$(FIX(Control(Red).Value)))
|
||||
CASE Green
|
||||
Text(GreenValue) = LTRIM$(STR$(FIX(Control(Green).Value)))
|
||||
CASE Blue
|
||||
Text(BlueValue) = LTRIM$(STR$(FIX(Control(Blue).Value)))
|
||||
END SELECT
|
||||
|
||||
'Compose a new color and preview it
|
||||
DIM NewColor AS _UNSIGNED LONG
|
||||
NewColor = _RGB32(Control(Red).Value, Control(Green).Value, Control(Blue).Value)
|
||||
QuickColorPreview NewColor
|
||||
END IF
|
||||
|
||||
'Check if another instance was launched and is passing
|
||||
'parameters:
|
||||
STATIC BringToFront AS _BYTE, InstanceStream$
|
||||
|
@ -1374,11 +1397,11 @@ SUB __UI_BeforeUpdateDisplay
|
|||
IF __UI_Focus = InputBox(i).ID THEN
|
||||
Control(InputBox(i).ID).Height = 22
|
||||
Control(InputBox(i).ID).BorderColor = _RGB32(0, 0, 0)
|
||||
Control(InputBox(i).ID).HasBorder = 1
|
||||
Control(InputBox(i).ID).BorderThickness = 2
|
||||
ELSE
|
||||
Control(InputBox(i).ID).Height = 23
|
||||
Control(InputBox(i).ID).BorderColor = __UI_DefaultColor(__UI_Type_TextBox, 5)
|
||||
Control(InputBox(i).ID).HasBorder = True
|
||||
Control(InputBox(i).ID).BorderThickness = 1
|
||||
END IF
|
||||
NEXT
|
||||
Control(FontSizeList).Hidden = True
|
||||
|
@ -1673,6 +1696,22 @@ SUB __UI_BeforeUpdateDisplay
|
|||
END IF
|
||||
END IF
|
||||
END IF
|
||||
IF __UI_Focus <> ThicknessTB OR (__UI_Focus = ThicknessTB AND RevertEdit = True) THEN
|
||||
Text(ThicknessTB) = LTRIM$(STR$(PreviewControls(FirstSelected).BorderThickness))
|
||||
IF (__UI_Focus = ThicknessTB AND RevertEdit = True) THEN RevertEdit = False: SelectPropertyFully __UI_Focus
|
||||
ELSEIF __UI_Focus = ThicknessTB THEN
|
||||
IF PropertyFullySelected(ThicknessTB) THEN
|
||||
IF Text(ThicknessTB) = LTRIM$(STR$(PreviewControls(FirstSelected).BorderThickness)) THEN
|
||||
Control(__UI_Focus).BorderColor = ShadeOfGreen
|
||||
ELSE
|
||||
IF TIMER - InputBox(ThisInputBox).LastEdited < PropertyUpdateDelay THEN
|
||||
Control(__UI_Focus).BorderColor = __UI_DefaultColor(__UI_Type_TextBox, 5)
|
||||
ELSE
|
||||
Control(__UI_Focus).BorderColor = ShadeOfRed
|
||||
END IF
|
||||
END IF
|
||||
END IF
|
||||
END IF
|
||||
END IF
|
||||
|
||||
Control(TextTB).Max = 0
|
||||
|
@ -1709,6 +1748,7 @@ SUB __UI_BeforeUpdateDisplay
|
|||
Caption(TextLB) = "Text"
|
||||
Caption(ValueLB) = "Value"
|
||||
Caption(MaxLB) = "Max"
|
||||
Control(ThicknessTB).Disabled = True
|
||||
IF TotalSelected > 0 THEN
|
||||
SELECT EVERYCASE PreviewControls(FirstSelected).Type
|
||||
CASE __UI_Type_ToggleSwitch
|
||||
|
@ -1936,6 +1976,9 @@ SUB __UI_BeforeUpdateDisplay
|
|||
LastTopForInputBox = -12
|
||||
CONST TopIncrementForInputBox = 22
|
||||
FOR i = 1 TO UBOUND(InputBox)
|
||||
'Exception for ThicknessTB:
|
||||
IF InputBox(i).ID = ThicknessTB THEN _CONTINUE
|
||||
|
||||
IF Control(InputBox(i).ID).Disabled THEN
|
||||
Control(InputBox(i).ID).Hidden = True
|
||||
Control(InputBox(i).LabelID).Hidden = True
|
||||
|
@ -1955,7 +1998,12 @@ SUB __UI_BeforeUpdateDisplay
|
|||
Control(Toggles(i)).Top = LastTopForInputBox
|
||||
END IF
|
||||
NEXT
|
||||
|
||||
'Custom cases
|
||||
Control(AutoSize).Disabled = Control(WordWrap).Value
|
||||
Control(ThicknessTB).Disabled = NOT Control(HasBorder).Value
|
||||
Control(ThicknessTB).Hidden = Control(ThicknessTB).Disabled
|
||||
Control(ThicknessTB).Top = Control(HasBorder).Top
|
||||
|
||||
Control(FontSizeList).Disabled = Control(FontList).Disabled
|
||||
Control(FontSizeList).Hidden = Control(FontList).Hidden
|
||||
|
@ -2389,27 +2437,28 @@ SUB __UI_OnLoad
|
|||
|
||||
'Assign InputBox IDs:
|
||||
i = 0
|
||||
i = i + 1: InputBox(i).ID = NameTB: InputBox(i).LabelID = NameLB: InputBox(i).Signal = 1
|
||||
i = i + 1: InputBox(i).ID = CaptionTB: InputBox(i).LabelID = CaptionLB: InputBox(i).Signal = 2
|
||||
i = i + 1: InputBox(i).ID = TextTB: InputBox(i).LabelID = TextLB: InputBox(i).Signal = 3
|
||||
i = i + 1: InputBox(i).ID = MaskTB: InputBox(i).LabelID = MaskLB: InputBox(i).Signal = 35
|
||||
i = i + 1: InputBox(i).ID = TopTB: InputBox(i).LabelID = TopLB: InputBox(i).Signal = 4
|
||||
i = i + 1: InputBox(i).ID = LeftTB: InputBox(i).LabelID = LeftLB: InputBox(i).Signal = 5
|
||||
i = i + 1: InputBox(i).ID = WidthTB: InputBox(i).LabelID = WidthLB: InputBox(i).Signal = 6
|
||||
i = i + 1: InputBox(i).ID = HeightTB: InputBox(i).LabelID = HeightLB: InputBox(i).Signal = 7
|
||||
i = i + 1: InputBox(i).ID = FontTB: InputBox(i).LabelID = FontLB: InputBox(i).Signal = 8
|
||||
i = i + 1: InputBox(i).ID = FontList: InputBox(i).LabelID = FontListLB: InputBox(i).Signal = 8
|
||||
i = i + 1: InputBox(i).ID = TooltipTB: InputBox(i).LabelID = TooltipLB: InputBox(i).Signal = 9
|
||||
i = i + 1: InputBox(i).ID = ValueTB: InputBox(i).LabelID = ValueLB: InputBox(i).Signal = 10
|
||||
i = i + 1: InputBox(i).ID = BooleanOptions: InputBox(i).LabelID = BooleanLB: InputBox(i).Signal = 10
|
||||
i = i + 1: InputBox(i).ID = MinTB: InputBox(i).LabelID = MinLB: InputBox(i).Signal = 11
|
||||
i = i + 1: InputBox(i).ID = MaxTB: InputBox(i).LabelID = MaxLB: InputBox(i).Signal = 12
|
||||
i = i + 1: InputBox(i).ID = IntervalTB: InputBox(i).LabelID = IntervalLB: InputBox(i).Signal = 13
|
||||
i = i + 1: InputBox(i).ID = MinIntervalTB: InputBox(i).LabelID = MinIntervalLB: InputBox(i).Signal = 36
|
||||
i = i + 1: InputBox(i).ID = PaddingTB: InputBox(i).LabelID = PaddingLeftrightLB: InputBox(i).Signal = 31
|
||||
i = i + 1: InputBox(i).ID = NameTB: InputBox(i).LabelID = NameLB: InputBox(i).Signal = 1: InputBox(i).DataType = DT_Text
|
||||
i = i + 1: InputBox(i).ID = CaptionTB: InputBox(i).LabelID = CaptionLB: InputBox(i).Signal = 2: InputBox(i).DataType = DT_Text
|
||||
i = i + 1: InputBox(i).ID = TextTB: InputBox(i).LabelID = TextLB: InputBox(i).Signal = 3: InputBox(i).DataType = DT_Text
|
||||
i = i + 1: InputBox(i).ID = MaskTB: InputBox(i).LabelID = MaskLB: InputBox(i).Signal = 35: InputBox(i).DataType = DT_Text
|
||||
i = i + 1: InputBox(i).ID = TopTB: InputBox(i).LabelID = TopLB: InputBox(i).Signal = 4: InputBox(i).DataType = DT_Integer
|
||||
i = i + 1: InputBox(i).ID = LeftTB: InputBox(i).LabelID = LeftLB: InputBox(i).Signal = 5: InputBox(i).DataType = DT_Integer
|
||||
i = i + 1: InputBox(i).ID = WidthTB: InputBox(i).LabelID = WidthLB: InputBox(i).Signal = 6: InputBox(i).DataType = DT_Integer
|
||||
i = i + 1: InputBox(i).ID = HeightTB: InputBox(i).LabelID = HeightLB: InputBox(i).Signal = 7: InputBox(i).DataType = DT_Integer
|
||||
i = i + 1: InputBox(i).ID = FontTB: InputBox(i).LabelID = FontLB: InputBox(i).Signal = 8: InputBox(i).DataType = DT_Text
|
||||
i = i + 1: InputBox(i).ID = FontList: InputBox(i).LabelID = FontListLB: InputBox(i).Signal = 8: InputBox(i).DataType = DT_Text
|
||||
i = i + 1: InputBox(i).ID = TooltipTB: InputBox(i).LabelID = TooltipLB: InputBox(i).Signal = 9: InputBox(i).DataType = DT_Text
|
||||
i = i + 1: InputBox(i).ID = ValueTB: InputBox(i).LabelID = ValueLB: InputBox(i).Signal = 10: InputBox(i).DataType = DT_Float
|
||||
i = i + 1: InputBox(i).ID = BooleanOptions: InputBox(i).LabelID = BooleanLB: InputBox(i).Signal = 10: InputBox(i).DataType = DT_Float
|
||||
i = i + 1: InputBox(i).ID = MinTB: InputBox(i).LabelID = MinLB: InputBox(i).Signal = 11: InputBox(i).DataType = DT_Float
|
||||
i = i + 1: InputBox(i).ID = MaxTB: InputBox(i).LabelID = MaxLB: InputBox(i).Signal = 12: InputBox(i).DataType = DT_Float
|
||||
i = i + 1: InputBox(i).ID = IntervalTB: InputBox(i).LabelID = IntervalLB: InputBox(i).Signal = 13: InputBox(i).DataType = DT_Float
|
||||
i = i + 1: InputBox(i).ID = MinIntervalTB: InputBox(i).LabelID = MinIntervalLB: InputBox(i).Signal = 36: InputBox(i).DataType = DT_Float
|
||||
i = i + 1: InputBox(i).ID = PaddingTB: InputBox(i).LabelID = PaddingLeftrightLB: InputBox(i).Signal = 31: InputBox(i).DataType = DT_Integer
|
||||
i = i + 1: InputBox(i).ID = AlignOptions: InputBox(i).LabelID = TextAlignLB
|
||||
i = i + 1: InputBox(i).ID = VAlignOptions: InputBox(i).LabelID = VerticalAlignLB
|
||||
i = i + 1: InputBox(i).ID = BulletOptions: InputBox(i).LabelID = BulletOptionsLB
|
||||
i = i + 1: InputBox(i).ID = ThicknessTB: InputBox(i).Signal = 40: InputBox(i).DataType = DT_Integer
|
||||
REDIM _PRESERVE InputBox(1 TO i) AS newInputBox
|
||||
REDIM InputBoxText(1 TO i) AS STRING
|
||||
|
||||
|
@ -2617,7 +2666,7 @@ SUB __UI_KeyPress (id AS LONG)
|
|||
IF __UI_KeyHit = 27 THEN
|
||||
__UI_Click CloseZOrderingBT
|
||||
END IF
|
||||
CASE NameTB, CaptionTB, TextTB, MaskTB, TopTB, LeftTB, WidthTB, HeightTB, FontTB, TooltipTB, ValueTB, MinTB, MaxTB, IntervalTB, PaddingTB, MinIntervalTB
|
||||
CASE NameTB, CaptionTB, TextTB, MaskTB, TopTB, LeftTB, WidthTB, HeightTB, FontTB, TooltipTB, ValueTB, MinTB, MaxTB, IntervalTB, PaddingTB, MinIntervalTB, ThicknessTB
|
||||
IF __UI_KeyHit = 13 THEN
|
||||
'Send the preview the new property value
|
||||
ConfirmEdits id
|
||||
|
@ -2645,15 +2694,15 @@ SUB ConfirmEdits (id AS LONG)
|
|||
|
||||
IF InputBoxText(GetInputBoxFromID(id)) <> Text(id) AND _
|
||||
InputBox(GetInputBoxFromID(id)).Sent = False THEN
|
||||
TempValue = GetPropertySignal(id)
|
||||
SELECT CASE TempValue
|
||||
CASE 1, 2, 3, 8, 9, 35 'Name, caption, text, font, tooltips, mask
|
||||
SELECT CASE InputBox(GetInputBoxFromID(id)).DataType
|
||||
CASE DT_Text
|
||||
b$ = MKL$(LEN(Text(id))) + Text(id)
|
||||
CASE 4, 5, 6, 7, 31 'Top, left, width, height, padding
|
||||
CASE DT_Integer
|
||||
b$ = MKI$(VAL(Text(id)))
|
||||
CASE 10, 11, 12, 13, 36 'Value, min, max, interval, mininterval
|
||||
CASE DT_Float
|
||||
b$ = _MK$(_FLOAT, VAL(Text(id)))
|
||||
END SELECT
|
||||
TempValue = GetPropertySignal(id)
|
||||
SendData b$, TempValue
|
||||
PropertySent = True
|
||||
SelectPropertyFully id
|
||||
|
@ -2724,11 +2773,6 @@ SUB __UI_ValueChanged (id AS LONG)
|
|||
Text(GreenValue) = LTRIM$(STR$(Control(Green).Value))
|
||||
CASE Blue
|
||||
Text(BlueValue) = LTRIM$(STR$(Control(Blue).Value))
|
||||
CASE Red, Green, Blue
|
||||
'Compose a new color and preview it
|
||||
DIM NewColor AS _UNSIGNED LONG
|
||||
NewColor = _RGB32(Control(Red).Value, Control(Green).Value, Control(Blue).Value)
|
||||
IF __UI_MouseDownOnID = id THEN QuickColorPreview NewColor
|
||||
CASE ControlList
|
||||
Control(UpBT).Disabled = False
|
||||
Control(DownBT).Disabled = False
|
||||
|
@ -2748,7 +2792,7 @@ SUB __UI_ValueChanged (id AS LONG)
|
|||
SendData b$, 213
|
||||
CASE FileList
|
||||
Text(FileNameTextBox) = GetItem(FileList, Control(FileList).Value)
|
||||
CASE NameTB, CaptionTB, TextTB, MaskTB, TopTB, LeftTB, WidthTB, HeightTB, FontTB, TooltipTB, ValueTB, MinTB, MaxTB, IntervalTB, PaddingTB, MinIntervalTB
|
||||
CASE NameTB, CaptionTB, TextTB, MaskTB, TopTB, LeftTB, WidthTB, HeightTB, FontTB, TooltipTB, ValueTB, MinTB, MaxTB, IntervalTB, PaddingTB, MinIntervalTB, ThicknessTB
|
||||
Send Client, "LOCKCONTROLS><END>"
|
||||
END SELECT
|
||||
END SUB
|
||||
|
@ -3162,6 +3206,9 @@ SUB LoadPreview
|
|||
PreviewControls(Dummy).AutoScroll = True
|
||||
CASE -42
|
||||
PreviewControls(Dummy).AutoSize = True
|
||||
CASE -43
|
||||
b$ = ReadSequential$(FormData$, 2)
|
||||
PreviewControls(Dummy).BorderThickness = CVI(b$)
|
||||
CASE -1 'new control
|
||||
EXIT DO
|
||||
CASE -1024
|
||||
|
@ -3579,6 +3626,9 @@ SUB SaveForm (ExitToQB64 AS _BYTE, SaveOnlyFrm AS _BYTE)
|
|||
IF PreviewControls(i).Padding > 0 THEN
|
||||
PRINT #TextFileNum, " Control(__UI_NewID).Padding = " + LTRIM$(STR$(PreviewControls(i).Padding))
|
||||
END IF
|
||||
IF PreviewControls(i).BorderThickness > 0 THEN
|
||||
PRINT #TextFileNum, " Control(__UI_NewID).BorderThickness = " + LTRIM$(STR$(PreviewControls(i).BorderThickness))
|
||||
END IF
|
||||
IF PreviewControls(i).Encoding > 0 THEN
|
||||
PRINT #TextFileNum, " Control(__UI_NewID).Encoding = " + LTRIM$(STR$(PreviewControls(i).Encoding))
|
||||
END IF
|
||||
|
|
|
@ -497,6 +497,15 @@ SUB __UI_LoadForm
|
|||
SetCaption __UI_NewID, "Has border"
|
||||
Control(__UI_NewID).CanHaveFocus = True
|
||||
|
||||
__UI_NewID = __UI_NewControl(__UI_Type_TextBox, "ThicknessTB", 61, 20, 132, 34, __UI_GetID("ControlToggles"))
|
||||
Text(__UI_NewID) = "1"
|
||||
ToolTip(__UI_NewID) = "Border thickness"
|
||||
Control(__UI_NewID).HasBorder = True
|
||||
Control(__UI_NewID).NumericOnly = __UI_NumericWithBounds
|
||||
Control(__UI_NewID).Min = 1
|
||||
Control(__UI_NewID).Max = 10
|
||||
Control(__UI_NewID).CanHaveFocus = True
|
||||
|
||||
__UI_NewID = __UI_NewControl(__UI_Type_CheckBox, "ShowPercentage", 181, 20, 12, 56, __UI_GetID("ControlToggles"))
|
||||
SetCaption __UI_NewID, "Show percentage"
|
||||
Control(__UI_NewID).CanHaveFocus = True
|
||||
|
@ -565,7 +574,7 @@ SUB __UI_LoadForm
|
|||
|
||||
__UI_NewID = __UI_NewControl(__UI_Type_TextBox, "RedValue", 36, 23, 530, 20, __UI_GetID("ColorMixer"))
|
||||
Control(__UI_NewID).BorderColor = _RGB32(255, 0, 0)
|
||||
Control(__UI_NewID).HasBorder = 1
|
||||
Control(__UI_NewID).HasBorder = True
|
||||
Control(__UI_NewID).CanHaveFocus = True
|
||||
Control(__UI_NewID).NumericOnly = __UI_NumericWithBounds
|
||||
Control(__UI_NewID).Min = 0
|
||||
|
@ -578,7 +587,7 @@ SUB __UI_LoadForm
|
|||
|
||||
__UI_NewID = __UI_NewControl(__UI_Type_TextBox, "GreenValue", 36, 23, 530, 70, __UI_GetID("ColorMixer"))
|
||||
Control(__UI_NewID).BorderColor = _RGB32(0, 180, 0)
|
||||
Control(__UI_NewID).HasBorder = 1
|
||||
Control(__UI_NewID).HasBorder = True
|
||||
Control(__UI_NewID).CanHaveFocus = True
|
||||
Control(__UI_NewID).NumericOnly = __UI_NumericWithBounds
|
||||
Control(__UI_NewID).Min = 0
|
||||
|
@ -591,7 +600,7 @@ SUB __UI_LoadForm
|
|||
|
||||
__UI_NewID = __UI_NewControl(__UI_Type_TextBox, "BlueValue", 36, 23, 530, 117, __UI_GetID("ColorMixer"))
|
||||
Control(__UI_NewID).BorderColor = _RGB32(0, 0, 255)
|
||||
Control(__UI_NewID).HasBorder = 1
|
||||
Control(__UI_NewID).HasBorder = True
|
||||
Control(__UI_NewID).CanHaveFocus = True
|
||||
Control(__UI_NewID).NumericOnly = __UI_NumericWithBounds
|
||||
Control(__UI_NewID).Min = 0
|
||||
|
@ -826,4 +835,5 @@ SUB __UI_AssignIDs
|
|||
PasteListBT = __UI_GetID("PasteListBT")
|
||||
EditMenuConvertType = __UI_GetID("EditMenuConvertType")
|
||||
AutoSize = __UI_GetID("AutoSize")
|
||||
ThicknessTB = __UI_GetID("ThicknessTB")
|
||||
END SUB
|
||||
|
|
|
@ -256,8 +256,9 @@ SUB __UI_BeforeUpdateDisplay
|
|||
END IF
|
||||
|
||||
SELECT CASE tempType
|
||||
CASE __UI_Type_ListBox
|
||||
Control(TempValue).HasBorder = True
|
||||
'CASE __UI_Type_ListBox
|
||||
' Control(TempValue).HasBorder = True
|
||||
' Control(TempValue).BorderThickness = 1
|
||||
CASE __UI_Type_ProgressBar
|
||||
SetCaption TempValue, "\#"
|
||||
END SELECT
|
||||
|
@ -847,11 +848,21 @@ SUB __UI_BeforeUpdateDisplay
|
|||
IF TotalLockedControls THEN
|
||||
FOR j = 1 TO TotalLockedControls
|
||||
Control(LockedControls(j)).HasBorder = CVI(b$)
|
||||
IF CVI(b$) THEN
|
||||
IF Control(LockedControls(j)).BorderThickness = 0 THEN
|
||||
Control(LockedControls(j)).BorderThickness = 1
|
||||
END IF
|
||||
END IF
|
||||
NEXT
|
||||
ELSE
|
||||
FOR i = 1 TO UBOUND(Control)
|
||||
IF Control(i).ControlIsSelected THEN
|
||||
Control(i).HasBorder = CVI(b$)
|
||||
IF CVI(b$) THEN
|
||||
IF Control(i).BorderThickness = 0 THEN
|
||||
Control(i).BorderThickness = 1
|
||||
END IF
|
||||
END IF
|
||||
END IF
|
||||
NEXT
|
||||
END IF
|
||||
|
@ -1191,6 +1202,20 @@ SUB __UI_BeforeUpdateDisplay
|
|||
END IF
|
||||
NEXT
|
||||
END IF
|
||||
CASE 40 'BorderThickness
|
||||
b$ = ReadSequential$(Property$, 2)
|
||||
TempValue = CVI(b$)
|
||||
IF TotalLockedControls THEN
|
||||
FOR j = 1 TO TotalLockedControls
|
||||
Control(LockedControls(j)).BorderThickness = TempValue
|
||||
NEXT
|
||||
ELSEIF __UI_TotalSelectedControls > 0 THEN
|
||||
FOR i = 1 TO UBOUND(Control)
|
||||
IF Control(i).ControlIsSelected THEN
|
||||
Control(i).BorderThickness = TempValue
|
||||
END IF
|
||||
NEXT
|
||||
END IF
|
||||
CASE 201 TO 210
|
||||
'Alignment commands
|
||||
b$ = ReadSequential$(Property$, 2)
|
||||
|
@ -2178,6 +2203,9 @@ SUB LoadPreview (Destination AS _BYTE)
|
|||
IF LogFileLoad THEN PRINT #LogFileNum, "BACKSTYLE:TRANSPARENT"
|
||||
CASE -12
|
||||
Control(TempValue).HasBorder = True
|
||||
IF Control(TempValue).BorderThickness = 0 THEN
|
||||
Control(TempValue).BorderThickness = 1
|
||||
END IF
|
||||
IF LogFileLoad THEN PRINT #LogFileNum, "HASBORDER"
|
||||
CASE -13
|
||||
IF NOT Disk THEN b$ = ReadSequential$(Clip$, 1) ELSE b$ = SPACE$(1): GET #BinaryFileNum, , b$
|
||||
|
@ -2273,6 +2301,10 @@ SUB LoadPreview (Destination AS _BYTE)
|
|||
Control(TempValue).AutoScroll = True
|
||||
CASE -42
|
||||
Control(TempValue).AutoSize = True
|
||||
CASE -43
|
||||
IF NOT Disk THEN b$ = ReadSequential$(Clip$, 2) ELSE b$ = SPACE$(2): GET #BinaryFileNum, , b$
|
||||
Control(TempValue).BorderThickness = CVI(b$)
|
||||
IF LogFileLoad THEN PRINT #LogFileNum, "BORDER THICKNESS" + STR$(CVI(b$))
|
||||
CASE -1 'new control
|
||||
IF LogFileLoad THEN PRINT #LogFileNum, "READ NEW CONTROL: -1"
|
||||
EXIT DO
|
||||
|
@ -2473,7 +2505,12 @@ SUB LoadPreviewText
|
|||
Control(TempValue).BackStyle = __UI_Transparent
|
||||
END IF
|
||||
CASE "HasBorder"
|
||||
Control(TempValue).HasBorder = (DummyText$ = "True")
|
||||
IF DummyText$ = "True" THEN
|
||||
Control(TempValue).HasBorder = True
|
||||
IF Control(TempValue).BorderThickness = 0 THEN
|
||||
Control(TempValue).BorderThickness = 1
|
||||
END IF
|
||||
END IF
|
||||
CASE "Align"
|
||||
SELECT CASE DummyText$
|
||||
CASE "__UI_Center": Control(TempValue).Align = __UI_Center
|
||||
|
@ -2517,6 +2554,8 @@ SUB LoadPreviewText
|
|||
Control(TempValue).CanResize = (DummyText$ = "True")
|
||||
CASE "Padding"
|
||||
Control(TempValue).Padding = VAL(DummyText$)
|
||||
CASE "BorderThickness"
|
||||
Control(TempValue).BorderThickness = VAL(DummyText$)
|
||||
CASE "VAlign"
|
||||
SELECT CASE DummyText$
|
||||
CASE "__UI_Middle": Control(TempValue).VAlign = __UI_Middle
|
||||
|
@ -2996,6 +3035,10 @@ SUB SavePreview (Destination AS _BYTE)
|
|||
Clip$ = Clip$ + b$
|
||||
END IF
|
||||
END IF
|
||||
IF Control(i).BorderThickness > 0 THEN
|
||||
b$ = MKI$(-43) + MKI$(Control(i).BorderThickness)
|
||||
IF Disk THEN PUT #BinFileNum, , b$ ELSE Clip$ = Clip$ + b$
|
||||
END IF
|
||||
END IF
|
||||
NEXT
|
||||
NEXT
|
||||
|
|
|
@ -78,5 +78,6 @@ FOR EACH CONTROL (FORM INCLUDED):
|
|||
For ListBox controls
|
||||
INTEGER -42 (AutoSize = True)
|
||||
For Label controls
|
||||
INTEGER -43 (BorderThickness) + INTEGER .BorderThickness
|
||||
-------------------
|
||||
INTEGER -1024 (End of file)
|
|
@ -764,7 +764,7 @@ SUB __UI_DrawTextBox (This AS __UI_ControlTYPE, ControlState, ss1 AS LONG, ss2 A
|
|||
TempCaption$ = __UI_TrimAt0$(Caption(This.ID))
|
||||
CaptionIndent = 0
|
||||
|
||||
IF This.HasBorder THEN CaptionIndent = 5
|
||||
IF This.HasBorder THEN CaptionIndent = 5 + This.BorderThickness
|
||||
|
||||
IF NOT This.Disabled AND (LEN(Text(This.ID)) OR This.Multiline) THEN
|
||||
COLOR This.ForeColor, This.BackColor
|
||||
|
@ -934,9 +934,11 @@ SUB __UI_DrawTextBox (This AS __UI_ControlTYPE, ControlState, ss1 AS LONG, ss2 A
|
|||
END IF
|
||||
|
||||
IF This.HasBorder = True THEN
|
||||
LINE (0, 0)-STEP(This.Width - 1, This.Height - 1), This.BorderColor, B
|
||||
ELSEIF This.HasBorder > 0 THEN
|
||||
FOR i = 0 TO This.HasBorder
|
||||
IF This.BorderThickness > __UI_MaxBorderThickness THEN
|
||||
This.BorderThickness = __UI_MaxBorderThickness
|
||||
END IF
|
||||
|
||||
FOR i = 0 TO This.BorderThickness - 1
|
||||
LINE (i, i)-STEP(This.Width - 1 - i * 2, This.Height - 1 - i * 2), This.BorderColor, B
|
||||
NEXT
|
||||
END IF
|
||||
|
|
Loading…
Reference in a new issue