КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Многострочный редактор текста в формате RTF (RichEdit)
Специфичные события OnDrawCell ‑ прорисовка очередной ячейки перед выводом ее на экран. OnGetEditText, OnSetEditText‑ возникают перед и после редактирования содержимого ячейки соответственно. Пример получения таблицы картин в заставке данного пункта: Свойства таблицы: Align=alClient, ColCount=2, RowCount=1, FixedCols=0, FixedRow=0, Options.goEditing=True, ScrollBars=sbNone. В разделе Var модуля формы Unit1 объявим переменную списка: Spisokkartin:TstringList. Далее соcтавим процедуры вывода таблицы. Procedure TForm1.FormCreate(Sender: TObject);//создание списка картин Const FileNames:Array [0..1] of String=('athena.bmp','technlgy.bmp');//файлы Var I:Integer; Begin //создание пустого списка (п.2.2.7) Spisokkartin:=TStringList.Create; With Spisokkartin Do//присв.имени списка For i:=0 To 1 Do Begin Add(FileNames[i]); //добавление имени файла Objects[i]:=TBitMap.Create; //создание пустого BMP‑объекта для картины (Objects[i] as TBitMap).LoadFromFile(FileNames[i]); //загрузка картины End;{конец цикла создания списка картин}End; //конец процедуры Procedure TForm1.Formdestroy(Sender:Tobject);//удаление списка картин Begin Spisokkartin.Free; End; //списки удаляются при удалении формы Procedure TForm1.DrawGrid1GetEditText(Sender:TObject;ACol,ARow: Integer;var Value:String);//начало редактирования текста ячейки табл. Begin Value:=Spisokkartin[2*ACol+Arow]{передача текста редактору}End; Procedure TForm1.DrawGrid1SetEditText(Sender: TObject; ACol, ARow: Integer;const Value:String);//конец редактирования текста ячейки табл. Begin Spisokkartin[2*ACol+Arow]:=Value;{сохранить отредакт.текст}End; Procedure TForm1.DrawGrid1DrawCell(Sender: TObject; Col, Row: Integer; Rect: TRect;State:TGridDrawState); прорисовка и вывод ячейки таблицы Var I:integer;Begin i:=2*row+col;//формирование индекса списка. With DrawGrid1.Canvas, Rect, Spisokkartin do Begin //присоединение имен Bottom:=Bottom‑TextHeight('с')‑2; //уменьшение высоты картинки StretchDraw(Rect,(Objects[i] as TBitmap));//вывод картинки из списка TextOut(Left,Bottom+1,Strings[i]){вывод имени файла из списка}End; End; Procedure TForm1.FormResize(Sender: TObject);//меняется размер окна Begin With DrawGrid1 do //присоединение имени таблицы Begin DefaultColWidth:=ClientRect.Right Div 2 ‑1;//новая высота ячейки DefaultRowHeight:=ClientRect.Bottom;{новая ширина ячейки}End; End; Редактор работает с расширенным текстовым форматом RTF. Для каждого абзаца создается объект класса TParaAttributes с атрибутами абзаца.
Дата добавления: 2014-12-08; Просмотров: 431; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |