Форум: "Основная";
Текущий архив: 2003.09.15;
Скачать: [xml.tar.bz2];
ВнизШирина стринга Найти похожие ветки
← →
KSergey (2003-09-02 13:51) [40][39] Игорь Шевченко © (02.09.03 13:30)
А я наверное, что-то пропустил насчет канвы ListBox"а и другого результата ?
Никогда не поздно подняться вверх по страничке ;) Впрочем, как раз вот в данном случае что-то странное. По идее результат должнен быть одинаков.
Еще одно замечание, если позволите.
Игорь Шевченко © (01.09.03 17:24)
Неа. Определяется ширина строки при условии рисования даннм шрифтом где угодно.
Вам должно быть стыдно такое писать. А как же быть вот с этим:
DC := GetDC (HWND_DESKTOP);
? ;)
← →
nikkie (2003-09-02 13:53) [41]> А я наверное, что-то пропустил насчет канвы ListBox"а и
> другого результата ?
смотри Alibaba © (01.09.03 18:00)
← →
nikkie (2003-09-02 14:23) [42]> Впрочем, как раз вот в данном случае что-то странное. По
> идее результат должнен быть одинаков.
Согласен, странно. Только что проверил - у меня результат один и тот же.
← →
PVOzerski (2003-09-02 15:03) [43]Из моих запасов:
function GetSize(DC:tHandle;s:string):tSize;
var
size:tSize;
begin
if s="" then
s:="|";
GetTextExtentPoint(DC,pChar(s),length(s),Size);
GetTextExtentPoint32(DC,pChar(s),length(s),Result);
if Result.cx<Size.cx then
Result.cx:=Size.cx;
if Result.cy<Size.cy then
Result.cy:=Size.cy;
end;
Правда, у меня стояла задача определить оптимальную длину Edit-Box"а. Вызов обеих функций - и рекомендуемой GetTextExtentPoint32, и "устаревшей" GetTextExtentPoint - объясняется тем, что первая у меня ошибалась (занижала ширину) под NT4 при шрифте italic not true-type, а вторая работала в этой ситуации более корректно.
← →
KSergey (2003-09-02 15:12) [44][43] PVOzerski © (02.09.03 15:03)
Вызов обеих функций - и рекомендуемой GetTextExtentPoint32, и "устаревшей" GetTextExtentPoint - объясняется тем, что первая у меня ошибалась (занижала ширину) под NT4 при шрифте italic not true-type, а вторая работала в этой ситуации более корректно.
Для общего развития: а вторая - нгикогда не занижала? Так может ее и только использовать? Или занижала то одна, то другая?
PS
К стати, про шрифты в начертании Italic верно подмечено: TextWidth пожалуй не всегда верно определяет их ширину. Это видно даже в редакторе IDE дельфи: часто последние буквы в строчках, для которых включен наклонный шрифт обрезаются. С TLabel при AutoSize та же ерунда. (D5) Впрочем, здесь видимо ошибка в DrawText с DT_CALCRECT - именно ею определяется размер лейбла.
← →
PVOzerski (2003-09-02 15:50) [45]>Для общего развития: а вторая - нгикогда не занижала? Так может ее и только использовать?
Врала тоже, кажется, наоборот, с TrueType, хотя деталей уже не помню. Помню, правда, что соблазн использовать только GetTextExtentPoint у меня тоже был, но от этой идеи пришлось отказаться.
← →
Игорь Шевченко (2003-09-02 15:52) [46]KSergey © (02.09.03 13:51)
Мне, как ни странно, не стыдно. Потому как экранный контекст устройства в большинстве случаев совместим с контекстами устройств окон по Mapping Mode, CharacterExtra и т.д. :)
Страницы: 1 2 вся ветка
Форум: "Основная";
Текущий архив: 2003.09.15;
Скачать: [xml.tar.bz2];
Память: 0.53 MB
Время: 0.012 c