Преглед изворни кода

三个界面给出鼠标悬浮最新版本说明信息。

Chenshilong пре 8 година
родитељ
комит
b5d1361387
3 измењених фајлова са 67 додато и 21 уклоњено
  1. 10 20
      DataModules/ReportManagerDM.pas
  2. 4 1
      Forms/ReportManagerFrm.dfm
  3. 53 0
      Forms/ReportManagerFrm.pas

+ 10 - 20
DataModules/ReportManagerDM.pas

@@ -323,11 +323,13 @@ begin
           vReport := TReport.Create;
           vReport.Owner := Self;
           vReport.ID := iID;
+          vReport.FileName := CheckExt(FOnlineAry[i, 1], '.srt');
           vReport.Area := FOnlineAry[i, 2];
+          vReport.NewestVer := FOnlineAry[i, 3];
           vReport.Category := FOnlineAry[i, 5];
-          vReport.FileName := CheckExt(FOnlineAry[i, 1], '.srt');
+          vReport.NewestMemo := FOnlineAry[i, 6];
           vReport.LocalVer := '';
-          vReport.NewestVer := FOnlineAry[i, 3];
+
           FList.Add(vReport);
         end;
 
@@ -704,21 +706,6 @@ var FOnlineAry: TOVArr;
 begin
   Result := False;
 
-//  cds1.Append;
-//  cds1ID.AsInteger := 1;
-//  cds1Category.AsString := '¶¨ÖÆ';
-//  cds1Name.AsString := 'xxxxxxxxxxx';
-//  cds1.Post;
-//
-//  cds1.Append;
-//  cds1ID.AsInteger := 2;
-//  cds1Category.AsString := '¶¨ÖÆ';
-//  cds1Name.AsString := 'BBBBBBBBBBBB';
-//  cds1.Post;
-//
-//  Result := True;
-//  exit;
-
   PHPWeb.Search('http://jlzfbb.com/api/getreportmsg', ['itemcode'], [ACode], FOnlineAry);
   if Length(FOnlineAry) > 0 then
   begin
@@ -739,10 +726,13 @@ begin
           vReport := TReport.Create;
           vReport.Owner := Self;
           vReport.ID := iID;
-          vReport.Category := FOnlineAry[i, 3];
-          vReport.FileName := FOnlineAry[i, 1];
+          vReport.FileName := CheckExt(FOnlineAry[i, 1], '.srt');
+          vReport.Area := FOnlineAry[i, 2];
+          vReport.NewestVer := FOnlineAry[i, 3];
+          vReport.Category := FOnlineAry[i, 5];
+          vReport.NewestMemo := FOnlineAry[i, 6];
           vReport.LocalVer := '';
-          vReport.NewestVer := FOnlineAry[i, 2];
+
           FList.Add(vReport);
         end;
 

+ 4 - 1
Forms/ReportManagerFrm.dfm

@@ -22,7 +22,7 @@ object ReportManagerForm: TReportManagerForm
     Top = 0
     Width = 809
     Height = 442
-    ActivePage = tsOnline
+    ActivePage = tsCustom
     Align = alClient
     Font.Charset = DEFAULT_CHARSET
     Font.Color = clWindowText
@@ -59,6 +59,7 @@ object ReportManagerForm: TReportManagerForm
         Selection.TransparentColor = False
         FrozenCol = 0
         FrozenRow = 0
+        OnShowHint = zgLoaclShowHint
         OnCellGetFont = zgLoaclCellGetFont
         OnMouseDown = zgLoaclMouseDown
         Font.Charset = DEFAULT_CHARSET
@@ -133,6 +134,7 @@ object ReportManagerForm: TReportManagerForm
         Selection.TransparentColor = False
         FrozenCol = 0
         FrozenRow = 0
+        OnShowHint = zgOnlineShowHint
         OnCellGetFont = zgOnlineCellGetFont
         OnMouseDown = zgOnlineMouseDown
         Font.Charset = DEFAULT_CHARSET
@@ -174,6 +176,7 @@ object ReportManagerForm: TReportManagerForm
           Selection.TransparentColor = False
           FrozenCol = 0
           FrozenRow = 0
+          OnShowHint = zgCustomShowHint
           OnCellGetFont = zgCustomCellGetFont
           OnMouseDown = zgCustomMouseDown
           Font.Charset = DEFAULT_CHARSET

+ 53 - 0
Forms/ReportManagerFrm.pas

@@ -45,6 +45,12 @@ type
     procedure zgCustomMouseDown(Sender: TObject; Button: TMouseButton;
       Shift: TShiftState; X, Y: Integer);
     procedure pcReportChange(Sender: TObject);
+    procedure zgOnlineShowHint(var HintStr: String; var CanShow: Boolean;
+      var HintInfo: THintInfo; const ACoord: TPoint);
+    procedure zgLoaclShowHint(var HintStr: String; var CanShow: Boolean;
+      var HintInfo: THintInfo; const ACoord: TPoint);
+    procedure zgCustomShowHint(var HintStr: String; var CanShow: Boolean;
+      var HintInfo: THintInfo; const ACoord: TPoint);
   private
     { Private declarations }
     FReports: TObject;
@@ -52,6 +58,7 @@ type
     function Col(AGridDBA: TZjGridDBA; FieldName: string): Integer;
     procedure GridGetFont(Sender: TObject; ACoord: TPoint; AFont: TFont; AGrid: TZjGrid; AGridDBA: TZjGridDBA);
     procedure GridMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer; AGrid: TZjGrid; AGridDBA: TZjGridDBA);
+    procedure GridShowHint(var HintStr: String; var CanShow: Boolean; var HintInfo: THintInfo; const ACoord: TPoint; AGrid: TZjGrid; AGridDBA: TZjGridDBA);
   public
     { Public declarations }
   end;
@@ -209,4 +216,50 @@ begin
     pnlHint.Visible := zaLocal.DataSet.RecordCount = 0;
 end;
 
+procedure TReportManagerForm.GridShowHint(var HintStr: String; var CanShow: Boolean;
+  var HintInfo: THintInfo; const ACoord: TPoint; AGrid: TZjGrid; AGridDBA: TZjGridDBA);
+var vReport: TReport;
+  OldActiveRecd, iID: Integer;
+begin
+  if ACoord.X = 4 then
+  begin
+    if AGridDBA.ChangeActiveRecord(ACoord.Y - AGrid.FixedRowCount, OldActiveRecd) then
+    begin
+      try
+        if CurValue(AGridDBA, 'ID') = null then Exit;
+
+        iID := CurValue(AGridDBA, 'ID');
+        vReport := TReports(FReports).FindReprot(iID);
+        if vReport.NewestMemo = '' then
+          HintInfo.HintStr := '[ÔÝÎÞ¸üÐÂ˵Ã÷]'
+        else
+          HintInfo.HintStr := vReport.NewestMemo;
+        CanShow := True;
+        HintInfo.HintMaxWidth := 250;
+        HintInfo.HideTimeout := 30000;
+      finally
+        AGridDBA.ChangeActiveRecord(OldActiveRecd, OldActiveRecd);
+      end;
+    end;
+  end;
+end;
+
+procedure TReportManagerForm.zgOnlineShowHint(var HintStr: String;
+  var CanShow: Boolean; var HintInfo: THintInfo; const ACoord: TPoint);
+begin
+  GridShowHint(HintStr, CanShow, HintInfo, ACoord, zgOnline, zaOnline);
+end;
+
+procedure TReportManagerForm.zgLoaclShowHint(var HintStr: String;
+  var CanShow: Boolean; var HintInfo: THintInfo; const ACoord: TPoint);
+begin
+  GridShowHint(HintStr, CanShow, HintInfo, ACoord, zgLoacl, zaLocal);
+end;
+
+procedure TReportManagerForm.zgCustomShowHint(var HintStr: String;
+  var CanShow: Boolean; var HintInfo: THintInfo; const ACoord: TPoint);
+begin
+  GridShowHint(HintStr, CanShow, HintInfo, ACoord, zgCustom, zaCustom);
+end;
+
 end.