?? drvdetails.pas
字號:
unit DrvDetails;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls, MSI_Processes, ImgList;
type
Tdlg_DrvDetails = class(TForm)
Bevel1: TBevel;
bClose: TButton;
pc: TPageControl;
TabSheet1: TTabSheet;
GenList: TListView;
imgIcon: TImage;
Button4: TButton;
TabSheet6: TTabSheet;
HList: TListView;
ImageList: TImageList;
eName: TEdit;
procedure ListAdvancedCustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; Stage: TCustomDrawStage;
var DefaultDraw: Boolean);
procedure ListAdvancedCustomDrawSubItem(Sender: TCustomListView;
Item: TListItem; SubItem: Integer; State: TCustomDrawState;
Stage: TCustomDrawStage; var DefaultDraw: Boolean);
procedure ListColumnClick(Sender: TObject; Column: TListColumn);
procedure ListCompare(Sender: TObject; Item1, Item2: TListItem;
Data: Integer; var Compare: Integer);
procedure GenListAdvancedCustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; Stage: TCustomDrawStage;
var DefaultDraw: Boolean);
procedure GenListAdvancedCustomDrawSubItem(Sender: TCustomListView;
Item: TListItem; SubItem: Integer; State: TCustomDrawState;
Stage: TCustomDrawStage; var DefaultDraw: Boolean);
procedure Button4Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
FPL: TMiTeC_ProcessList;
FIndex: DWORD;
public
procedure RefreshData;
end;
procedure ShowDrvDetails(PL: TMiTeC_ProcessList; Index: DWORD);
var
dlg_DrvDetails: Tdlg_DrvDetails;
implementation
uses
MiTeC_CtrlRtns, MiTeC_Datetime, MiTeC_Routines, MiTeC_Dialogs, MiTeC_Native, WinDetails;
{$R *.dfm}
procedure ShowDrvDetails;
begin
with Tdlg_DrvDetails.Create(Application.Mainform) do
try
FPL:=PL;
FIndex:=Index;
RefreshData;
ShowModal;
finally
Free;
end;
end;
procedure Tdlg_DrvDetails.RefreshData;
var
FDI: TDriverInfo;
VersionInfo: TVersionInfo;
begin
FDI:=FPL.Drivers[FIndex];
eName.Text:=FDI.Name;
GetFileVerInfo(FDI.Name,VersionInfo);
GenList.Items.Clear;
with GenList.Items.Add do begin
Caption:='Description';
SubItems.Add(VersionInfo.Description);
ImageIndex:=-3;
end;
with GenList.Items.Add do begin
Caption:='Version';
SubItems.Add(VersionInfo.Version);
end;
with GenList.Items.Add do begin
Caption:='Product Name';
SubItems.Add(VersionInfo.ProductName);
end;
with GenList.Items.Add do begin
Caption:='Company Name';
SubItems.Add(VersionInfo.CompanyName);
end;
with GenList.Items.Add do begin
Caption:='';
ImageIndex:=-2;
end;
end;
procedure Tdlg_DrvDetails.ListAdvancedCustomDrawItem(
Sender: TCustomListView; Item: TListItem; State: TCustomDrawState;
Stage: TCustomDrawStage; var DefaultDraw: Boolean);
begin
if ListView_SortColumn=0 then
Sender.Canvas.Brush.Color:=clInfoBk
else
Sender.Canvas.Brush.Color:=clWhite
end;
procedure Tdlg_DrvDetails.ListAdvancedCustomDrawSubItem(
Sender: TCustomListView; Item: TListItem; SubItem: Integer;
State: TCustomDrawState; Stage: TCustomDrawStage;
var DefaultDraw: Boolean);
begin
if ListView_SortColumn=SubItem then
Sender.Canvas.Brush.Color:=clInfoBk
else
Sender.Canvas.Brush.Color:=clWhite
end;
procedure Tdlg_DrvDetails.ListColumnClick(Sender: TObject;
Column: TListColumn);
begin
TListView(Sender).SortType:=stNone;
if Column.Index<>ListView_SortColumn then begin
ListView_SortColumn:=Column.Index;
ListView_SortDescending:=False;
end else
ListView_SortDescending:=not ListView_SortDescending;
TListView(Sender).SortType:=stText;
end;
procedure Tdlg_DrvDetails.ListCompare(Sender: TObject; Item1,
Item2: TListItem; Data: Integer; var Compare: Integer);
begin
Compare:=ListView_CustomSort(Item1,Item2,ListView_SortColumn);
if ListView_SortDescending then
Compare:=-Compare;
end;
procedure Tdlg_DrvDetails.GenListAdvancedCustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; Stage: TCustomDrawStage;
var DefaultDraw: Boolean);
begin
DefaultDraw:=True;
with TListView(Sender) do begin
Canvas.Font.Style:=[];
if Item.ImageIndex=-3 then
Canvas.Font.Style:=[fsBold];
Canvas.Font.Color:=clBlack;
if cdsHot in State then
Canvas.Font.Style:=Canvas.Font.Style+[fsUnderline]
else
Canvas.Font.Style:=Canvas.Font.Style-[fsUnderline];
if Item.ImageIndex=-2 then
ListView_DrawLine(Sender,Item,State,DefaultDraw,clGray);
end;
end;
procedure Tdlg_DrvDetails.GenListAdvancedCustomDrawSubItem(
Sender: TCustomListView; Item: TListItem; SubItem: Integer;
State: TCustomDrawState; Stage: TCustomDrawStage;
var DefaultDraw: Boolean);
begin
with TListView(Sender) do begin
Canvas.Font.Style:=[];
if Item.ImageIndex=-3 then
Canvas.Font.Style:=[fsBold];
Canvas.Font.Color:=clBlack;
if Item.ImageIndex=-4 then
ListView_DrawCheckBox(Sender,Item,SubItem,State,DefaultDraw,'1')
else
Canvas.Brush.Color:=Color;
if cdsHot in State then
Canvas.Font.Style:=Canvas.Font.Style+[fsUnderline]
else
Canvas.Font.Style:=Canvas.Font.Style-[fsUnderline];
end;
end;
procedure Tdlg_DrvDetails.Button4Click(Sender: TObject);
begin
ShellPropDlg(Handle,FPL.Drivers[FIndex].Name);
end;
procedure Tdlg_DrvDetails.FormCreate(Sender: TObject);
begin
pc.ActivePage:=TabSheet1;
end;
end.
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -