Текущий архив: 2004.03.28;
Скачать: CL | DM;
Вниз
lb_SetTabStops Найти похожие ветки
← →
Igor_thief © (2004-02-21 17:26) [0]Люди, расскажите хоть как должен выглядеть ЛистБох, в котором пременяется эта штука, а то, короче прочитал в одной книге об этом, набрал исходник ихнего компонента, а визуально разницы не заметил. Может я не правильно понял назначение? При помощи этой штуки можно сдвигать некоторые элементы листбоха на определенную длинну, то есть вставлять перед ними табуляцию?
← →
Игорь Шевченко © (2004-02-21 19:08) [1]
> При помощи этой штуки можно сдвигать некоторые элементы
> листбоха на определенную длинну,
На определенную позицию. И в тексте строки ListBox"а должны быть символы табуляции. При этом, каждый символ табуляции устанавливает следующий за ним текст на соответствующую позицию (в пикселях) в ListBox"е.
Например,
const
ListTabStops : array [1..5] of Integer = (120, 180, 240, 330, 410);
И текст
const
Text = "aaa"#9"bbb"#9"cccc"
В этом случае символы aaa будут находиться в начале строки ListBox, символы bbb на расстоянии 120 пикселей от начала строки, символы cccc на расстоянии 180 пикселей.
← →
jack128 © (2004-02-21 19:53) [2]
> следующий за ним текст на соответствующую позицию (в пикселях)
>
разве?
If cTabs parameter is 0 and lpnTabs is NULL, the default tab stop is two dialog box units. If cTabs is 1, the list box will have tab stops separated by the distance specified by lpnTabs.
A dialog box unit is a horizontal or vertical distance. One horizontal dialog box unit is equal to 0.25 of the current dialog box base-width unit. dialog box base-width unit - это среднея ширина символа в шрифте. Помоему так.
← →
Игорь Шевченко © (2004-02-21 20:03) [3]jack128 © (21.02.04 19:53)
Да, совершенно точно, я ошибся с пикселями, там DialogBox Units.
Но их несложно преобразовать туда и обратно, воспользовавшись функциями Тейксейры и Пачеко:
function DialogUnitsToPixelsX (DlgUnits : Word) : Word;
begin
Result := (DlgUnits * LoWord(GetDialogBaseUnits)) div 4;
end;
function PixelsToDialogUnitsX (Pxiels : Word) : Word;
begin
Result := (Pixels * 4) div LoWord(GetDialogBaseUnits);
end;
← →
jack128 © (2004-02-21 20:05) [4]
> Igor_thief © (21.02.04 17:26)
да и еще поищи на www.delphikingdom.ru статью "Этот удивительный listbox" или что то типа этого. Там применение lb_SetTabStops расписано на пальцах..
← →
Igor_thief © (2004-02-25 14:13) [5]Всем спасибо за ответы!
Игорь Шевченко © (21.02.04 19:08) [1]
Чего-то я не додул, что надо в текст элементов добавить табуляцию. ВОт приеду домой и сразу проверю. Спасибо!
← →
Igor_thief © (2004-02-29 14:02) [6]Ну короче попробовал я встасить в текст #9. Работает. Но криво работает. То текста совсем не видно (хотя горизонтальная прокрутка появляется). Все зависит от чисел которые указываются в масиве. Может у кого есть такой компонент, то скинте на мыло (igor_thief@rin.ru с темой component). Уж очень хочется разобраться с ним. Посмотреть как он должен правильно работать.
Страницы: 1 вся ветка
Текущий архив: 2004.03.28;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.026 c