Очень нужно написать текст в Нижнем индексе!!

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
CHEvalier
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 18.05.2004 (Вт) 20:09
Откуда: Piter

Очень нужно написать текст в Нижнем индексе!!

Сообщение CHEvalier » 18.05.2004 (Вт) 20:22

Ребята вообщем пишу диплом, тестовую прграмму по Химии. Нужно что бы пользователи вводили текст в текстовое поле и что-бы цифры были в нижнем индексе а букы нормальные. чем можно помочь? использовать кой-нить элемент или с фрифтом замарачиваться? помогите советом?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 19.05.2004 (Ср) 9:19

RichTextBox. Там есть.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Tarik
Агент Системы
Агент Системы
Аватара пользователя
 
Сообщения: 1222
Зарегистрирован: 03.01.2003 (Пт) 16:05
Откуда: Москва

Сообщение Tarik » 19.05.2004 (Ср) 11:26

А ещё лучше - RTF от API-Guide. Там специальная пруперть есть для этого дела. А в обычном rtf придётся с тегами возиться...
Изображение

Ever tried? Ever failed? No matter. Try again! Fail again! Fail better!

gaidar
System Debugger
System Debugger
 
Сообщения: 3152
Зарегистрирован: 23.12.2001 (Вс) 13:22

Сообщение gaidar » 19.05.2004 (Ср) 20:23

В API Guide'овой версии какая-то ошибка скользящая есть. У меня часто вылетало все, когда пытался с ним работать. ПОэтому лукчше юзать стандартный. Не будет такого страха за программу :)
The difficult I’ll do right now. The impossible will take a little while. (c) US engineers in WWII
I don't always know what I'm talking about, but I know I'm right. (c) Muhammad Ali

Tarik
Агент Системы
Агент Системы
Аватара пользователя
 
Сообщения: 1222
Зарегистрирован: 03.01.2003 (Пт) 16:05
Откуда: Москва

Сообщение Tarik » 19.05.2004 (Ср) 21:19

Даааа... Я помню, как я с ним (Api-guide'овским) мучался, когда ставил свою прогу на win95... Ну не пашет и хоть ты тресни :evil: :evil: :evil: Только через неделю ритуальных танцев и горы испорченных бубнов до меня дошло, что ему всего-навсего нужны рантаймы для VB5 :)
Изображение

Ever tried? Ever failed? No matter. Try again! Fail again! Fail better!

gaidar
System Debugger
System Debugger
 
Сообщения: 3152
Зарегистрирован: 23.12.2001 (Вс) 13:22

Сообщение gaidar » 19.05.2004 (Ср) 21:38

Это не проблема. Там какая-то ошибка - стоит вставить большой кусок текста и вылетает. Но не всегда, надо отметить :)
The difficult I’ll do right now. The impossible will take a little while. (c) US engineers in WWII
I don't always know what I'm talking about, but I know I'm right. (c) Muhammad Ali

Tarik
Агент Системы
Агент Системы
Аватара пользователя
 
Сообщения: 1222
Зарегистрирован: 03.01.2003 (Пт) 16:05
Откуда: Москва

Сообщение Tarik » 20.05.2004 (Чт) 6:02

Надо покопаться на досуге, вроде не замечал такое раньше :roll:
Изображение

Ever tried? Ever failed? No matter. Try again! Fail again! Fail better!

CHEvalier
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 18.05.2004 (Вт) 20:09
Откуда: Piter

Сообщение CHEvalier » 20.05.2004 (Чт) 22:24

to GSergИзвени где в RichTextBox подскажи какое свойство?

Tarik А что такое RTF от API-Guide?? компонет кой-то?

Tarik
Агент Системы
Агент Системы
Аватара пользователя
 
Сообщения: 1222
Зарегистрирован: 03.01.2003 (Пт) 16:05
Откуда: Москва

Сообщение Tarik » 21.05.2004 (Пт) 7:42

В том-то всё и дело, что в стандартном RichTextBox такого совйства нет. Нужно вручную подставлять теги в rtf-код. Вот тема, где я спрашивал то же самое:
http://bbs.vbstreets.ru/viewtopic.php?p=20727#20727

А RichTextBox из API-Guide - учлучшенная версия стандартного контрола. Там есть свойства, которые тебе нужны.
Изображение

Ever tried? Ever failed? No matter. Try again! Fail again! Fail better!

CHEvalier
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 18.05.2004 (Вт) 20:09
Откуда: Piter

Сообщение CHEvalier » 24.05.2004 (Пн) 1:52

to Tarik Извени не понял как теги подставляються можешь показать на примере... очень прошу...
RichTextBox из API-Guide ---- откуда этот контр. брать не подскажешь?

Tarik
Агент Системы
Агент Системы
Аватара пользователя
 
Сообщения: 1222
Зарегистрирован: 03.01.2003 (Пт) 16:05
Откуда: Москва

Сообщение Tarik » 24.05.2004 (Пн) 12:43

Для начала посмотрим на структуру RTF-файла. Создадим новый проект, кинем на форму RichTextBox (назовём rtb) и кнопку. Для кнопки напишем такой код:
Код: Выделить всё
rtb.SaveFile "c:\test.rtf" 'сохранение файла

Запустим программу, напишем в rtb "Windows has you!" и сохраним. Теперь откроем файл "c:\test.rtf" в Блокноте (чтобы были видны теги). Увидим примерно следующее:
Код: Выделить всё
{\rtf1\ansi\ansicpg1251\deff0{\fonttbl{\f0\fswiss\fcharset0 Tahoma;}{\f1\fnil\fcharset204 MS Sans Serif;}}
\viewkind4\uc1\pard\lang1033\f0\fs17 Windows has you!\lang1049\f1
\par }

Как видно из этого кода, теги только открываются, в этом отличие rtf от html. Посмотрим на тег fs. Вполне логично предположить, что он отвечает за размер шрифта (FontSize). Заменим fs17 на fs32. Сохраним.
Теперь добавим на форму ещё одну кнопку и код для неё
Код: Выделить всё
rtb.LoadFile "c:\test.rtf" 'загрузка файла

Загрузим файл. Что мы видим? Ура! Шрифт стал больше! Теперь поэксперементируем с индексами. Подставим перед текстом тег \super.
Должно получиться так:
Код: Выделить всё
{\rtf1\ansi\ansicpg1251\deff0{\fonttbl{\f0\fswiss\fcharset0 Tahoma;}{\f1\fnil\fcharset204 MS Sans Serif;}}
\viewkind4\uc1\pard\lang1033\f0\fs32\super Windows has you!\lang1049\f1
\par }

Снова сохраним файл в Блокноте и откроем в своей проге. Текст стал в верхнем индексе! Допустим, мы хотим, чтобы слово Windows было в верхнем индексе, has - в нижнем, а you - нормальным. Расставим теги:
Код: Выделить всё
{\rtf1\ansi\ansicpg1251\deff0{\fonttbl{\f0\fswiss\fcharset0 Tahoma;}{\f1\fnil\fcharset204 MS Sans Serif;}}
\viewkind4\uc1\pard\lang1033\f0\fs32\super Windows\sub has\nosupersub you!\lang1049\f1
\par }

Кстати, Alibek ошибся насчёт тега, который переводит текст в нормальный режим: не "\nosubsuper", а "\nosupersub" (MSDN рулит 8) ).
Итак, снова загрузим документ в нашей проге. Как видно, текст отображается именно так, как мы и хотели.
Теперь о том, что делать с этим кодом. Когда все теги уже расставлены по местам, этот код нужно подсунуть в rtb.textrtf. Всё!
Изображение

Ever tried? Ever failed? No matter. Try again! Fail again! Fail better!

Tarik
Агент Системы
Агент Системы
Аватара пользователя
 
Сообщения: 1222
Зарегистрирован: 03.01.2003 (Пт) 16:05
Откуда: Москва

Сообщение Tarik » 24.05.2004 (Пн) 12:46

AGRichEdit можно получить, поставив Api-guide (http://www.allapi.net). Он появится в списке компонентов под названием "API-Guide Rich Edit Control".
Изображение

Ever tried? Ever failed? No matter. Try again! Fail again! Fail better!


Вернуться в Visual Basic 1–6

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

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

    TopList