SftTree/DLL 7.5 - Tree Control
SftBox/OCX 5.0 - Combo Box Control
SftButton/OCX 3.0 - Button Control
SftMask/OCX 7.0 - Masked Edit Control
SftTabs/OCX 6.5 - Tab Control (VB6 only)
SftTree/OCX 7.5 - Tree Control
SftPrintPreview/DLL 2.0 - Print Preview Control (discontinued)
SftTree/DLL 7.5 - Tree Control
SftBox/OCX 5.0 - Combo Box Control
SftButton/OCX 3.0 - Button Control
SftDirectory 3.5 - File/Folder Control (discontinued)
SftMask/OCX 7.0 - Masked Edit Control
SftOptions 1.0 - Registry/INI Control (discontinued)
SftPrintPreview/OCX 1.0 - Print Preview Control (discontinued)
SftTabs/OCX 6.5 - Tab Control (VB6 only)
SftTree/OCX 7.5 - Tree Control
SftTabs/NET 6.0 - Tab Control (discontinued)
SftTree/NET 2.0 - Tree Control
This sample illustrates a font dialog for font selection.
The source code is located at C:\Program Files (x86)\Softelvdm\SftBox OCX 5.0\Samples\Visual Studio - VB.NET\FontDlg\Form1.vb or C:\Program Files\Softelvdm\SftBox OCX 5.0\Samples\Visual Studio - VB.NET\FontDlg\Form1.vb (on 32-bit Windows versions).
Private Sub closeButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles closeButton.Click Application.Exit() End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ' add all font information UpdateFontNames() End Sub Private Sub UpdateFontNames() ' add all font names fontNames.BulkUpdate = True fontNames.Items.Clear() fontNames.Items.AddFontNames(-1, SftBoxFontConstants.fontSftBoxAll, True, 0) fontNames.Items.Selection = 0 PerformSort(fontNames, SftBoxSortConstants.sortSftBoxAscending) fontNames.BulkUpdate = False fontNames.Columns.MakeOptimal(0) fontNames.Items.RecalcHorizontalExtent(0) End Sub Private Sub UpdateFontStyles() ' add all styles for the current font name If fontNames.Items.Selection >= 0 Then Dim OldText As String = fontStyles.Edit.Text fontStyles.Items.AddFontStyles(fontNames.get_Cell(fontNames.Items.Selection, 0).Text, 0, "", "") Dim index As Integer = fontStyles.Items.Find(OldText, 0, 0, False, True, True) If index < 0 Then index = 0 fontStyles.Items.Selection = index Else fontStyles.Items.Clear() End If PerformSort(fontStyles, SftBoxSortConstants.sortSftBoxAscending) fontStyles.Columns.MakeOptimal(0) fontStyles.Items.RecalcHorizontalExtent(0) End Sub Private Sub UpdateFontSizes() ' add all sizes for the current font name If fontNames.Items.Selection >= 0 Then Dim OldText As String = fontSizes.Edit.Text fontSizes.Items.AddFontSizes(fontNames.get_Cell(fontNames.Items.Selection, 0).Text, 0) Dim index As Integer = fontSizes.Items.Find(OldText, 0, 0, False, True, True) If index < 0 Then index = 0 fontSizes.Items.Selection = index Else fontSizes.Items.Clear() End If PerformSort(fontSizes, SftBoxSortConstants.sortSftBoxAscending) fontSizes.Columns.MakeOptimal(0) fontSizes.Items.RecalcHorizontalExtent(0) UpdateSample() End Sub Private Sub fontNames_SelectionChange(ByVal sender As Object, ByVal e As System.EventArgs) Handles fontNames.SelectionChange UpdateFontStyles() End Sub Private Sub fontStyles_SelectionChange(ByVal sender As Object, ByVal e As System.EventArgs) Handles fontStyles.SelectionChange UpdateFontSizes() End Sub Private Sub fontSizes_SelectionChange(ByVal sender As Object, ByVal e As System.EventArgs) Handles fontSizes.SelectionChange UpdateSample() End Sub Private Sub UpdateSample() Dim SelItem As Integer = fontStyles.Items.Selection If SelItem >= 0 And fontSizes.Edit.Text <> "" Then sampleText.Text = "AaBbCcYyZz" Dim style As FontStyle = 0 If (fontStyles.get_Cell(SelItem, 0).Data And &H80000000&) <> 0 Then style = style Or FontStyle.Italic Dim weight As Integer = fontStyles.get_Cell(SelItem, 0).Data And &H7FFFFFFF& If weight > 400 Then style = style Or FontStyle.Bold sampleText.Font = New Font(fontNames.Edit.Text, Convert.ToSingle(fontSizes.Edit.Text), style) Else sampleText.Text = "" End If End Sub Private Sub condHeaders_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles condHeaders.CheckedChanged ' if this event occurs during form initialization, the activeX control ' may not yet be initialized completely, so we have to check for GetOcx() If Not fontNames.GetOcx() Is Nothing Then If condHeaders.Checked Then fontNames.Headers.Main = True fontNames.Headers.DropDown = False fontStyles.Headers.Main = True fontStyles.Headers.DropDown = False fontSizes.Headers.Main = True fontSizes.Headers.DropDown = False Else fontNames.Headers.Main = False fontNames.Headers.DropDown = True fontStyles.Headers.Main = False fontStyles.Headers.DropDown = True fontSizes.Headers.Main = False fontSizes.Headers.DropDown = True End If End If End Sub Private Sub PerformSort(ByVal box As AxSftBox, ByVal currDirection As SftBoxSortConstants) If currDirection = SftBoxSortConstants.sortSftBoxAscending Then box.get_Header(0).Image.Appearance = SftPictureImageConstants.sftImageSortAsc Else box.get_Header(0).Image.Appearance = SftPictureImageConstants.sftImageSortDesc End If ' Font styles and font names are sorted by Cell.Text property ' Font sizes are sorted according to numeric Cell.Data property ' Outside of this function, only sortSftBoxAscending and sortSftBoxDescending ' are used, so we need to translate these If box Is fontSizes Then If currDirection = SftBoxSortConstants.sortSftBoxAscending Then currDirection = SftBoxSortConstants.sortSftBoxCellValueAscending Else currDirection = SftBoxSortConstants.sortSftBoxCellValueDescending End If End If box.Items.Sort(-1, 0, currDirection) End Sub Private Sub ReverseSortOrder(ByVal box As AxSftBox, ByRef currDirection As SftBoxSortConstants) If currDirection = SftBoxSortConstants.sortSftBoxAscending Then currDirection = SftBoxSortConstants.sortSftBoxDescending Else currDirection = SftBoxSortConstants.sortSftBoxAscending End If End Sub Private Sub fontNames_ItemClick(ByVal sender As Object, ByVal e As AxSftBoxLib50._ISftBoxEvents_ItemClickEvent) Handles fontNames.ItemClick If e.areaType = SftBoxAreaConstants.areaSftBoxColumn Then ReverseSortOrder(fontNames, fontNamesDirection) PerformSort(fontNames, fontNamesDirection) End If End Sub Private Sub fontNames_ItemDblClk(ByVal sender As Object, ByVal e As AxSftBoxLib50._ISftBoxEvents_ItemDblClkEvent) Handles fontNames.ItemDblClk If e.areaType = SftBoxAreaConstants.areaSftBoxColumn Then ReverseSortOrder(fontNames, fontNamesDirection) PerformSort(fontNames, fontNamesDirection) End If End Sub Private Sub fontStyles_ItemClick(ByVal sender As Object, ByVal e As AxSftBoxLib50._ISftBoxEvents_ItemClickEvent) Handles fontStyles.ItemClick If e.areaType = SftBoxAreaConstants.areaSftBoxColumn Then ReverseSortOrder(fontStyles, fontStylesDirection) PerformSort(fontStyles, fontStylesDirection) End If End Sub Private Sub fontStyles_ItemDblClk(ByVal sender As Object, ByVal e As AxSftBoxLib50._ISftBoxEvents_ItemDblClkEvent) Handles fontStyles.ItemDblClk If e.areaType = SftBoxAreaConstants.areaSftBoxColumn Then ReverseSortOrder(fontStyles, fontStylesDirection) PerformSort(fontStyles, fontStylesDirection) End If End Sub Private Sub fontSizes_ItemClick(ByVal sender As Object, ByVal e As AxSftBoxLib50._ISftBoxEvents_ItemClickEvent) Handles fontSizes.ItemClick If e.areaType = SftBoxAreaConstants.areaSftBoxColumn Then ReverseSortOrder(fontSizes, fontSizesDirection) PerformSort(fontSizes, fontSizesDirection) End If End Sub Private Sub fontSizes_ItemDblClk(ByVal sender As Object, ByVal e As AxSftBoxLib50._ISftBoxEvents_ItemDblClkEvent) Handles fontSizes.ItemDblClk If e.areaType = SftBoxAreaConstants.areaSftBoxColumn Then ReverseSortOrder(fontSizes, fontSizesDirection) PerformSort(fontSizes, fontSizesDirection) End If End Sub