viewforms.pas

来自「三層源碼,DELPHI寫的三層源碼,三層源碼,」· PAS 代码 · 共 132 行

PAS
132
字号
unit viewforms;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  OleCtrls, SHDocVw,mshtml,ComCtrls, xpButton, ExtCtrls,ActiveX;

type
  Tviewform = class(TForm)
    xpButton4: TxpButton;
    xpButton2: TxpButton;
    xpButton1: TxpButton;
    xpButton3: TxpButton;
    Bevel1: TBevel;
    wbEditor: TWebBrowser;
    procedure FormShow(Sender: TObject);
    procedure FormCanResize(Sender: TObject; var NewWidth,
      NewHeight: Integer; var Resize: Boolean);
    procedure xpButton3Click(Sender: TObject);
    procedure xpButton4Click(Sender: TObject);
    procedure xpButton1Click(Sender: TObject);
    procedure xpButton2Click(Sender: TObject);
    procedure FormPaint(Sender: TObject);
    procedure FormResize(Sender: TObject);
  private
    procedure InitDocument;
    { Private declarations }
  public
    operid:integer;
    procedure refreshlist;
    { Public declarations }
  end;

var
  viewform: Tviewform;

implementation
uses sldata,shareunit;
{$R *.DFM}

procedure Tviewform.refreshlist;
var html:tstringlist;
    AStream: TMemoryStream;
begin
try
AStream := TMemoryStream.Create;
html:=tstringlist.create;
wbEditor.Perform(WM_SetRedraw, 0, 0);
if sl_data.getviewhtml(operid,html) then
   begin
   html.SaveToStream(AStream);
   AStream.seek(0, 0);
   (wbEditor.Document as IPersistStreamInit).
      Load(TStreamadapter.Create(AStream));
   end;
finally
wbEditor.Perform(WM_SetRedraw, 1, 0);
wbEditor.Repaint;
freeandnil(html);
freeandnil(AStream);
end;
end;

procedure Tviewform.InitDocument;
begin
wbEditor.Navigate('about:blank');
while wbEditor.ReadyState <> READYSTATE_COMPLETE do
Application.ProcessMessages;
end;

procedure Tviewform.FormShow(Sender: TObject);
begin
InitDocument;
refreshlist;
end;

procedure Tviewform.FormCanResize(Sender: TObject; var NewWidth,
  NewHeight: Integer; var Resize: Boolean);
begin
if NewHeight<370 then NewHeight:=370;
if newwidth<610 then newwidth:=610;
end;

procedure Tviewform.xpButton3Click(Sender: TObject);
begin
sl_data.querys.First;
refreshlist;
end;

procedure Tviewform.xpButton4Click(Sender: TObject);
begin
sl_data.querys.Last;
refreshlist;
end;

procedure Tviewform.xpButton1Click(Sender: TObject);
begin
sl_data.querys.Prior;
refreshlist;
end;

procedure Tviewform.xpButton2Click(Sender: TObject);
begin
sl_data.querys.next;
refreshlist;
end;

procedure Tviewform.FormPaint(Sender: TObject);
begin
sl_data.formonpaint(self);
end;

procedure Tviewform.FormResize(Sender: TObject);
begin
bevel1.Width:=width-22;
bevel1.Height:=height-60;
wbEditor.Width:=width-40;
wbEditor.height:=height-80;
end;

initialization
OleInitialize(nil);
finalization
try
OleUninitialize;
except
end;


end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?