Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Просмотр шрифтов Добавлено: 08.06.08 11:20  

Автор вопроса:  DaaGER | Web-сайт: smartic.ru | ICQ: 329195567 
У меня огромное количество шрифтов на компьютере (нужы для хобби), но просмотреть все их не могу, а в ручную подбирать шрифт долго.
Пытался сделать прогу, вот принцип:
создаётся количество textbox'ов на одно больше чем количество шрифтов, в первом textbox набирается слово. Оно появляется в остальных.
Каждый TextBox отдельный шрифт, напротив имя Шрифта.

В приницпе заработало всё, кроме "Каждый TextBox отдельный шрифт", не хотят они менять шрифт...

Мучался около недели, лазил в инете, но похоже плохо искал...

Может кто-нибудь помочь?

Ответить

  Ответы Всего ответов: 8  

Номер ответа: 1
Автор ответа:
 shuffle



Администратор

ICQ: 201502381 

Вопросов: 15
Ответов: 737
 Профиль | | #1 Добавлено: 08.06.08 13:25
text1.font = "Time New Roman"
text2.font = "Tahoma"
text3.font = "Courier New"

Разве это не работает?

Ответить

Номер ответа: 2
Автор ответа:
 DaaGER



ICQ: 329195567 

Вопросов: 52
Ответов: 67
 Web-сайт: smartic.ru
 Профиль | | #2
Добавлено: 08.06.08 14:48
шрифтов у меня более 800!
В ручную писать долго...

Ответить

Номер ответа: 3
Автор ответа:
 Boconon



ICQ: 216390557 

Вопросов: 25
Ответов: 71
 Web-сайт: microsoft.com
 Профиль | | #3
Добавлено: 08.06.08 17:35
Создать 800 текстбоксов будет, имхо, неудобно.
Лучше один текстбокс для просмотра шрифта и листбокс со списком всех шрифтов. Я уже мутил такую прогу, если можно это прогой назвать :) Если надо, могу скинуть. Прога, кстати сама все шрифты находила в системе и в листбокс добавляла. Там можно и цвет и начертание (ж - к - ч) менять.

Ответить

Номер ответа: 4
Автор ответа:
 Smith



ICQ: ненавижу 

Вопросов: 28
Ответов: 317
 Web-сайт: Не хочу ломать голову, если её уже сломал кто-то другой.
 Профиль | | #4
Добавлено: 08.06.08 17:39
RichTextBox разве не позволяет каждую новую строку новым шрифтом оформить?

>Boconon
Ты шрифты из реестра доставал?

Ответить

Номер ответа: 5
Автор ответа:
 Boconon



ICQ: 216390557 

Вопросов: 25
Ответов: 71
 Web-сайт: microsoft.com
 Профиль | | #5
Добавлено: 08.06.08 17:45
Нет, не из реестра. Просто перебором. Screen.FontsCount и Screen.Fonts - что-то вроде этого.

Ответить

Номер ответа: 6
Автор ответа:
 Smith



ICQ: ненавижу 

Вопросов: 28
Ответов: 317
 Web-сайт: Не хочу ломать голову, если её уже сломал кто-то другой.
 Профиль | | #6
Добавлено: 08.06.08 18:45


Млин а я и забыл уже про енто чудо Screen :)



Ну вот те Дагер и все нужные ответы.

Ответить

Номер ответа: 7
Автор ответа:
 DaaGER



ICQ: 329195567 

Вопросов: 52
Ответов: 67
 Web-сайт: smartic.ru
 Профиль | | #7
Добавлено: 08.06.08 21:24
2Boconon
скинь на daager_new [a] mail.ru

Ответить

Номер ответа: 8
Автор ответа:
 Fatty



Вопросов: 0
Ответов: 55
 Профиль | | #8 Добавлено: 09.06.08 09:37
Код из учебника "Программирование наVB.NET"
(Г.Корнелл, Дж.Моррисон - www.piter.com,
e-book: www.books.everonit.ru):

Option Strict On
Imports System.Drawing
Public Class Form1
    Inherits System.Windows.Forms.Form

#Region " Windows Form Designer generated code "

    Public Sub New()
        MyBase.New()

        'This call is required by the Windows Form Designer.
        InitializeComponent()

        'Add any initialization after the InitializeComponent() call

    End Sub

    'Form overrides dispose to clean up the component list.
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing Then
            If Not (components Is Nothing) Then
                components.Dispose()
            End If
        End If
        MyBase.Dispose(disposing)
    End Sub
    Friend WithEvents PictureBox1 As FontPictureBox
    Friend WithEvents ToolTip1 As System.Windows.Forms.ToolTip
    Friend WithEvents ToolTip2 As System.Windows.Forms.ToolTip
    Private components As System.ComponentModel.IContainer

    'Required by the Windows Form Designer

    'NOTE: The following procedure is required by the Windows Form Designer
    'It can be modified using the Windows Form Designer.  
    'Do not modify it using the code editor.
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        Me.components = New System.ComponentModel.Container
        Me.ToolTip2 = New System.Windows.Forms.ToolTip(Me.components)
        Me.PictureBox1 = New Fonts.FontPictureBox
        Me.ToolTip1 = New System.Windows.Forms.ToolTip(Me.components)
        CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
        Me.SuspendLayout()
        '
        'PictureBox1
        '
        Me.PictureBox1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer))
        Me.PictureBox1.Location = New System.Drawing.Point(47, 14)
        Me.PictureBox1.Name = "PictureBox1"
        Me.PictureBox1.Size = New System.Drawing.Size(771, 32767)
        Me.PictureBox1.TabIndex = 0
        Me.PictureBox1.TabStop = False
        '
        'Form1
        '
        Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
        Me.ClientSize = New System.Drawing.Size(481, 352)
        Me.Controls.Add(Me.PictureBox1)
        Me.Name = "Form1"
        Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
        Me.Text = "All your fonts!"
        CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit()
        Me.ResumeLayout(False)

    End Sub
#End Region
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.VScroll = True
        Me.HScroll = True
        Me.AutoScroll = True
        PictureBox1.Left = 0
        PictureBox1.Top = 0
    End Sub

    Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
        MyBase.OnPaint(e)
    End Sub
End Class

Public Class FontPictureBox
    Inherits System.Windows.Forms.PictureBox
    Public txt As String = "AaBbCcDd0123456789"
    Protected Overrides Sub OnPaint(ByVal pe As System.Windows.Forms.PaintEventArgs)
        MyBase.OnPaint(pe)
        ;DisplayFonts(pe.Graphics)

    End Sub
    Private Sub DisplayFonts(ByVal g As Graphics)
        'Dim g As Graphics = Me.CreateGraphics()'didn't work
        Dim aFontFamily As FontFamily
        Dim curx, curY As Single
        Dim TheFonts As System.Drawing.Text.FontCollection
        Dim tempFont As Font = Nothing
        Dim spacing As Integer = 2 '2 pixels apart
        TheFonts = New System.Drawing.Text.InstalledFontCollection()
        For Each aFontFamily In TheFonts.Families
            Me.Height += 2
            If aFontFamily.IsStyleAvailable(FontStyle.Regular) Then
                tempFont = New Font(aFontFamily, 12, FontStyle.Regular)
            ElseIf aFontFamily.IsStyleAvailable(FontStyle.Bold) Then
                tempFont = New Font(aFontFamily, 12, FontStyle.Bold)
            ElseIf aFontFamily.IsStyleAvailable(FontStyle.Italic) Then
                tempFont = New Font(aFontFamily, 12, FontStyle.Italic)
            End If
            g.DrawString(aFontFamily.Name & ControlChars.Tab & txt, _
             tempFont, Brushes.Black, curx, curY)
            Dim theSize As SizeF = g.MeasureString(aFontFamily.Name & ControlChars.Tab & txt, tempFont)
            curY = curY + theSize.Height + spacing
            Me.Height = Me.Height + CInt(theSize.Height) + spacing
            Me.Width = Math.Max(CInt(theSize.Width), Me.Width)
        Next
    End Sub
End Class


~'J'~

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам