Corel FORUM
Forum użytkowników programów firmy Corel. Grafika wektorowa, rastrowa i obróbka zdjęć cyfrowych

CorelDRAW - grafika wektorowa - VB lista fontów

chezare - 26 Grudzień 2010, 21:55
Temat postu: VB lista fontów
Heloł,
mam problema. Skrypty w VB pisałem dawno, dawno, dawno, temu i albo pamięć mnie zawodzi, albo nigdy nie zajmowałem się takim tematem, albo zwyczajnie skleroza.
Do rzeczy. Wykombinowałem własny formularz, wstawiłem ListBox i ......
Tutaj przejrzałem dokumentację Corela, mordowałem Googla i nie znalazłem...
i chciałbym wypełnić listobox nazwami zainstalowanych w windowsie fontów.
I to wsio.
Pozdrawiam i życzę łagodnego powrotu do rzeczywistości, po świętach.

Czarek Pawlak

global - 27 Grudzień 2010, 07:35

Chrystusika radzę maksymalnie powiększyć, skontrastować, zwektoryzować, zamienić wektory na np. żółte linie, nałożyć na bitmapę i ręcznie dłubać poprawki. Ale zapewne to wiesz. Mnóstwo rzeczy w ten sposób robiłem zawodowo.
chezare - 27 Grudzień 2010, 07:44

A już myślałem, że ktoś wymyślił sposób na te fonty :)
Oczywiście, że wiem o trasowaniu, ale trochę głupio wystartować z trasowaniem do XIX w. rysunku piórkiem, a poza tym tak samo jak ja doskonale wiesz, że poprawianie efektów trasowania, to często znacznie więcej roboty niż rysowanie, a jak bym chciał np. wyciąć taki trasowany obrazek z folii, to od razu mogę się udać do serwisu od ploterów i mam duże szanse wrócić, zanim skończy się wycinać :)
Pozdrawiam, wszystkiego ciepłego. Oczywiście oprócz piwa i wódki :)

chezare - 28 Grudzień 2010, 22:30

Cześć,
nie dawało mi spokoju, ale jak to mówią, szukajcie, a znajdziecie. Trochę się nasiedziałem ale w końcu znalazłem i to w dokumentacji VBA Corela. Aplikacja ma właściwość FontList i w tym obiekcie znajdują się nazwy wszystkich zainstalowanych w systemie fontów. Nie wiem jeszcze czy jednym poleceniem da się przepisać cały FontList do ListBox, na razie zrobiłem to w pętli (fontlist wygląda na zwykła tablicę i ma właściwość Count).
-----------------------
Private Sub UserForm_Activate() ' funkcja uruchamian w momencie wyświetlania formularza
Dim i As Integer
ListBox1.Clear ' wyczyszczenie listy na którą zostaną wpisane nazwy zainstalowanych fontów
For i = 1 To FontList.Count ' fontlist.count -> ilość zainstalowanych fontów
ListBox1.AddItem (FontList(i))
Next i
ListSort ''wywołanie funkcji, która sortuje listę
ListBox1.ListIndex = 0
End Sub
'--------------------------------------------
Private Sub ListSort() ' alfabetyczne sortowanie listy
Dim iCount As Integer
Dim i As Integer
Dim j As Integer
Dim temp As String
iCount = ListBox1.ListCount
For j = 0 To iCount - 2
For i = 0 To iCount - 2
With ListBox1
If UCase(.List(i)) > UCase(.List(i + 1)) Then
temp = .List(i + 1)
.List(i + 1) = .List(i)
.List(i) = temp
End If
End With
Next i
Next j
End Sub

Żeby informacja była kompletna, a temat zamknięty :-)


Powered by phpBB modified by Przemo © 2003 phpBB Group