⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainfrm.pas.svn-base

📁 这个是个简单的关于出票申请的处理
💻 SVN-BASE
字号:
unit MainFrm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, TBX, TB2Item, TB2Dock, TB2Toolbar, TBXSwitcher, Menus,
  ImgList, SpTBXItem, ActnList, TBXDkPanels, TBXStatusBars, systemPH,
  ComCtrls;

type
  TOperateMode = (omNone, omDoApply, omAgentLQ, omViewTicket, omStoreTicket, omDisTicket, omStatics);
  TFormMain = class(TForm)
    TBImageList1: TTBImageList;
    TBXToolbar1: TTBXToolbar;
    TBXSubmenuItem1: TTBXSubmenuItem;
    ActionList1: TActionList;
    TBXSubmenuItem3: TTBXSubmenuItem;
    TBXSubmenuItem4: TTBXSubmenuItem;
    TBXSubmenuItem5: TTBXSubmenuItem;
    TBXItem1: TTBXItem;
    TBXItem2: TTBXItem;
    TBXSeparatorItem1: TTBXSeparatorItem;
    TBXItem3: TTBXItem;
    TBXDock1: TTBXDock;
    TBXToolbar2: TTBXToolbar;
    TBXItem4: TTBXItem;
    TBXItem5: TTBXItem;
    bxStb: TTBXStatusBar;
    PnlControl: TTBXDockablePanel;
    TBXItem6: TTBXItem;
    TBXItem7: TTBXItem;
    TBXItem9: TTBXItem;
    actDoApply: TAction;
    acInputTicket: TAction;
    acAgentLQ: TAction;
    acDisTickets: TAction;
    acSatistics: TAction;
    acExit: TAction;
    acEdtPwd: TAction;
    acReLogin: TAction;
    TBXItem8: TTBXItem;
    acViewTicket: TAction;
    TBXItem10: TTBXItem;
    TBXItem11: TTBXItem;
    TBXItem12: TTBXItem;
    TBXItem13: TTBXItem;
    TBXSeparatorItem2: TTBXSeparatorItem;
    acHelp: TAction;
    acAbout: TAction;
    TBXItem14: TTBXItem;
    TBXSeparatorItem3: TTBXSeparatorItem;
    TBXItem15: TTBXItem;
    TBXItem16: TTBXItem;
    TBXItem17: TTBXItem;
    TBXItem18: TTBXItem;
    TBXSwitcher1: TTBXSwitcher;
    TBXSeparatorItem4: TTBXSeparatorItem;
    pb: TProgressBar;
    TBXItem19: TTBXItem;
    TBXItem20: TTBXItem;
    procedure acAgentLQExecute(Sender: TObject);
    procedure acDisTicketsExecute(Sender: TObject);
    procedure acSatisticsExecute(Sender: TObject);
    procedure acExitExecute(Sender: TObject);
    procedure acEdtPwdExecute(Sender: TObject);
    procedure acReLoginExecute(Sender: TObject);
    procedure TBXItem8Click(Sender: TObject);
    procedure acViewTicketExecute(Sender: TObject);
    procedure actDoApplyExecute(Sender: TObject);
    procedure acInputTicketExecute(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure FormCreate(Sender: TObject);
    procedure StaticsOnClick(Sender: TObject);
  private
    { Private declarations }
    FCurOperateMode: TOperateMode;
    procedure UpdateApplyCaption(ACaption: string; AOperateMode: TOperateMode);
    procedure WMDoStatusChange(var Message: TMessage); message WM_STATUS_MSG;
  public
    { Public declarations }
  end;

var
  FormMain: TFormMain;

implementation
uses
  DisTicketFrm, ViewTicketsFrm, DoApplyFrm, AgentLQFrm, StoreTickets, StaticsFrm;
{$R *.dfm}
var
  FFormDisTicket: TFormDisTickets;
  FFormViewTickets: TFormViewTicket;
  FFormDoApply: TFormDoApply;
  FFormAgentLQ: TFormAgentLQ;
  FFormStoreTickets: TFormStoreTicket;
  FFormStatics: TFormStatics;

procedure TFormMain.acAgentLQExecute(Sender: TObject);
begin
  if not Assigned(FFormAgentLQ) then
  begin
    FFormAgentLQ := TFormAgentLQ.Create(PnlControl);
    with FFormAgentLQ do
    begin
      Parent := PnlControl;
      Align := alClient;
      BorderStyle := bsNone;
      Color := clAppWorkSpace;
      Visible := True;
      BringToFront;
    end;
  end
  else begin
    FFormAgentLQ.InitComponentEditInfo;
    FFormAgentLQ.BringToFront;
  end;

  UpdateApplyCaption(FFormAgentLQ.Caption, omAgentLQ);
end;

procedure TFormMain.acDisTicketsExecute(Sender: TObject);
begin
  if not Assigned(FFormDisTicket) then
  begin
    FFormDisTicket := TFormDisTickets.Create(PnlControl);
    with FFormDisTicket do
    begin
      Parent := PnlControl;
      Align := alClient;
      BorderStyle := bsNone;
      Color := clAppWorkSpace;
      Visible := True;
      BringToFront;
    end;
  end
  else
    FFormDisTicket.BringToFront;

  UpdateApplyCaption(FFormDisTicket.Caption, omDisTicket);
end;

procedure TFormMain.acSatisticsExecute(Sender: TObject);
begin
  if not Assigned(FFormStatics) then
  begin
    FFormStatics := TFormStatics.Create(PnlControl);
    with FFormStatics do
    begin
      Parent := PnlControl;
      Align := alClient;
      BorderStyle := bsNone;
      Color := clAppWorkSpace;
      Visible := True;
      BringToFront;
    end;
  end
  else
    FFormStatics.BringToFront;

  UpdateApplyCaption(FFormStatics.Caption, omStatics);
end;

procedure TFormMain.acExitExecute(Sender: TObject);
begin
 Close;
end;

procedure TFormMain.acEdtPwdExecute(Sender: TObject);
begin
//
end;

procedure TFormMain.acReLoginExecute(Sender: TObject);
begin
//
end;

procedure TFormMain.TBXItem8Click(Sender: TObject);
begin
//
end;

procedure TFormMain.acViewTicketExecute(Sender: TObject);
begin
  if not Assigned(FFormViewTickets) then
  begin
    FFormViewTickets := TFormViewTicket.Create(PnlControl);
    with FFormViewTickets do
    begin
      Parent := PnlControl;
      Align := alClient;
      BorderStyle := bsNone;
      Color := clAppWorkSpace;
      Visible := True;
      BringToFront;
    end;
  end
  else
    FFormViewTickets.BringToFront;

  UpdateApplyCaption(FFormViewTickets.Caption, omViewTicket);
end;

procedure TFormMain.actDoApplyExecute(Sender: TObject);
begin
  if not Assigned(FFormDoApply) then
  begin
    FFormDoApply := TFormDoApply.Create(PnlControl, FFormDoApply);
    with FFormDoApply do
    begin
      Parent := PnlControl;
      Align := alClient;
      BorderStyle := bsNone;
      Color := clAppWorkSpace;
      Visible := True;
      BringToFront;
    end;
    TFormDoApply.InitDoApplyData(FFormDoApply);
  end
  else
    FFormDoApply.BringToFront;

  UpdateApplyCaption(FFormDoApply.Caption, omDoApply);
end;

procedure TFormMain.acInputTicketExecute(Sender: TObject);
begin
  if not Assigned(FFormStoreTickets) then
  begin
    FFormStoreTickets := TFormStoreTicket.Create(PnlControl);
    with FFormStoreTickets do
    begin
      Parent := PnlControl;
      Align := alClient;
      BorderStyle := bsNone;
      Color := clAppWorkSpace;
      Visible := True;
      BringToFront;
    end;
  end
  else
    FFormStoreTickets.BringToFront;

  UpdateApplyCaption(FFormStoreTickets.Caption, omStoreTicket);
end;

procedure TFormMain.UpdateApplyCaption(ACaption: string; AOperateMode: TOperateMode);
begin
  Caption := SystemConst_AppExplain + ' - [' + ACaption + ']';

  if FCurOperateMode <> AOperateMode then
  begin
    FCurOperateMode := AOperateMode;
    bxStb.Panels[0].Caption := '';
  end;
end;

procedure TFormMain.FormDestroy(Sender: TObject);
begin
  if Assigned(FFormViewTickets) then FreeAndNil(FFormViewTickets);
  if Assigned(FFormStoreTickets) then FreeAndNil(FFormStoreTickets);
  if Assigned(FFormDisTicket) then FreeAndNil(FFormDisTicket);
  if Assigned(FFormDoApply) then FreeAndNil(FFormDoApply);
  if Assigned(FFormAgentLQ) then FreeAndNil(FFormAgentLQ);
end;

procedure TFormMain.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  if Application.MessageBox('确定退出系统?', '提示', MB_OKCANCEL+MB_ICONINFORMATION) = IDOK then
    CanClose := True
  else
    CanClose := False;
end;

procedure TFormMain.FormCreate(Sender: TObject);
begin
  Caption := SystemConst_AppExplain;
  FCurOperateMode := omNone;
end;

procedure TFormMain.WMDoStatusChange(var Message: TMessage);
var
  nPosition: Integer;
begin
  if Message.Msg = WM_STATUS_MSG then
  begin
    case Message.WParam of
      DEF_START_UPDATE:
      begin
        bxStb.Panels[0].Caption := '加载数据中,请稍候......';
        pb.Max := Message.LParam;
        pb.Visible := True;
        pb.Position := 0;
      end;
      DEF_PLAYING_UPDATE:
      begin
        nPosition := Message.LParam;
        if nPosition <= pb.Max then
          pb.Position := nPosition;
      end;
      DEF_FINISHED_UPDATE:
      begin
        bxStb.Panels[0].Caption := '';
        pb.Visible := False;
      end;
      DEF_RECORDCOUNT:
      begin
        bxStb.Panels[0].Caption := '总共记录数:' + IntToStr(Message.LParam);
        pb.Visible := False;
      end;
    end;
  end;
end;

procedure TFormMain.StaticsOnClick(Sender: TObject);
begin
  if not (Sender is TTBXItem)then Exit;

  acSatistics.Execute;
  SendMessage(FFormStatics.Handle, WM_STATICS_MSG, TTBXItem(Sender).Tag, 0);
end;

end.

⌨️ 快捷键说明

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