Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ширина текста [D6, Win95/98]


Sfagnum ©   (2003-02-27 17:01:00) 

Как узнать какая ширина будет у строки
Хочу узнать влезет ли текст целиком в строку что-то по типу Canvas.TextWidth но в winapi


Sfagnum   (2003-02-28 18:39:00) [1]

Спасибо за подсказки,
С текущим вопросм разабрался следующим образом
nDC := GetWindowDC(Wnd);
GetTextExtentPoint32(nDC, PChar(Result), Length(Result), vSize);

но назрел ещё вопросик
Я вот пытался получить ширину того же окна в похожих еденицах...
но GetWindowExtEx(Wnd, tSize); не даёт толковых ответов
а окошко следующее:
я припомощи SHBrowseForFolder вызываю известный диалог с параметром BI.ulFlags := BIF_STATUSTEXT и хочу получить ширину окошка куда выводиться путь, hWnd - этого окошка я надыбал (для него текст и примеряю), а вот ширину его всё ни как не допытаться.
ClassName окошка THintWindow - насколько я понял.
GetWindowExtEx(Wnd, tSize); - выводит заначения на порядки больше возвращемого GetTextExtentPoint32
GetWindowExtEx(nDC, tSize); упорно показывает нули.

Научите не разумного


MBo   (2003-02-27 19:02:00) [2]

>куда жать в смысле на какую функцию
Так исходник Canvas.TextWidth посмотри


Sfagnum   (2003-02-27 18:00:00) [3]

Спасибо за совет
насчёт книжки тяжеловато
а второе надо ж знать куда жать в смысле на какую функцию


Игорь Шевченко   (2003-02-27 17:36:00) [4]

GetTextExtentPoint32.

Совет: если уж берешься писать что-то "на API", купи книжку Р.Саймон "Windows 2000 API энциклопедия программиста". Или F1 почаще жми.


Наверх

Титульная страница Поиск, карта сайта Написать письмо