Страница: 1 |
Страница: 1 |
Вопрос: Просмотр шрифтов
Добавлено: 08.06.08 11:20
Автор вопроса: DaaGER | Web-сайт:
У меня огромное количество шрифтов на компьютере (нужы для хобби), но просмотреть все их не могу, а в ручную подбирать шрифт долго.
Пытался сделать прогу, вот принцип:
создаётся количество textbox'ов на одно больше чем количество шрифтов, в первом textbox набирается слово. Оно появляется в остальных.
Каждый TextBox отдельный шрифт, напротив имя Шрифта.
В приницпе заработало всё, кроме "Каждый TextBox отдельный шрифт", не хотят они менять шрифт...
Мучался около недели, лазил в инете, но похоже плохо искал...
Может кто-нибудь помочь?
Ответы
Всего ответов: 8
Номер ответа: 1
Автор ответа:
shuffle
Администратор
ICQ: 201502381
Вопросов: 15
Ответов: 737
Профиль | | #1
Добавлено: 08.06.08 13:25
text2.font = "Tahoma"
text3.font = "Courier New"
Разве это не работает?
Номер ответа: 2
Автор ответа:
DaaGER
ICQ: 329195567
Вопросов: 52
Ответов: 67
Web-сайт:
Профиль | | #2
Добавлено: 08.06.08 14:48
шрифтов у меня более 800!
В ручную писать долго...
Номер ответа: 3
Автор ответа:
Boconon
ICQ: 216390557
Вопросов: 25
Ответов: 71
Web-сайт:
Профиль | | #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-сайт:
Профиль | | #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-сайт:
Профиль | | #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):
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)
 isplayFonts(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'~