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

📄 unit2.pas

📁 这是一个平时无事是编写的一个航空售票管理小系统,与大家分享, 有什么问题大家在这里留言,,大家一起讨论
💻 PAS
字号:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, ComCtrls, ExtCtrls, ToolWin, jpeg, StdCtrls, shellapi;
  const
  WM_MIDASICON    = WM_USER + 1;
  UI_INITIALIZE   = WM_MIDASICON + 1;




type
  TZongJieMian = class(TForm)
    StatusBar1: TStatusBar;
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    N8: TMenuItem;
    N9: TMenuItem;
    N10: TMenuItem;
    N11: TMenuItem;
    N12: TMenuItem;
    N13: TMenuItem;
    N14: TMenuItem;
    ToolBar1: TToolBar;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    ToolButton4: TToolButton;
    ToolButton5: TToolButton;
    ToolButton6: TToolButton;
    ToolButton7: TToolButton;
    ToolButton8: TToolButton;
    ToolButton9: TToolButton;
    ToolButton10: TToolButton;
    ToolButton11: TToolButton;
    Image1: TImage;
    N15: TMenuItem;
    N16: TMenuItem;
    N17: TMenuItem;
    N18: TMenuItem;
    Timer1: TTimer;
    PopupMenu1: TPopupMenu;
    Normal: TMenuItem;
    mini: TMenuItem;
    max: TMenuItem;
    CloseN: TMenuItem;
    N19: TMenuItem;
    N20: TMenuItem;
    Label2: TLabel;
    Timer2: TTimer;
    
    procedure N5Click(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
    procedure N6Click(Sender: TObject);
    procedure N14Click(Sender: TObject);
    procedure ToolButton4Click(Sender: TObject);
    procedure N7Click(Sender: TObject);
    procedure N9Click(Sender: TObject);
    procedure ToolButton7Click(Sender: TObject);
    procedure N16Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure N18Click(Sender: TObject);
    procedure N12Click(Sender: TObject);
    procedure N13Click(Sender: TObject);
    procedure N17Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure PopupMenu1Popup(Sender: TObject);
    procedure CloseNClick(Sender: TObject);
    procedure maxClick(Sender: TObject);
    procedure miniClick(Sender: TObject);
    procedure NormalClick(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure N20Click(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);



  private
     ///////////用来记录每隔几次循环一次////////////////
     icount:integer;

     Procedure WMSysCommand(Var message : TMessage) ; Message WM_SYSCOMMAND ;
     procedure WMMIDASIcon(var Message: TMessage); message WM_MIDASICON;




    { Private declarations }

  public

  /////窗口不动的函数
  procedure OnPosChange(var Msg:TWmWindowPosChanging);  MESSAGE wm_windowposchanging;






    { Public declarations }
  end;
  const
  /////自定义一个鼠标动作的消息
  MI_ICONEVENT=WM_USER+1;
  WM_TRAYNOTIFY=2000;
  MY_TRAY_ICON=1000;

var
  ZongJieMian: TZongJieMian;
  MyNotifyStruct: TNotifyIconData;

implementation

uses Unit1, Unit3, Unit4, Unit5, Unit6, Unit8, Unit9, Unit7, Unit11,
  Unit12;

{$R *.dfm}

procedure TZongJieMian.N5Click(Sender: TObject);
begin
QuanXian.show;
end;

procedure TZongJieMian.ToolButton1Click(Sender: TObject);
begin
TianJia.show;
end;

procedure TZongJieMian.N6Click(Sender: TObject);
begin
TianJia.show;
end;

procedure TZongJieMian.N14Click(Sender: TObject);
begin
ZongJieMian.Close;
end;

procedure TZongJieMian.ToolButton4Click(Sender: TObject);
begin
GengGaiXinXi.show;
end;

procedure TZongJieMian.N7Click(Sender: TObject);
begin
GengGaiXinXi.show;
end;

procedure TZongJieMian.N9Click(Sender: TObject);
begin
ChaXun.show;
end;

procedure TZongJieMian.ToolButton7Click(Sender: TObject);
begin
ChaXun.show;
end;

procedure TZongJieMian.N16Click(Sender: TObject);
begin
GouPiao.show;
end;

procedure TZongJieMian.FormCreate(Sender: TObject);
begin
//****这里用于显示托盘上的图标,要用到SHELLAPI函数写在USES里面
//******再定义一个CONST    MI_ICONEVENT=WM_USER+1;再VAR一下,定义一个: MyNotifyStruct: TNotifyIconData;****///
   with MyNotifyStruct do
   begin
   cbSize:=sizeof(MyNotifyStruct);
   Wnd:=Handle;
   Uid:=1;
   uFlags:=NIF_ICON or NIF_TIP OR NIF_MESSAGE;
   uCallbackMessage:=MI_ICONEVENT;
   /////程序初始化时使用的是DILPHI7自带的图标
   hIcon:=application.icon.handle;
   /////鼠标经过时显示汉字
   sztip:='航空信息管理系统';
   end;
   shell_notifyicon(nim_add,@mynotifystruct);
   showwindow(application.handle,sw_hide);


    statusbar1.panels[3].Text:=formatdatetime('hh:mm:ss',Now());
    statusbar1.panels[4].Text:='           欢迎使用,祝工作顺利!';

end;

procedure TZongJieMian.FormShow(Sender: TObject);
begin

     timer1.Enabled:=true;
     icount:=0;
     statusbar1.Panels[1].Text:=DengLu.Edit2.Text;

end;

procedure TZongJieMian.N18Click(Sender: TObject);
begin
DanXiangChaXun.show;
end;

procedure TZongJieMian.N12Click(Sender: TObject);
begin
AboutBox.show;
end;
 ////////这里用于打开CHM文件,不要忘记要在上面的USES里面加入 shellapi/////呵呵////
procedure TZongJieMian.N13Click(Sender: TObject);
begin

ShellExecute(Handle,'open',pchar(ExtractFilePath(Application.ExeName)+'航空信息管理系统.chm'),nil,nil,SW_MAXIMIZE);


   // WinExec('航空信息管理系统.chm',SW_NORMAL);
end;

procedure TZongJieMian.N17Click(Sender: TObject);
begin
TuiPiao.show;
end;


procedure TZongJieMian.Button1Click(Sender: TObject);
begin
BaoBiaoDaYin.show;

end;

procedure TZongJieMian.Button2Click(Sender: TObject);
begin
  SetWindowLong(Handle,GWL_STYLE,GetWindowLong(Handle,GWL_EXSTYLE) or (WS_CAPTION));
  Height:=ClientHeight;
  Width:=ClientWidth;

end;

procedure TZongJieMian.OnPosChange(var Msg: TWmWindowPosChanging);
begin
//Msg.WindowPos.x:=left;
//MSG.WindowPos.y:=TOP;
//MSG.Result:=0;
end;

procedure TZongJieMian.PopupMenu1Popup(Sender: TObject);

begin

end;






 ///////这里可以实现窗口像WINDOWS那样逐渐变小再变消失//////////////
procedure TZongJieMian.WMSysCommand(var Message: TMessage);
begin
    if (Message.WParam = SC_MINIMIZE) then
    begin
    ZongJieMian.windowstate := wsMinimized;
    hide;
    end
  else
     Inherited;
end;



procedure TZongJieMian.WMMIDASIcon(var Message: TMessage);
var
 pt: TPoint;
begin
  case Message.LParam of
    WM_RBUTTONUP:
    begin
      if not Visible then
      begin
        SetForegroundWindow(Handle);
        GetCursorPos(pt);
        PopupMenu.Popup(pt.x, pt.y);
      end else
        SetForegroundWindow(Handle);
    end;
    WM_LBUTTONDBLCLK:
      if Visible then
        SetForegroundWindow(Handle)
      else
        show;
  end;

end;
////////这里是用于退出程序,当退出时,图标也跟着一起退出托盘图中..............
procedure TZongJieMian.CloseNClick(Sender: TObject);
begin
 Shell_NotifyIcon(NIM_DELETE, @mynotifystruct);
 ZongJieMian.Close;
end;

procedure TZongJieMian.maxClick(Sender: TObject);
begin
ZongJieMian.Show;
ZongJieMian.WindowState:=wsMaximized;
end;

procedure TZongJieMian.miniClick(Sender: TObject);
begin
ZongJieMian.Show;
ZongJieMian.WindowState:=wsMinimized;
end;

procedure TZongJieMian.NormalClick(Sender: TObject);
begin
ZongJieMian.Repaint;
ZongJieMian.Width:=1024;
ZongJieMian.Height:=740;
ZongJieMian.Show;
ZongJieMian.WindowState:=wsNormal;
end;

procedure TZongJieMian.Timer1Timer(Sender: TObject);
begin
/////////2S定时到了,将定时器关闭////////////
timer1.Enabled:=false;
icount:=icount+1;
////每隔四次循环一次//////////////////
if icount>4 then icount:=1;

case icount of
///////////////依次变换四种状态///////////////
1:MyNotifyStruct.hIcon:=LoadIcon(hinstance,'ARROWA');
2:MyNotifyStruct.hIcon:=LoadIcon(hinstance,'ARROWB');
3:MyNotifyStruct.hIcon:=LoadIcon(hinstance,'ARROWC');
4:MyNotifyStruct.hIcon:=LoadIcon(hinstance,'ARROWD');
end;
SHELL_NOTIFYICON(NIM_MODIFY,@MYNOTIFYSTRUCT);
TIMER1.Enabled:=TRUE;
end;

procedure TZongJieMian.N20Click(Sender: TObject);
begin
BaoBiaoDaYin.Show;
end;

procedure TZongJieMian.Timer2Timer(Sender: TObject);
begin
 label2.Caption:=timetostr(now);
end;

end.



⌨️ 快捷键说明

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