home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 February / Chip_2004-02_cd1.bin / zkuste / konfig / download / msic / D5 / MSI_DetailDlg.pas < prev    next >
Pascal/Delphi Source File  |  2003-10-17  |  4KB  |  126 lines

  1. {*******************************************************}
  2. {                                                       }
  3. {          MiTeC System Information Component           }
  4. {                Detail Info Dialog                     }
  5. {           version 8.5 for Delphi 5,6                  }
  6. {                                                       }
  7. {       Copyright ⌐ 1997,2002 Michal Mutl               }
  8. {                                                       }
  9. {*******************************************************}
  10.  
  11.  
  12. unit MSI_DetailDlg;
  13.  
  14. interface
  15.  
  16. uses
  17.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  18.   StdCtrls, ExtCtrls, CheckLst, ComCtrls;
  19.  
  20. type
  21.   TdlgMSI_Detail = class(TForm)
  22.     ButtonPanel: TPanel;
  23.     Panel: TPanel;
  24.     bOK: TButton;
  25.     ClientPanel: TPanel;
  26.     Notebook: TNotebook;
  27.     Memo: TMemo;
  28.     clb: TCheckListBox;
  29.     lb: TListBox;
  30.     lv: TListView;
  31.     pc: TPageControl;
  32.     TabSheet1: TTabSheet;
  33.     Panel1: TPanel;
  34.     procedure clbClickCheck(Sender: TObject);
  35.     procedure FormCreate(Sender: TObject);
  36.     procedure FormActivate(Sender: TObject);
  37.     procedure lvAdvancedCustomDrawItem(Sender: TCustomListView;
  38.       Item: TListItem; State: TCustomDrawState; Stage: TCustomDrawStage;
  39.       var DefaultDraw: Boolean);
  40.     procedure lvAdvancedCustomDrawSubItem(Sender: TCustomListView;
  41.       Item: TListItem; SubItem: Integer; State: TCustomDrawState;
  42.       Stage: TCustomDrawStage; var DefaultDraw: Boolean);
  43.   private
  44.   public
  45.   end;
  46.  
  47. var
  48.   dlgMSI_Detail: TdlgMSI_Detail;
  49.  
  50. implementation
  51.  
  52. uses MiTeC_CtrlRtns;
  53.  
  54. {$R *.DFM}
  55.  
  56. procedure TdlgMSI_Detail.clbClickCheck(Sender: TObject);
  57. var
  58.   OCC: TNotifyEvent;
  59.   idx: integer;
  60.   p: TPoint;
  61. begin
  62.   with TCheckListBox(Sender) do begin
  63.     OCC:=OnClickCheck;
  64.     OnClickCheck:=nil;
  65.     GetCursorPos(p);
  66.     p:=ScreenToClient(p);
  67.     idx:=ItemAtPos(p,True);
  68.     if idx>-1 then
  69.       Checked[idx]:=not Checked[idx];
  70.     OnClickCheck:=OCC;
  71.   end;
  72. end;
  73.  
  74. procedure TdlgMSI_Detail.FormCreate(Sender: TObject);
  75. begin
  76.   caption:=Application.Title;
  77. end;
  78.  
  79. procedure TdlgMSI_Detail.FormActivate(Sender: TObject);
  80. begin
  81.   lv.Width:=0;
  82. end;
  83.  
  84. procedure TdlgMSI_Detail.lvAdvancedCustomDrawItem(Sender: TCustomListView;
  85.   Item: TListItem; State: TCustomDrawState; Stage: TCustomDrawStage;
  86.   var DefaultDraw: Boolean);
  87. begin
  88.   DefaultDraw:=True;
  89.   with TListView(Sender) do begin
  90.     Canvas.Font.Style:=[];
  91.     if Item.ImageIndex=-3 then
  92.       Canvas.Font.Style:=[fsBold];
  93.     Canvas.Font.Color:=clBlack;
  94.     if cdsHot in State then begin
  95.       Canvas.Font.Color:=clBlue;
  96.       Canvas.Font.Style:=Canvas.Font.Style+[fsUnderLine];
  97.     end else
  98.       Canvas.Font.Style:=Canvas.Font.Style-[fsUnderLine];
  99.     if Item.ImageIndex=-2 then
  100.       ListView_DrawLine(Sender,Item,State,DefaultDraw,clGray);
  101.   end;
  102. end;
  103.  
  104. procedure TdlgMSI_Detail.lvAdvancedCustomDrawSubItem(
  105.   Sender: TCustomListView; Item: TListItem; SubItem: Integer;
  106.   State: TCustomDrawState; Stage: TCustomDrawStage;
  107.   var DefaultDraw: Boolean);
  108. begin
  109.   with TListView(Sender) do begin
  110.     Canvas.Font.Style:=[];
  111.     if Item.ImageIndex=-3 then
  112.       Canvas.Font.Style:=[fsBold];
  113.     Canvas.Font.Color:=clBlack;
  114.     if Item.ImageIndex=-4 then
  115.       ListView_DrawCheckBox(Sender,Item,SubItem,State,DefaultDraw,'1')
  116.     else
  117.       Canvas.Brush.Color:=Color;
  118.     if cdsHot in State then
  119.       Canvas.Font.Style:=Canvas.Font.Style+[fsUnderline]
  120.     else
  121.       Canvas.Font.Style:=Canvas.Font.Style-[fsUnderline];
  122.   end;
  123. end;
  124.  
  125. end.
  126.