Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2008, 17:12   #1
user_jasser
я не ~
Пользователь
 
Аватар для user_jasser
 
Регистрация: 19.09.2008
Сообщений: 58
По умолчанию длина и ширина символа

вот нахожу положение каретки в чужем едит... проблема в том что полученное значение в пикселях, а не (грубо говоря в координатах символов) .Мне надо находить слово расположенное перед кареткой. как это зделать? Или как найти размеры символа?
user_jasser вне форума Ответить с цитированием
Старый 07.12.2008, 20:28   #2
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

ты находишь положение каретки? в чём выражено положение? в порядковом номере символа за коротым каретка?
rpy3uH вне форума Ответить с цитированием
Старый 08.12.2008, 00:15   #3
user_jasser
я не ~
Пользователь
 
Аватар для user_jasser
 
Регистрация: 19.09.2008
Сообщений: 58
По умолчанию

Цитата:
ты находишь положение каретки?
Да.. через GetCaretPos
Цитата:
в чём выражено положение?
в пикселях.. яхз..
Цитата:
в порядковом номере символа за коротым каретка?
я понял что полученое значение каретки нужно делить на длину и ширину символа чтоб получить строку по ее номеру. Тут вот у меня проблема с определением параметров символа..

Назрел еще вопрос:

из тогоже едита получаю текст через WM_GETTEXT. Все вроде хороше работает пока я не включаю в едит подсветку текста и все дела.. "WM_GETTEXT" перестает правельно работать и возвращает типо этого "??????????" ... Как это исправить.?
user_jasser вне форума Ответить с цитированием
Старый 08.12.2008, 10:41   #4
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

Цитата:
Сообщение от user_jasser Посмотреть сообщение
Да.. через GetCaretPos
сразу сказать надо было. ну да, точно тебе надо получить весь текст и получить ширину каждого символа. После всего этого вычислить положение каретки. Функция GetCharWidth32 получает ширину символа. в MSDN написано какие ещё есть сопутствующие функции, также есть пример использования. Если ты прогишь в Delphi, то в Canvas есть методы TextWidth и TextHeight и не надо парится с Win API.

Цитата:
Сообщение от user_jasser Посмотреть сообщение
из тогоже едита получаю текст через WM_GETTEXT. Все вроде хороше работает пока я не включаю в едит подсветку текста и все дела.. "WM_GETTEXT" перестает правельно работать и возвращает типо этого "??????????" ... Как это исправить.?
ты случайно не юникод используешь? поиграйся с функциями SendMessageA и SendMessageW

Последний раз редактировалось rpy3uH; 08.12.2008 в 10:43.
rpy3uH вне форума Ответить с цитированием
Старый 08.12.2008, 13:31   #5
user_jasser
я не ~
Пользователь
 
Аватар для user_jasser
 
Регистрация: 19.09.2008
Сообщений: 58
По умолчанию

rpy3uH
Я тут тоже накопал такой способ там вроде есть еще и вся сетка едита.

Код:
          FindDC:= GetDC(HEdit);
          SelectObject(FindDC,
          GetStockObject(SYSTEM_FIXED_FONT));
          GetTextMetrics(FindDC, @tm);
          ReleaseDC(HEdit, FindDC);
          Width:= tm.tmAveCharWidth;
          Height:= tm.tmHeight;   ......
Цитата:
ты случайно не юникод используешь? поиграйся с функциями SendMessageA и SendMessageW
Очень благодарен за подсказку буду править.

Последний раз редактировалось user_jasser; 08.12.2008 в 13:34.
user_jasser вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DBGrid ширина колонки Pinya БД в Delphi 7 07.08.2008 09:22
Длина слова IGoDoVaN Общие вопросы Delphi 14 12.06.2008 08:04
Динамическая ширина столбцов Nemon Общие вопросы Delphi 7 12.09.2007 13:15
Ширина столбцов в DBGrid Elena БД в Delphi 1 27.04.2007 15:34
Ширина выпадающего списка Python Microsoft Office Excel 8 11.03.2007 06:31