|
From: Peter T. <pe...@us...> - 2003-08-23 23:20:33
|
Update of /cvsroot/jvcl/dev/JVCL3/examples/JvRegistryTreeView
In directory sc8-pr-cvs1:/tmp/cvs-serv5637/JVCL3/examples/JvRegistryTreeView
Added Files:
RegEditDemo.dof RegEditDemo.dpr RegEditDemo.res
RegTVMainFormU.dfm RegTVMainFormU.pas
Log Message:
- Copied jvcl/devtools and jvcl/examples dev/JVCL3
- Copied JVCLConvert *.dat files to dev/JVCL3/converter
--- NEW FILE: RegEditDemo.dof ---
[Directories]
OutputDir=..\..\Bin
UnitOutputDir=..\..\Dcu
SearchPath=..\..\Source;..\..\Common
--- NEW FILE: RegEditDemo.dpr ---
program RegEditDemo;
uses
Forms,
RegTVMainFormU in 'RegTVMainFormU.pas' {RegTVMainForm};
// , StrStore in '..\..\..\Add\Utils\StrStore.pas'
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TRegTVMainForm, RegTVMainForm);
Application.CreateForm(TRegTVMainForm, RegTVMainForm);
Application.Run;
end.
--- NEW FILE: RegEditDemo.res ---
(This appears to be a binary file; contents omitted.)
--- NEW FILE: RegTVMainFormU.dfm ---
object RegTVMainForm: TRegTVMainForm
Left = 305
Top = 72
Width = 739
Height = 473
Caption = 'Registry Editor Demo'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
Menu = mmMain
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object Splitter1: TSplitter
Left = 209
Top = 0
Width = 5
Height = 410
end
object StatusBar1: TStatusBar
Left = 0
Top = 410
Width = 731
Height = 19
Panels = <
item
Width = 50
end>
end
object RegistryTreeView1: TJvRegistryTreeView
Left = 0
Top = 0
Width = 209
Height = 410
Align = alLeft
ShowHint = False
ReadOnly = False
Indent = 19
RegistryKeys = [hkClassesRoot, hkCurrentUser, hkLocalMachine, hkUsers, hkCurrentConfig]
ListView = ListView1
RootCaption = 'My Computer'
DefaultCaption = '(Default)'
DefaultNoValueCaption = '(value not set)'
OnExpanding = RegistryTreeView1Expanding
OnExpanded = RegistryTreeView1Expanded
OnChange = RegistryTreeView1Change
end
object ListView1: TListView
Left = 214
Top = 0
Width = 517
Height = 410
Align = alClient
Columns = <
item
Caption = 'Name'
Width = 200
end
item
AutoSize = True
Caption = 'Value'
end
item
AutoSize = True
Caption = 'Type'
end>
ColumnClick = False
FullDrag = True
SortType = stText
TabOrder = 2
ViewStyle = vsReport
end
object mmMain: TMainMenu
Left = 104
Top = 88
object Registry1: TMenuItem
Caption = 'Registry'
object Importregistryfile1: TMenuItem
Caption = 'Import registryfile...'
OnClick = Importregistryfile1Click
end
object Exportregistryfile1: TMenuItem
Caption = 'Export registryfile...'
OnClick = Exportregistryfile1Click
end
object N1: TMenuItem
Caption = '-'
end
object Connectnetworkdrive1: TMenuItem
Caption = 'Connect network drive...'
OnClick = Connectnetworkdrive1Click
end
object Disconnectnetworkdrive1: TMenuItem
Caption = 'Disconnect network drive...'
Enabled = False
OnClick = Disconnectnetworkdrive1Click
end
object N2: TMenuItem
Caption = '-'
end
object Print1: TMenuItem
Caption = 'Print...'
end
object N3: TMenuItem
Caption = '-'
end
object Exit1: TMenuItem
Caption = 'Exit'
OnClick = Exit1Click
end
end
object Edit1: TMenuItem
Caption = 'Edit'
object New1: TMenuItem
Caption = 'New'
object Key1: TMenuItem
Caption = 'Key'
OnClick = Key1Click
end
object N4: TMenuItem
Caption = '-'
end
object Stringvalue1: TMenuItem
Caption = 'String value'
end
object Binaryvalue1: TMenuItem
Caption = 'Binary value'
end
object DWORDvalue1: TMenuItem
Caption = 'DWORD value'
end
end
object N5: TMenuItem
Caption = '-'
end
object Delete1: TMenuItem
Caption = 'Delete'
OnClick = Delete1Click
end
object Rename1: TMenuItem
Caption = 'Rename'
OnClick = Rename1Click
end
object N6: TMenuItem
Caption = '-'
end
object Copykeyname1: TMenuItem
Caption = 'Copy key name'
end
object N7: TMenuItem
Caption = '-'
end
object Find1: TMenuItem
Caption = 'Find...'
end
object FindNext1: TMenuItem
Caption = 'Find Next'
end
end
object View1: TMenuItem
Caption = 'View'
object Statusbar2: TMenuItem
Caption = 'Statusbar'
Checked = True
OnClick = Statusbar2Click
end
object N8: TMenuItem
Caption = '-'
end
object Refresh1: TMenuItem
Caption = 'Refresh'
ShortCut = 116
OnClick = Refresh1Click
end
end
object Favorites1: TMenuItem
Caption = 'Favorites'
object Addtofavorites1: TMenuItem
Caption = 'Add to Favorites'
OnClick = Addtofavorites1Click
end
object Deletefavorite1: TMenuItem
Caption = 'Delete Favorite'
end
object N10: TMenuItem
Caption = '-'
end
end
object Help1: TMenuItem
Caption = 'Help'
object HelpIndex1: TMenuItem
Caption = 'Help Index'
end
object N11: TMenuItem
Caption = '-'
end
object AboutRegistryeditordemo1: TMenuItem
Caption = 'About Registry Editor Demo...'
OnClick = AboutRegistryeditordemo1Click
end
end
end
object alMain: TActionList
Left = 80
Top = 144
object acImport: TAction
Category = 'Registry'
Caption = 'Import registryfile...'
end
object acExport: TAction
Category = 'Registry'
Caption = 'Export registryfile...'
end
object acConnectNetwork: TAction
Category = 'Registry'
Caption = 'Connect network drive...'
end
object acDisconnectNetwork: TAction
Category = 'Registry'
Caption = 'Disconnect network drive...'
end
object acPrint: TAction
Category = 'Registry'
Caption = 'Print...'
end
object acExit: TAction
Category = 'Registry'
Caption = 'Exit'
end
object acNewKey: TAction
Category = 'Edit'
Caption = 'Key'
end
object acNewString: TAction
Category = 'Edit'
Caption = 'String Value'
end
object acNewBinary: TAction
Category = 'Edit'
Caption = 'Binary Value'
end
object acNewDWORD: TAction
Category = 'Edit'
Caption = 'DWORD Value'
end
object acDelete: TAction
Category = 'Edit'
Caption = 'Delete'
end
object acRename: TAction
Category = 'Edit'
Caption = 'Rename'
end
object acCopyName: TAction
Category = 'Edit'
Caption = 'Copy Key Name'
end
object acFind: TAction
Category = 'Edit'
Caption = 'Find...'
end
object acFindNext: TAction
Category = 'Edit'
Caption = 'Find Next'
end
object acStatusBar: TAction
Category = 'View'
Caption = 'StatusBar'
end
object acRefresh: TAction
Category = 'View'
Caption = 'Refresh'
end
object acAddFav: TAction
Category = 'Favorites'
Caption = 'Add to Favorites'
end
object acDelFav: TAction
Category = 'Favorites'
Caption = 'Delete Favorite'
end
object acHelp: TAction
Category = 'Help'
Caption = 'Help Index'
end
object acAbout: TAction
Category = 'Help'
Caption = 'About Registry Editor Demo...'
end
end
end
--- NEW FILE: RegTVMainFormU.pas ---
{$I JVCL.INC}
unit RegTVMainFormU;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, JvRegTV, ExtCtrls, Menus, ActnList;
type
TRegTVMainForm = class(TForm)
StatusBar1: TStatusBar;
RegistryTreeView1: TJvRegistryTreeView;
ListView1: TListView;
Splitter1: TSplitter;
mmMain: TMainMenu;
Registry1: TMenuItem;
Importregistryfile1: TMenuItem;
Exportregistryfile1: TMenuItem;
N1: TMenuItem;
Connectnetworkdrive1: TMenuItem;
Disconnectnetworkdrive1: TMenuItem;
N2: TMenuItem;
Print1: TMenuItem;
N3: TMenuItem;
Exit1: TMenuItem;
Edit1: TMenuItem;
New1: TMenuItem;
Key1: TMenuItem;
N4: TMenuItem;
Stringvalue1: TMenuItem;
Binaryvalue1: TMenuItem;
DWORDvalue1: TMenuItem;
N5: TMenuItem;
Delete1: TMenuItem;
Rename1: TMenuItem;
N6: TMenuItem;
Copykeyname1: TMenuItem;
N7: TMenuItem;
Find1: TMenuItem;
FindNext1: TMenuItem;
View1: TMenuItem;
Statusbar2: TMenuItem;
N8: TMenuItem;
Refresh1: TMenuItem;
Favorites1: TMenuItem;
Addtofavorites1: TMenuItem;
Deletefavorite1: TMenuItem;
N10: TMenuItem;
Help1: TMenuItem;
HelpIndex1: TMenuItem;
N11: TMenuItem;
AboutRegistryeditordemo1: TMenuItem;
alMain: TActionList;
acImport: TAction;
acExport: TAction;
acConnectNetwork: TAction;
acDisconnectNetwork: TAction;
acPrint: TAction;
acExit: TAction;
acNewKey: TAction;
acNewString: TAction;
acNewBinary: TAction;
acNewDWORD: TAction;
acDelete: TAction;
acRename: TAction;
acCopyName: TAction;
acFind: TAction;
acFindNext: TAction;
acStatusBar: TAction;
acRefresh: TAction;
acAddFav: TAction;
acDelFav: TAction;
acHelp: TAction;
acAbout: TAction;
procedure RegistryTreeView1Expanding(Sender: TObject; Node: TTreeNode;
var AllowExpansion: Boolean);
procedure RegistryTreeView1Expanded(Sender: TObject; Node: TTreeNode);
procedure RegistryTreeView1Change(Sender: TObject; Node: TTreeNode);
procedure Refresh1Click(Sender: TObject);
procedure Statusbar2Click(Sender: TObject);
procedure Delete1Click(Sender: TObject);
procedure AboutRegistryeditordemo1Click(Sender: TObject);
procedure Rename1Click(Sender: TObject);
procedure Key1Click(Sender: TObject);
procedure Addtofavorites1Click(Sender: TObject);
procedure Importregistryfile1Click(Sender: TObject);
procedure Exportregistryfile1Click(Sender: TObject);
procedure Connectnetworkdrive1Click(Sender: TObject);
procedure Disconnectnetworkdrive1Click(Sender: TObject);
procedure Exit1Click(Sender: TObject);
private
procedure DoFavoriteClick(Sender: TObject);
end;
var
RegTVMainForm: TRegTVMainForm;
implementation
uses
Registry;
{$R *.dfm}
procedure TRegTVMainForm.RegistryTreeView1Expanding(Sender: TObject;
Node: TTreeNode; var AllowExpansion: Boolean);
begin
Screen.Cursor := crHourGlass;
end;
procedure TRegTVMainForm.RegistryTreeView1Expanded(Sender: TObject;
Node: TTreeNode);
begin
Screen.Cursor := crDefault;
end;
procedure TRegTVMainForm.RegistryTreeView1Change(Sender: TObject; Node: TTreeNode);
begin
StatusBar1.Panels[0].Text := RegistryTreeView1.CurrentPath;
end;
procedure TRegTVMainForm.Refresh1Click(Sender: TObject);
begin
Screen.Cursor := crHourGlass;
try
RegistryTreeView1.RefreshNode(RegistryTreeView1.Selected);
finally
Screen.Cursor := crDefault;
end;
end;
procedure TRegTVMainForm.Statusbar2Click(Sender: TObject);
begin
StatusBar1.Visible := Statusbar2.Checked;
end;
procedure TRegTVMainForm.Delete1Click(Sender: TObject);
begin
if RegistryTreeView1.Selected <> nil then
RegistryTreeView1.Selected.Delete;
end;
procedure TRegTVMainForm.AboutRegistryeditordemo1Click(Sender: TObject);
// var S,T,U:string;
begin
{ with TVersionInfo.Create(Application.Exename) do
try
S := FileVersion;
T := DateTimeToStr(FileDate);
finally
Free;
end;
ShowMessageFmt('Demo of the TRegistryTreeview component.'#13#10+
'Version: %s, Compile date: %s'#13#10#13#10+
'NOTE: edits are not saved to the registry.',
[S,T]);}
ShowMessage('Demo of the TRegistryTreeview component.'#13#10+
'NOTE: edits are not saved to the registry.');
end;
procedure TRegTVMainForm.Rename1Click(Sender: TObject);
begin
if RegistryTreeView1.Selected <> nil then
RegistryTreeView1.Selected.EditText;
end;
procedure TRegTVMainForm.Key1Click(Sender: TObject);
begin
with RegistryTreeView1.Items.AddChild(RegistryTreeView1.Selected,'New Key') do
begin
ImageIndex := 1;
SelectedIndex := 2;
MakeVisible;
EditText;
end;
end;
procedure TRegTVMainForm.DoFavoriteClick(Sender:TObject);
var N:TTreeNode;
begin
N := TTreeNode((Sender as TMenuItem).Tag);
if N <> nil then
begin
N.Selected := true;
N.Focused := true;
N.MakeVisible;
end;
end;
procedure TRegTVMainForm.Addtofavorites1Click(Sender: TObject);
var S:string;m:TMenuItem;
begin
if RegistryTreeView1.Selected <> nil then
begin
S := RegistryTreeView1.CurrentPath;
if InputQuery('Add to favorites','Name:',S) and (S <> '') then
begin
m := TMenuItem.Create(mmMain);
m.Caption := S;
m.Tag := integer(RegistryTreeView1.Selected);
m.OnClick := DoFavoriteClick;
m.AutoHotkeys := maManual;
Favorites1.Add(m);
end;
end;
end;
procedure TRegTVMainForm.Importregistryfile1Click(Sender: TObject);
begin
with TOpenDialog.Create(nil) do
try
Filter := 'Registry files|*.reg;*.key|All files|*.*';
InitialDir := '.';
if Execute then
RegistryTreeView1.LoadKey(Filename);
finally
Free;
end;
end;
procedure TRegTVMainForm.Exportregistryfile1Click(Sender: TObject);
begin
with TSaveDialog.Create(nil) do
try
Filter := 'Registry files|*.reg;*.key|All files|*.*';
InitialDir := '.';
if Execute then
RegistryTreeView1.SaveKey(Filename);
finally
Free;
end;
end;
procedure TRegTVMainForm.Connectnetworkdrive1Click(Sender: TObject);
begin
// RegConnectRegistry();
end;
procedure TRegTVMainForm.Disconnectnetworkdrive1Click(Sender: TObject);
begin
// RegCloseKey(RemoteRegKey);
end;
procedure TRegTVMainForm.Exit1Click(Sender: TObject);
begin
Close;
end;
end.
|