Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> RichEditCtrl, скроллинг на последнюю строку 
:(
    Опции темы
DENNN
Дата 22.4.2003, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 1
Всего: 43



Вроде и я начинаю соображать. С твоей помощью Step smile.gif
PM ICQ   Вверх
Step
Дата 22.4.2003, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



я б тебе полный код дал да только у меня машина с визуалом в другом кабинете и от сети отсоедина, дискетами не пользуемся а по памяти писать в лом


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
DENNN
Дата 22.4.2003, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 1
Всего: 43



Ты как стоматолог объясни простую вещь:
CRichEditCtrl на вызов GetFont() возвращает NULL. И птицу обломинго.

А практические (читай настоящие) знания я так же как ты получал smile.gif
Только через голову smile.gif smile.gif smile.gif
PM ICQ   Вверх
Step
Дата 22.4.2003, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



а ты не вызывай из сричедитконтр, ты в класе диалога вызывай эту функцию, и получиш то что нужно, а в ричедит ты еще фонта не создовал он там унаследовался от диалога поэтому и нул


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Step
Дата 22.4.2003, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



СFont * f=GetFont(); у меня возращает не нул


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Step
Дата 22.4.2003, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



если захочеш изменять фонт не забывай выбирать объект, после выбора фонта, Гетфонт возвращает выбраный объект на сколько я понимаю


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
DENNN
Дата 22.4.2003, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 1
Всего: 43



Код
CRect rc;m_logs.GetWindowRect(&rc);//m_logs объявлен CRichEditCtrl
LOGFONT fnt;
GetFont()->GetLogFont(&fnt);
lines_in_log=rc.Height()/(fnt.lfHeight*m_logs.GetDC()->GetDeviceCaps(LOGPIXELSY));

Высота окна в пикселах 91, а m_logs.GetDC()->GetDeviceCaps(LOGPIXELSY) дает 96

Я же говорю, что сегодня не соображаю. Чему равна высота символа в пикселах?
PM ICQ   Вверх
Step
Дата 23.4.2003, 08:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



зачем ты умнажает у меня высота сивола получается -11, делишь высоту элемента на модуль высоты символа зачем ты сюда еще уножения на количество пикселей на дюйм делаеш - это нужно использовать только при эргономики


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
DENNN
Дата 23.4.2003, 10:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 1
Всего: 43



Цитата
ачем ты умнажает у меня высота сивола получается -11

У меня тоже, только в мсдн написано, что GetDeviceCaps(LOGPIXELSY) возвращает кол-во пикселов по-высоте на один логический инч, а fnt.lfHeight указывает высоту шрифта в логических единицах.
PM ICQ   Вверх
Step
Дата 23.4.2003, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



врядли в логических


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Step
Дата 23.4.2003, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



CFont * g=GetFont();
LOGFONT y;
g->GetLogFont(&y);
int a=m_qw.GetLineCount();
CRect p;
m_qw.GetRect(&p);
a=(int)((p.bottom-p.top)/(-MulDiv(y.lfHeight,GetDeviceCaps(m_qw.GetDC()->m_hDC, LOGPIXELSY), 72)));




в а получаеш количество строк в элементе управления, получаеш только количесво полных строк т.е. последняя если отображается не полностью то не считается


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
DENNN
Дата 23.4.2003, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 1
Всего: 43



Спасибо Step.
-MulDiv(fnt.lfHeight,m_logs.GetDC()->GetDeviceCaps(LOGPIXELSY),72) - все получилось!
PM ICQ   Вверх
Step
Дата 23.4.2003, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



DENNN там в мсдне была маленькая дописочка по этому поводу


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0755 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.