来自带的Demo里Viewer


procedure TFormMain.SpeedButtonSearchClick(Sender: TObject); var FoundIndex: Integer; begin if EditSearch.Text <> '' then begin Cancel := False; ProgressBar.Max := Pdf.PageCount - PdfView.PageNumber; ProgressBar.Position := 0; PanelButtons.Visible := False; PanelCancel.Visible := True; try Pdf.PageNumber := PdfView.PageNumber; if SearchStart = -1 then FoundIndex := Pdf.FindFirst(EditSearch.Text, []) else FoundIndex := Pdf.FindNext; SearchStart := -1; SearchEnd := -1; while (FoundIndex = -1) and (Pdf.PageNumber < Pdf.PageCount) do begin ProgressBar.Position := ProgressBar.Position + 1; Application.ProcessMessages; if Cancel then Break; Pdf.PageNumber := Pdf.PageNumber + 1; FoundIndex := Pdf.FindFirst(EditSearch.Text, []) end; if FoundIndex <> -1 then begin PdfView.PageNumber := Pdf.PageNumber; SearchStart := FoundIndex; SearchEnd := FoundIndex + Length(EditSearch.Text) - 1; PdfView.Invalidate; // repaint end else begin PdfView.Invalidate; // repaint if not Cancel then ShowMessage(EditSearch.Text+ ' 没找到'); end; finally PanelCancel.Visible := False; PanelButtons.Visible := True; end; end end;
浙公网安备 33010602011771号