![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
DrawText в OnDrawColumnCell [D5, Volga]
Oleg Barsky © (2003-10-13 14:50:00)
Какой в сабже там синтаксис?
Пробую:
DrawText(Handle, PChar(s),-1,R,DT_Right or DT_SINGLELINE);
Тоесть хочу вставить s:string.
Ничего не получается. Строка нагло украдена из другого обработчика.
Помогите излечиться!!!
MsGuns (2003-10-13 15:47:00) [1]
1.Допустим, вместо содержимого поля MyFld НД, отображаемого в гриде, надо показывать поле AnotherFld из другой таблицы.
В SQL отображаемого НД добавляешь вывод AnotherFld и условие Where <Условие>
2.В событии OnGetText поля MyFld шлепаешь что-то вроде этого:
Text := FieldByName("AnotherFld").AsString;
и в гриде отображается вместо "родного" поля то, что надо
Если не устраивает по простецки, то в событии грида рисуй TextOut, предварительно создав пустой обработчик OnGetText для того, чтобы не допустить прорисовку родного поля. Но там трабла: как обратиться к соотв.записи другого НД, которая, ИМХО, решается куда хитрее и требует значительно бОльших ресурсов проц.времени.
Oleg Barsky (2003-10-13 15:43:00) [2]
Весь гемор был из за того, что забыл строку
with DbGrid1.Canvas do
Ну учусь я еще...
Oleg Barsky (2003-10-13 15:39:00) [3]
Понимаю, вчера выходной.
Спасибо.
Vlad (2003-10-13 15:33:00) [4]
Извини, с телепатией сегодня у меня туговато... Выпил вчера лишнего :(
Oleg Barsky (2003-10-13 15:28:00) [5]
Ты пальцем покажи.
Что написать что бы заработало?
Vlad (2003-10-13 15:23:00) [6]
Самый тупой способ - TField.OnGetText
Самый нормальный способ - сделать в выборке Join с другой табличкой и выводить вместо инн поле из другой таблички
Oleg Barsky (2003-10-13 15:18:00) [7]
В том то и дело, что ошибки нету. Просто ничего не происходит.
Объясню чего хочу добиться.
Рисуестя табличка с ИНН"ами. Мне нужно вместо них подставить имена из другой таблички. Имя отловил в s:string. Теперь его нужно просто подставить.
КАК? =(
Vlad (2003-10-13 15:13:00) [8]
>Oleg Barsky (13.10.03 15:09) [4]
Нет, я не Парфенов. И не Шендерович.
Чего не получается-то ? Какая ошибка ?
Oleg Barsky (2003-10-13 15:09:00) [9]
2Vlad: А ты случайно не Парфенов?
R:=Rect;
Oleg Barsky (2003-10-13 15:03:00) [10]
Совсем не завелось.
Распиши, плз, все обозначения.
Vlad (2003-10-13 15:03:00) [11]
Кнопку F1 трудно нажать ?
Какой хендл ты туда передаешь ? Нужен хендл Canvas"a
Параметр, названный тобой R как описан ? д.б. TRect, желательно взять Rect из параметра процедуры.
ZrenBy (2003-10-13 15:01:00) [12]
Windows.DrawText(Grid.Canvas.Handle,LPSTR(S),-1,Rect,DT_VCENTER or DT_SINGLELINE or dtStyle);