Einzelnen Beitrag anzeigen

Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#6

Re: shelllistview programmstart verhindern

  Alt 7. Aug 2007, 15:16
Das Problem mit dem automatischen Ausführen von Dateien kannst du lösen, indem du dir einen neue Kompo ableitest:

Delphi-Quellcode:
unit ShellListView1;

interface

uses
   SysUtils, Classes, Controls, ComCtrls, ShellCtrls, ShellAPI;

type
   TShellListView1 = class(TShellListView)
   private
      FAutoExecuteFiles: Boolean;
      FKeepColumnSize: Boolean;
   protected
      procedure DblClick; override;
   public
      constructor Create(AOwner: TComponent); override;
   published
      property AutoExecuteFiles: Boolean read FAutoExecuteFiles write FAutoExecuteFiles;
   end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Eigene Komponenten', [TShellListView1]);
end;

{ TShellListView1 }

constructor TShellListView1.Create(AOwner: TComponent);
begin
  inherited;
   FAutoExecuteFiles := True;
end;

procedure TShellListView1.DblClick;
var
   OldAutoNavigate: Boolean;
begin
   OldAutoNavigate := AutoNavigate;

   if Selected <> nil then
    AutoNavigate := AutoNavigate and (Folders[Selected.Index].IsFolder or FAutoExecuteFiles);

  inherited;

  AutoNavigate := OldAutoNavigate;
end;

end.
  Mit Zitat antworten Zitat