ProcListDlg.pas
上传用户:llfxmlw
上传日期:2009-09-14
资源大小:335k
文件大小:2k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. unit ProcListDlg;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  5.   StdCtrls, ExtCtrls;
  6. type
  7.   TProcListForm = class(TForm)
  8.     Panel1: TPanel;
  9.     ProcList: TListBox;
  10.     CloseWinBut: TButton;
  11.     KillBut: TButton;
  12.     CancelBut: TButton;
  13.     procedure CancelButClick(Sender: TObject);
  14.     procedure FormShow(Sender: TObject);
  15.     procedure ProcListClick(Sender: TObject);
  16.     procedure CloseWinButClick(Sender: TObject);
  17.     procedure KillButClick(Sender: TObject);
  18.   private
  19.     { Private declarations }
  20.   public
  21.     procedure SetList(const Data: string);
  22.     procedure EnableButs;
  23.   end;
  24. var
  25.   ProcListForm: TProcListForm;
  26. implementation
  27. uses ClientFrm, RemConMessages;
  28. {$R *.DFM}
  29. procedure TProcListForm.CancelButClick(Sender: TObject);
  30. begin
  31.    Close;
  32. end;
  33. procedure TProcListForm.EnableButs;
  34. var
  35.    b : boolean;
  36. begin
  37.    b := ProcList.ItemIndex <> -1;
  38.    CloseWinBut.Enabled := b;
  39.    KillBut.Enabled := b;
  40. end;
  41. procedure TProcListForm.FormShow(Sender: TObject);
  42. begin
  43.    EnableButs;
  44. end;
  45. procedure TProcListForm.ProcListClick(Sender: TObject);
  46. begin
  47.    EnableButs;
  48. end;
  49. procedure TProcListForm.CloseWinButClick(Sender: TObject);
  50. begin
  51.    with (Owner as TClientForm) do begin
  52.       SendMsg(MSG_CLOSE_WIN, ProcList.Items[ProcList.ItemIndex], ClientSocket1.Socket);
  53.    end;
  54. end;
  55. procedure TProcListForm.KillButClick(Sender: TObject);
  56. begin
  57.    with (Owner as TClientForm) do begin
  58.       SendMsg(MSG_KILL_WIN, ProcList.Items[ProcList.ItemIndex], ClientSocket1.Socket);
  59.    end;
  60. end;
  61. procedure TProcListForm.SetList(const Data: string);
  62. var
  63.    OldProc : string;
  64. begin
  65.    OldProc := '';
  66.    if ProcList.ItemIndex < ProcList.Items.Count then
  67.       OldProc := ProcList.Items[ProcList.ItemIndex];
  68.    ProcList.Items.Text := Data;
  69.    if OldProc<>'' then
  70.       ProcList.ItemIndex := ProcList.Items.IndexOf(OldProc);
  71.    EnableButs;
  72. end;
  73. end.