unit ListZon; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Menus, ComCtrls, TB97, RxGrdCpt; type TListForm = class(TForm) PopupMenu1: TPopupMenu; Select1: TMenuItem; ListView1: TListView; RxGradientCaption1: TRxGradientCaption; procedure InitHeader(Sender: TObject); procedure FormCreate(Sender: TObject); procedure UpdateListView(pData: Pointer); procedure ListView1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var ListForm: TListForm; implementation {$R *.DFM} uses MainUnit, ktaza; var v: pDataPointer; NewItem: TListItem; procedure TListForm.FormCreate(Sender: TObject); begin InitHeader(Self); end; procedure TListForm.InitHeader(Sender: TObject); begin with ListView1 do begin ViewStyle := vsReport; Columns.Add; Columns[0].Caption := 'Title'; Columns.Items[0].Width := 400; Columns.Add; Columns.Items[1].Width := 200; Columns[1].Caption := 'Description'; end end; procedure TListForm.UpdateListView(pData: Pointer); var i: Integer; nformula_save: Integer; begin v := pData; ListView1.Items.Clear; nformula_save := v.formula; begin ListView1.Columns[0].Caption := 'Formula file: ' + v.szFormulaFile; for i := 0 to v.formula_total-1 do begin v.formula := i; ktaza.GetDLLDescriptions; NewItem := ListView1.Items.Add; NewItem.Caption := IntToStr(i) + ': ' + v.StrTitle; ListView1.Items[i].SubItems.Add(v.StrDescription); if nformula_save = i then begin NewItem.Selected := True; ListView1.Items[i].Checked := True; end else begin ListView1.Items[i].Checked := False; end; end end; v.formula := nformula_save; end; procedure TListForm.ListView1Click(Sender: TObject); var i: Integer; begin NewItem := ListView1.Selected; if NewItem <> nil then begin v.formula := NewItem.Index; for i := 0 to v.formula_total-1 do begin if v.formula = i then begin NewItem.Selected := True; ListView1.Items[i].Checked := True; end else begin ListView1.Items[i].Checked := False; end; end; v.jul := 0; v.jul_save := 0; v.inverse := 0; MainForm.ResetButtonClick(Self); ktaza.UpdateFractal; end; end; end.