Вверх ↑
Этот топик читают: Гость
Ответов: 48
Рейтинг: -4
#1: 2012-11-24 18:38:34 ЛС | профиль | цитата
Нужно узнать, какой в данный момент шрифт (и его параметры, если можно) стоит в редакторе текста.
Что для этого нужно сделать? Скиньте небольшую схему в виде примера или скажите про какой-нибудь компонент.

P.S. Мне это надо для того, чтоб программа запомнинала шрифт поля (при его смене пользователем) в текстовом файле и при последующих запусках врубала последний активный шрифт. Я хотел это осуществить компонентом "Font", который я использую как диалоговое окно смены шрифта, но при попытке взять данные о изменённом в поле шрифте из его потока, ничего не происходит (он выдаёт пустые данные).
Помогите как-нибудь, буду благодарен.
карма: 1

0
Разработчик
Ответов: 26324
Рейтинг: 2147
#2: 2012-11-24 18:42:57 ЛС | профиль | цитата
Galaregmb писал(а):
Нужно узнать, какой в данный момент шрифт (и его параметры, если можно) стоит в редакторе текста


FontManager
карма: 22

0
Ответов: 48
Рейтинг: -4
#3: 2012-11-24 19:06:31 ЛС | профиль | цитата
nesco,
Хм... Спасибо, сейчас попробую его.
------------ Дoбавленo в 19.02:
nesco,
Не получилось... Вот так делаю, посмотрите:

#pas
Add(MainForm,2953706,63,49)
{
Caption="Тест"
Position=1
}
Add(Font,4716145,161,112)
{
Font=[Tahoma,8,0,0,1]
FontDialog=0
link(onFont,1308872:doEvent1,[])
}
Add(FontManager,508352,259,119)
{
Font=[Tahoma,8,0,0,1]
ControlManager="listbox"
}
Add(Hub,1308872,210,112)
{
OutCount=3
link(onEvent1,3577543:doFont,[(308,118)(308,146)])
link(onEvent2,508352:doSetFont,[])
link(onEvent3,5338491:doData,[(236,132)(236,184)(191,184)(191,237)])
}
Add(Ini,4077652,308,217)
{
FileName="Settings.ini"
Section="FONT"
Key="FontSize"
Type=1
link(Value,508352:FontSize,[(335,184)(265,184)])
}
Add(Ini,1551232,308,175)
{
FileName="Settings.ini"
Section="FONT"
Key="FontName"
Type=1
link(Value,508352:FontName,[(335,163)(279,163)])
}
Add(Ini,14280124,308,259)
{
FileName="Settings.ini"
Section="FONT"
Key="FontColor"
Type=1
link(Value,508352:FontColor,[(335,205)(272,205)])
}
Add(Ini,8012384,308,301)
{
FileName="Settings.ini"
Section="FONT"
Key="FontStyle"
Type=1
link(Value,508352:FontStyle,[(335,226)(286,226)])
}
Add(Hub,393431,259,231)
{
OutCount=4
link(onEvent1,1551232:doWrite,[(291,237)(291,188)])
link(onEvent2,4077652:doWrite,[(291,244)(291,230)])
link(onEvent3,14280124:doWrite,[(291,251)(291,272)])
link(onEvent4,8012384:doWrite,[(291,258)(291,314)])
}
Add(DoData,5338491,203,231)
{
link(onEventData,393431:doEvent1,[])
}
Add(Memo,3577543,392,98)
{
Width=384
Height=265
Align=5
Font=[Tahoma,8,0,0,1]
Point(doFont)
}
Add(Button,5880404,112,112)
{
Left=145
Top=5
Width=75
Height=25
Caption="123"
link(onClick,4716145:doFont,[])
}
------------ Дoбавленo в 19.06:
Или я не туда ткнул. Возможно, в этот компонент (FontManager) надо вставлять поток из поля. Сейчас гляну...
карма: 1

0
Ответов: 1536
Рейтинг: 176
#4: 2012-11-24 19:32:18 ЛС | профиль | цитата
Galaregmb, необходимо в менеджере указывать Name элемента Memo с которым работаешь code_29608.txt
карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
файлы: 1code_29608.txt [1.5KB] [122]
Ответов: 16884
Рейтинг: 1239
#5: 2012-11-24 19:37:23 ЛС | профиль | цитата
Galaregmb,
Там, куда тебя послал nesco, и пример есть.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 48
Рейтинг: -4
#6: 2012-11-24 19:41:34 ЛС | профиль | цитата
ser_davkin,
Указал имя в тестовом коде - и всё заработало.
Но в моей программе не робит. Наверное потому, что у меня запись кода идёт в другом окне.

Tad,
Слушай, не пиши ничего в моих темах. Ты ни разу не помог, только флудишь всегда. Лишь бы написать.
карма: 1

-1
Голосовали:ser_davkin
Ответов: 1536
Рейтинг: 176
#7: 2012-11-24 19:44:59 ЛС | профиль | цитата
Galaregmb, Менеджеры Изучай внимательно!
Galaregmb писал(а):
Tad,
Слушай, не пиши ничего в моих темах.
Немецкая педантичность ни к чему. Ребята принуждают думать своими мозгами и они правы!
карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
Ответов: 48
Рейтинг: -4
#8: 2012-11-24 19:52:31 ЛС | профиль | цитата
ser_davkin,
Что там изучить можно? Ни к чему это писать ответы ни о чём, как некоторые любят.
карма: 1

-2
Голосовали:Ex_, ser_davkin
Разработчик
Ответов: 26324
Рейтинг: 2147
#9: 2012-11-24 19:56:25 ЛС | профиль | цитата
Galaregmb писал(а):
только флудишь всегда. Лишь бы написать

А вот это зря наезд -- в справке действительно есть пример, как читать шрифт.
------------ Дoбавленo в 19.56:
Galaregmb писал(а):
Что там изучить можно?

Что за наезды такие Народ вполне целенаправленно дает направление, куда копать. У нас на форуме не приветствуются такие наезды. Таким поведением можно отбить охоту хоть как-то помочь
карма: 22

0
Ответов: 48
Рейтинг: -4
#10: 2012-11-24 20:00:10 ЛС | профиль | цитата
nesco,
Если отвечать, то более-менее подробно, как и писать вопросы. А ответы типа "там пример есть" информации в себе не несут. Я видел этот пример.

Разобрался уже, хоть тебе спасибо за элемент. Жалко, что он работает только со списками, которые находятся на одном с ним окне.
карма: 1

0
Разработчик
Ответов: 26324
Рейтинг: 2147
#11: 2012-11-24 20:02:28 ЛС | профиль | цитата
Galaregmb писал(а):
Жалко, что он работает только со списками, которые находятся на одном с ним окне

Не совсем на одном, поддерживается еще возможность снизу вверх, те из контейнера можно получить доступ к менеджеру, а вот от обратного, мы коллегиально отказались. Увы. Да и работает он не только со списками, а с любым интерфейсным элементом
карма: 22

0
Ответов: 48
Рейтинг: -4
#12: 2012-11-24 20:04:57 ЛС | профиль | цитата
nesco,
Ой, панель, а не окно. Разместил код на панели, на которой меняется шрифт и т.д., не сработало. Перенёс на главную, и всё нормально заработало.
карма: 1

0
Разработчик
Ответов: 26324
Рейтинг: 2147
#13: 2012-11-24 20:07:17 ЛС | профиль | цитата
Galaregmb писал(а):
А ответы типа "там пример есть" информации в себе не несут. Я видел этот пример.

Пардонсе, а для кого эти примеры тогда пишуться
------------ Дoбавленo в 20.07:
Galaregmb писал(а):
Перенёс на главную, и всё нормально заработало.

Все, что находится на главном поле, доступно всем наследникам. Так работают все менеджеры, но FontManeger не совсем менеджер, он работает от обратного, для него нужен верхний родитель, те интерфейсный элемент. Те этот элемент надо располагать либо ниже по уровню, либо там же, где и интерфейсный элемент, и FontManeger не может быть общим, как другие менеджеры
карма: 22

0
Ответов: 1536
Рейтинг: 176
#14: 2012-11-24 20:08:31 ЛС | профиль | цитата
[flood]
Galaregmb писал(а):
А ответы типа "там пример есть" информации в себе не несут
Другими словами, прожуйте и положите мне в рот, иначе мой желудок (мозг) не всосет. [/flood]
карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
Ответов: 16884
Рейтинг: 1239
#15: 2012-11-24 20:37:46 ЛС | профиль | цитата
Galaregmb писал(а):
Tad,
Слушай, не пиши ничего в моих темах. Ты ни разу не помог, только флудишь всегда. Лишь бы написать.
Могу и не писáть, а просто забанить тебя на месяц-другой, чтобы было у тебя время почитать справку, привыкнуть нажимать F1 на выделенном и не выделенном элементе, посмотреть примеры.
Извини, но не люблю я пользователей из разряда КАК?альщиков.

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
1
Голосовали:Ex_
Сообщение
...
Прикрепленные файлы
(файлы не залиты)