亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? msnpopup.pas

?? 這是一個三層的進銷存系統
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
Unit MSNPopUp;

Interface

Uses
  Windows, Classes, Graphics, StdCtrls, ExtCtrls, Controls, Forms,
  ShellApi, Dialogs, SysUtils, Messages;

Const
  WS_EX_NOACTIVATE = $8000000;

Type
  TOrientation = (mbHorizontal, mbVertical);
  TScrollSpeed = 1..50;

  TMSNPopupOption = (msnSystemFont, msnCascadePopups, msnAllowScroll);

  // Anomy
  TMSNImageDrawMethod = (dmActualSize, dmTile, dmFit);

  TMSNPopupOptions = Set Of TMSNPopupOption;

  TMSNPopUp = Class(TComponent)
  private
    { Private declarations }
    FText: String;
    FTitle: String;
    FWidth: Integer;
    FHeight: Integer;
    FTimeOut: Integer;
    FScrollSpeed: TScrollSpeed;
    FColor1: TColor;
    FColor2: TColor;
    FGradientOrientation: TOrientation;
    FFont: TFont;
    FHoverFont: TFont;
    FTitleFont: TFont;
    FCursor: TCursor;
    FOptions: TMSNPopupOptions;

    // Anomy
    FTextAlignment: TAlignment;
    FBackgroundDrawMethod: TMSNImageDrawMethod;

    //Jelmer
    FPopupMarge, FPopupStartX, FPopupStartY: Integer;
    PopupCount, NextPopupPos: Integer;
    LastBorder: Integer;
    FDefaultMonitor: TDefaultMonitor;
    FBackground: TBitmap;

    FOnClick: TNotifyEvent;

    Function GetEdge: Integer;
    Function GetCaptionFont: TFont;

    // Jiang Hong
    Procedure SetFont(Value: TFont);
    Procedure SetHoverFont(Value: TFont);
    Procedure SetTitleFont(Value: TFont);

    //Jelmer
    Procedure SetBackground(Value: TBitmap);
  public
    { Public declarations }
    Function ShowPopUp: Boolean;
    Procedure ClosePopUps;
  published
    { Published declarations }
    Property Text: String read FText write FText;
    Property TimeOut: Integer read FTimeOut write FTimeOut default 10;
    Property Width: Integer read FWidth write FWidth default 175;
    Property Height: Integer read FHeight write FHeight default 175;
    Property GradientColor1: TColor read FColor1 write FColor1;
    Property GradientColor2: TColor read FColor2 write FColor2;
    Property GradientOrientation: TOrientation read FGradientOrientation write FGradientOrientation default mbVertical;
    Property ScrollSpeed: TScrollSpeed read FScrollSpeed write FScrollSpeed default 5;
    Property Font: TFont read FFont write SetFont;
    Property HoverFont: TFont read FHoverFont write SetHoverFont; //Jiang Hong
    Property Title: String read FTitle write FTitle;              //Jiang Hong
    Property TitleFont: TFont read FTitleFont write SetTitleFont; //Jiang Hong
    Property Options: TMSNPopupOptions read FOptions write FOptions;
    // Anomy
    Property TextAlignment: TAlignment read FTextAlignment write FTextAlignment default taLeftJustify;
    Property BackgroundDrawMethod: TMSNImageDrawMethod read FBackgroundDrawMethod write FBackgroundDrawMethod default dmActualSize;
    //Jelmer
    Property TextCursor: TCursor read FCursor write FCursor;
    Property PopupMarge: Integer read FPopupMarge write FPopupMarge;
    Property PopupStartX: Integer read FPopupStartX write FPopupStartX;
    Property PopupStartY: Integer read FPopupStartY write FPopupStartY;
    Property DefaultMonitor: TDefaultMonitor read FDefaultMonitor write FDefaultMonitor;
    Property BackgroundImage: TBitmap read FBackground write SetBackground;

    Property OnClick: TNotifyEvent read FOnClick write FOnClick;

    Constructor Create(AOwner: TComponent); override;
    Destructor Destroy; override;
  End;

Type
  TfrmMSNPopUp = Class(TCustomForm)
    pnlBorder: TPanel;
    lblText: TLabel;
    imgGradient: TImage;

    tmrExit: TTimer;
    tmrScroll: TTimer;
    // add by Ahmed Hamed 20-3-2002
    tmrScrollDown: TTimer;
    //
    lblTitle: TLabel;
    // Added by Anomy

    Procedure tmrExitTimer(Sender: TObject);
    // add by Ahmed Hamed 20-3-2002
    Procedure tmrscrollDownTimer(Sender: TObject);
    //
    Procedure lblTextMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    Procedure lblTitleMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    Procedure tmrScrollTimer(Sender: TObject);
    Procedure imgGradientMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
  protected
    Procedure CreateParams(Var Params: TCreateParams); override;
    Procedure DoClose(Var Action: TCloseAction); override;
  private
    //Jelmer
    PopupPos: Integer;
    ParentMSNPopup: TMSNPopup;
    CanClose: Boolean;

    // Anomy
    BGDrawMethod: TMSNImageDrawMethod;

    Function CalcColorIndex(StartColor, EndColor: TColor; Steps, ColorIndex: Integer): TColor;
    Procedure PositionText;
    Function IsWinXP: Boolean;
  public
    { Public declarations }
    Text, Title: String;
    TimeOut: Integer;
    sWidth: Integer;
    sHeight: Integer;
    bScroll, bHyperlink: Boolean;
    Color1, Color2: TColor;
    Orientation: TOrientation;
    ScrollSpeed: TScrollSpeed;
    Font, HoverFont, TitleFont: TFont;
    StoredBorder: Integer;
    Cursor: TCursor;

    Constructor CreateNew(AOwner: TComponent; Dummy: Integer = 0); override;
    Procedure PopUp;
  End;

Procedure Register;
Function IsNT4: Boolean;

Implementation

Function IsNT4: Boolean;
Var
  VersionInfo: _OSVERSIONINFOA;
Begin
  Result := False;

  VersionInfo.dwOSVersionInfoSize := sizeof(VersionInfo);
  GetVersionEx(VersionInfo);

  If VersionInfo.dwPlatformId = VER_PLATFORM_WIN32_NT Then
   Begin
    If (VersionInfo.dwMajorVersion <= 4) and ((VersionInfo.dwMinorVersion = 0) or
      (VersionInfo.dwMinorVersion = 51)) Then
      Result := True;
   End;
End;

Procedure Register;
Begin
  RegisterComponents('liuxiangvcl', [TMSNPopUp]);
End;

// component stuff

Function TMSNPopUp.ShowPopUp: Boolean;
Var
  r: TRect;
  MSNPopUp: TfrmMSNPopUp;
Begin
  //Jelmer
  If GetEdge <> LastBorder Then
   Begin
    LastBorder := GetEdge;
    PopupCount := 0;
   End;
  Result := True;
  SystemParametersInfo(SPI_GETWORKAREA, 0, @r, 0);
  If PopupCount > 0 Then
   Begin
    Case LastBorder Of
      ABE_BOTTOM:
        If (r.Bottom - (NextPopupPos + FHeight + PopupStartY)) < 0 Then
         Begin
          Result := False;
          Exit;
         End;
      ABE_LEFT:
        If (NextPopupPos + FWidth + PopupStartX) > r.Right Then
         Begin
          Result := False;
          Exit;
         End;
      ABE_RIGHT:
        If (r.Right - (NextPopupPos + FHeight + PopupStartY)) < 0 Then
         Begin
          Result := False;
          Exit;
         End;
      ABE_TOP:
        If ((NextPopupPos + FHeight + PopupStartY)) > r.Bottom Then
         Begin
          Result := False;
          Exit;
         End;
     End;
   End
  Else
    NextPopupPos := 0;
  Inc(PopupCount);

  MSNPopUp := TfrmMSNPopUp.CreateNew(Self.Owner);
  MSNPopUp.Hide;

  //Jelmer
  MSNPopUp.ParentMSNPopup := Self;
  MSNPopUp.DefaultMonitor := FDefaultMonitor;

  MSNPopUp.sWidth  := FWidth;
  MSNPopUp.sHeight := FHeight;

  MSNPopUp.Text    := FText;
  MSNPopUp.Title   := FTitle;
  MSNPopUp.TimeOut := FTimeOut;

  MSNPopUp.bScroll     := msnAllowScroll in FOptions;
  MSNPopUp.ScrollSpeed := FScrollSpeed;

  MSNPopUp.Font      := FFont;
  MSNPopUp.HoverFont := FHoverFont;
  MSNPopUp.TitleFont := FTitleFont;
  MSNPopUp.Cursor    := FCursor;

  MSNPopUp.Color1      := FColor1;
  MSNPopUp.Color2      := FColor2;
  MSNPopUp.Orientation := FGradientOrientation;

  // Anomy
  MSNPopUp.lblText.Alignment := FTextAlignment;
  MSNPopUp.pnlBorder.Align   := alClient;
  MSNPopUp.BGDrawMethod      := FBackgroundDrawMethod;

  MSNPopUp.PopUp;
End;

// JWB
Procedure TMSNPopUp.ClosePopUps;
Var
  hTfrmMSNPopUp: Cardinal;
  i: Integer;
Begin
  For i := 0 To PopUpCount Do
   Begin
    hTfrmMSNPopUp := FindWindow(PChar('TfrmMSNPopUP'), nil);
    If hTfrmMSNPopUp <> 0 Then
     Begin
      SendMessage(hTfrmMSNPopUp, WM_CLOSE, 0,0);
      Application.ProcessMessages;
     End;
   End;
End;

//Jiang Hong
Procedure TMSNPopup.SetFont(Value: TFont);
Begin
  If not (FFont = Value) Then
    FFont.Assign(Value);
End;

//Jiang Hong
Procedure TMSNPopup.SetHoverFont(Value: TFont);
Begin
  If not (FHoverFont = Value) Then
    FHoverFont.Assign(Value);
End;

//Jiang Hong
Procedure TMSNPopup.SetTitleFont(Value: TFont);
Begin
  If not (FTitleFont = Value) Then
    FTitleFont.Assign(Value);
End;

// function to find out system's default font
Function TMSNPopUp.GetCaptionFont: TFont;
Var
  ncMetrics: TNonClientMetrics;
Begin
  ncMetrics.cbSize := sizeof(TNonClientMetrics);
  SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(TNonClientMetrics), @ncMetrics, 0);

  Result        := TFont.Create;
  Result.Handle := CreateFontIndirect(ncMetrics.lfMenuFont);
End;

Constructor TMSNPopUp.Create(AOwner: TComponent);
Begin
  Inherited;
  //FOptions := [msnAllowScroll, msnAllowHyperlink, msnAutoOpenURL, msnCascadePopups];
  FOptions := [msnAllowScroll,msnCascadePopups];

  FFont      := TFont.Create;
  FHoverFont := TFont.Create;
  FTitleFont := TFont.Create;

  //Jelmer
  FBackground := TBitmap.Create();

  If msnSystemFont in FOptions Then
   Begin
    FFont.Name      := GetCaptionFont.Name;
    FHoverFont.Name := GetCaptionFont.Name;
    FTitleFont.Name := GetCaptionFont.Name;
   End;

  //FWidth  := 148;
  //FHeight := 121;
  FWidth  := 200;
  FHeight := 100;

  FTimeOut     := 10;
  FScrollSpeed := 9;

  FText  := 'text';
  FTitle := 'title';

  FCursor := crDefault;

  FColor1 := $00FFCC99;
  FColor2 := $00FFFFFF;
  FGradientOrientation := mbVertical;

  FHoverFont.Style := [fsUnderline];
  FHoverFont.Color := clBlue;

  FTitleFont.Style := [fsBold];

  // Anomy
  FBackgroundDrawMethod := dmActualSize;
  FTextAlignment        := taCenter;

  //Jelmer
  PopupCount   := 0;
  LastBorder   := 0;
  FPopupMarge  := 2;
  FPopupStartX := 16;
  FPopupStartY := 2;
  //---
End;

Destructor TMSNPopUp.Destroy;
Begin
  FFont.Free;
  FHoverFont.Free;
  FTitleFont.Free;

  //Jelmer
  FBackground.Free;

  Inherited;
End;

// form's functions

Procedure TfrmMSNPopUp.CreateParams(Var Params: TCreateParams);
Const
  CS_DROPSHADOW = $00020000;   // MS 12/01/2002
Begin
  Inherited;
  Params.Style := Params.Style and not WS_CAPTION or WS_POPUP;

  If IsNT4 Then
    Params.ExStyle := Params.ExStyle or WS_EX_TOOLWINDOW
  Else
    Params.ExStyle := Params.ExStyle or WS_EX_TOOLWINDOW or WS_EX_NOACTIVATE;

  If (IsWinXP) Then
    Params.WindowClass.Style := Params.WindowClass.Style or CS_DROPSHADOW;

  Params.WndParent := GetDesktopWindow;
End;

Constructor TfrmMSNPopUp.CreateNew(AOwner: TComponent; Dummy: Integer = 0);
Begin
  Inherited;
  BorderStyle := bsNone; //bsDialog;

  pnlBorder        := TPanel.Create(Self);
  pnlBorder.Parent := Self;
  pnlBorder.Align  := alClient;
  pnlBorder.BevelWidth := 1;
  pnlBorder.BevelInner := bvLowered;

  imgGradient           := TImage.Create(Self);
  imgGradient.Parent    := pnlBorder;
  imgGradient.Align     := alClient;
  imgGradient.Anchors   := [akTop, akLeft, akRight, akBottom];
  imgGradient.OnMouseUp := Self.imgGradientMouseUp;

  lblText           := TLabel.Create(Self);
  lblText.ShowAccelChar := False;
  lblText.Layout    := tlCenter;
  lblText.AutoSize  := True;
  lblText.WordWrap  := True;
  lblText.Parent    := pnlBorder;
  lblText.Transparent := True;
  lblText.OnMouseUp := Self.lblTextMouseUp;
  lblText.Left      := 9;
  lblText.Top       := 49;
  lblText.Width     := 3;
  lblText.Height    := 13;

  lblTitle           := TLabel.Create(Self);
  lblTitle.ShowAccelChar := False;
  lblTitle.Parent    := pnlBorder;
  lblTitle.Transparent := True;
  lblTitle.Top       := 8;
  lblTitle.Left      := 48;
  lblTitle.OnMouseUp := Self.lblTitleMouseUp;

  tmrExit          := TTimer.Create(Self);
  tmrExit.Enabled  := False;
  tmrExit.OnTimer  := tmrExitTimer;
  tmrExit.Interval := 10000;

  tmrScroll          := TTimer.Create(Self);
  tmrScroll.Enabled  := False;
  tmrScroll.OnTimer  := tmrScrollTimer;
  tmrScroll.Interval := 25;
  // add by Ahmed Hamed 20-3-2002
  tmrScrollDown          := TTimer.Create(Self);
  tmrScrollDown.Enabled  := False;
  tmrScrollDown.OnTimer  := tmrScrollDownTimer;
  tmrScrollDown.Interval := 25;
  //
End;

Function TMSNPopup.GetEdge: Integer;
Var
  AppBar: TAppbarData;
Begin
  Result := -1;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91福利国产精品| 国产精品主播直播| 7777精品伊人久久久大香线蕉| 亚洲一区二区综合| 欧美久久久一区| 奇米综合一区二区三区精品视频| 欧美成人乱码一区二区三区| 韩国欧美一区二区| 国产蜜臀97一区二区三区| 99re热视频这里只精品| 亚洲一区在线观看视频| 欧美一区二区三级| 国产91丝袜在线18| 亚洲麻豆国产自偷在线| 51精品国自产在线| 国产v综合v亚洲欧| 亚洲国产va精品久久久不卡综合| 欧美一区二区视频观看视频| 国产二区国产一区在线观看| 亚洲裸体xxx| 日韩欧美电影在线| 波多野结衣中文字幕一区二区三区 | 日韩欧美aaaaaa| 成人丝袜视频网| 亚洲国产精品人人做人人爽| 精品国产乱码久久久久久蜜臀| av中文字幕一区| 欧美aaaaa成人免费观看视频| 国产精品免费网站在线观看| 欧美三级午夜理伦三级中视频| 国产精品一区一区三区| 亚洲国产成人91porn| 国产亚洲午夜高清国产拍精品| 91久久精品一区二区| 国产伦精品一区二区三区视频青涩 | 99re热视频这里只精品| 日韩国产精品久久久| 中文字幕在线观看一区二区| 这里只有精品99re| 色吧成人激情小说| 高清beeg欧美| 看电视剧不卡顿的网站| 亚洲精品一二三四区| 久久久精品黄色| 日韩一级欧美一级| 91久久线看在观草草青青| 国产91精品欧美| 精品一区二区综合| 午夜亚洲福利老司机| 亚洲精品亚洲人成人网在线播放| 久久久精品天堂| 日韩免费观看高清完整版在线观看| 91麻豆免费视频| 成人在线一区二区三区| 国产麻豆精品一区二区| 美女视频黄频大全不卡视频在线播放| 亚洲线精品一区二区三区 | 亚洲一区在线视频观看| 中文字幕日韩欧美一区二区三区| 久久久久久免费网| 精品国产一区二区三区av性色| 91精品中文字幕一区二区三区| 欧美午夜精品免费| 欧洲日韩一区二区三区| 一本一本久久a久久精品综合麻豆| 成人免费视频一区| 成人亚洲精品久久久久软件| 国产精品白丝jk白祙喷水网站 | 国产欧美日韩三级| 久久久精品国产免大香伊| 精品久久五月天| www久久精品| 精品国产乱码久久| 精品久久久久一区二区国产| 欧美电影免费观看高清完整版在线观看| 欧美日韩精品一区二区天天拍小说| 欧美亚洲高清一区| 欧美日本韩国一区二区三区视频| 欧美婷婷六月丁香综合色| 欧美日韩另类一区| 91精品国产高清一区二区三区蜜臀| 欧美年轻男男videosbes| 欧美一区二区网站| 日韩欧美色综合网站| 欧美精品一区二区在线播放 | 国产精品萝li| 亚洲图片你懂的| 亚洲激情一二三区| 亚洲bt欧美bt精品777| 日韩国产在线观看| 国产精品综合二区| www.欧美日韩| 欧美日韩在线精品一区二区三区激情| 欧美日韩久久不卡| 亚洲精品一区二区三区香蕉| 久久久久久久久久久久久久久99 | 在线观看免费成人| 在线不卡免费欧美| 精品国产一区二区精华| 中文字幕一区二区三区精华液| 亚洲精品菠萝久久久久久久| 天天免费综合色| 国产精品原创巨作av| 91在线你懂得| 欧美疯狂性受xxxxx喷水图片| 欧美mv日韩mv国产网站app| 日本一区二区三区视频视频| 亚洲永久精品国产| 捆绑变态av一区二区三区| 成人动漫av在线| 欧美日韩色综合| 欧美国产激情一区二区三区蜜月| 一二三区精品福利视频| 国模套图日韩精品一区二区| 日本久久电影网| 日韩欧美资源站| 亚洲欧洲日韩在线| 老司机免费视频一区二区| av高清不卡在线| 日韩久久免费av| 一区二区高清免费观看影视大全| 六月丁香婷婷久久| 在线视频一区二区免费| 久久精品人人做| 天堂影院一区二区| 波多野结衣亚洲| 日韩精品专区在线影院重磅| 综合亚洲深深色噜噜狠狠网站| 日本不卡一区二区| 色哟哟日韩精品| 国产欧美精品一区| 美女脱光内衣内裤视频久久网站| 91一区一区三区| 久久久久久亚洲综合影院红桃| 亚洲成av人片| 色综合久久综合| 国产色产综合色产在线视频| 蜜桃av一区二区在线观看| 欧美中文字幕一区| 亚洲欧洲精品一区二区精品久久久| 久久99这里只有精品| 精品视频一区 二区 三区| 亚洲视频小说图片| 成人少妇影院yyyy| 久久丝袜美腿综合| 麻豆国产欧美一区二区三区| 欧美日韩视频在线第一区 | 色婷婷久久久亚洲一区二区三区 | 日韩一区二区免费高清| 玉米视频成人免费看| 成人爱爱电影网址| 欧美国产日韩亚洲一区| 九九热在线视频观看这里只有精品| 欧美精品久久天天躁| 一区二区三区中文字幕电影| av毛片久久久久**hd| 国产精品电影一区二区三区| 国产91精品露脸国语对白| 国产亚洲精品资源在线26u| 激情小说欧美图片| 26uuu亚洲综合色| 国产美女精品在线| 久久久久国产免费免费| 国产精品自产自拍| 久久女同性恋中文字幕| 国产综合成人久久大片91| 精品国产凹凸成av人网站| 国产在线一区观看| 久久久综合九色合综国产精品| 国产精品一级在线| 中文幕一区二区三区久久蜜桃| 福利一区二区在线| 亚洲欧美在线另类| 色琪琪一区二区三区亚洲区| 亚洲综合小说图片| 91麻豆精品国产91久久久久久 | 国产成人在线色| 成人免费在线视频观看| 91麻豆高清视频| 婷婷一区二区三区| 精品国产一区二区在线观看| 国产成+人+日韩+欧美+亚洲| 中文字幕乱码久久午夜不卡 | 亚洲狠狠丁香婷婷综合久久久| 色久优优欧美色久优优| 亚洲国产欧美另类丝袜| 69久久99精品久久久久婷婷| 免费看日韩精品| 国产日产亚洲精品系列| 91亚洲午夜精品久久久久久| 午夜视频在线观看一区二区三区| 日韩亚洲欧美一区二区三区| 国产乱人伦偷精品视频不卡| 自拍偷拍欧美激情| 在线成人高清不卡| 国产成人aaa| 亚瑟在线精品视频| 精品国产伦一区二区三区免费| 成人性生交大片免费看视频在线| 亚洲综合色丁香婷婷六月图片|