Шрифт в DirectDraw

Язык C#: программирование на C#, портирование кода C# на VB и VB на C#.

Модератор: Ramzes

SeRRg
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 343
Зарегистрирован: 25.11.2003 (Вт) 20:14
Откуда: Тюмень!

Шрифт в DirectDraw

Сообщение SeRRg » 20.04.2006 (Чт) 12:19

Здравствуйте!
Скажите пожалуйста, как надо работать со шрифтом в DirectDraw на C#. Я подключаю COM объект из ВБ (привычнее ;)
DirectX 7 for VB Type Library
у поверхности DirectDrawSurface7 нашел метод SetFont. К нему передается параметр типа IFont.... но объект класса IFont не приравнивается к this.Font, как это было в VB! - пишет о невозможности конвертации...
Собственно, вопрос: как использовать один из готовых шрифтов в программе? (скажем, какой нибудь Arial)
VB - это звучит!

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 20.04.2006 (Чт) 12:28

Создать новый объект?

SeRRg
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 343
Зарегистрирован: 25.11.2003 (Вт) 20:14
Откуда: Тюмень!

Сообщение SeRRg » 20.04.2006 (Чт) 13:12

Ramzes писал(а):Создать новый объект?

2Ramzes
... Создать новый объект чего? Какого класса?
Объект класса IFont не создается - пишет что он не может создать объект абстрактного класса или интерфейса
VB - это звучит!

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 20.04.2006 (Чт) 14:13

можно так попробовать (не уверен)
Sub f()
Dim f As Font
Dim FI As IFont
f = New Font(Me.Font, FontStyle.Bold)
FI = CType(f, Microsoft.Office.Interop.Excel.IFont)
End Sub

SeRRg
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 343
Зарегистрирован: 25.11.2003 (Вт) 20:14
Откуда: Тюмень!

Сообщение SeRRg » 20.04.2006 (Чт) 17:04

Ramzes - Спасибо!
Твой ответ натолкнул меня на мысль - и я додумался!
Если кому будет интересно потом (в поиске я этого кстати не нашел),то я реализовал вот так:
1) Подключил stdole (ихмо по другому никак), затем
stdole.IFont ggg=new stdole.StdFontClass();
2) Установка параметров так: (для примера)
ggg.Size=72;
ggg.Name="Times New Roman";
3) А потом самое страшное
ddd.ddsBack.SetFont((DxVBLib.IFont)ggg);

Но этот метод требует подключения stdole
Если есть знающие люди - можно ли решить эту проблему не подключая его? Средствами самой DxVBLib?
VB - это звучит!


Вернуться в C#

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

    TopList