Class TMainForm (unit RXMain) |
Inherits from
TForm
This program provides an example of how to use the TreeView and ListView
components in a fashion similar to the Microsoft Windows Explorer.
It is not intended to be a fully functional resource viewer.
procedure FileExit(Sender: TObject);
procedure FileOpen(Sender: TObject);
procedure FLB1Change(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
Form Initialization
procedure Fullcollapse1Click(Sender: TObject);
procedure Fullexpand1Click(Sender: TObject);
procedure ListViewChange(Sender: TObject; Item: TListItem;
Change: TItemChange);
procedure ListViewEnter(Sender: TObject);
procedure ListViewPanelResize(Sender: TObject);
procedure MPlayerNotify(Sender: TObject);
procedure NotebookEnter(Sender: TObject);
procedure SplitterMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);} {procedure SplitterMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);} {procedure SplitterMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);} {procedure ViewMenuDropDown(Sender: TObject);procedure TMainForm.
procedure PopupMenu2Popup(Sender: TObject);
procedure SaveResource(Sender: TObject);
procedure SelectListViewType(Sender: TObject);
procedure ShowAboutBox(Sender: TObject);
procedure ToggleStatusBar(Sender: TObject);
procedure TreeViewChange(Sender: TObject; Node: TTreeNode);
StatusBar.
procedure TreeViewMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure DisplayResources;
procedure LoadResources(ResList: TResourceList; Node: TTreeNode);
SplitControl: TSplitControl; Non Event Handlers
procedure MyMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure MyOnClose(Sender: tObject; var Action: TCloseAction);
wm_RButtonDown : DestroyWindow(aDlg);
procedure SetEC(const aErrorCaption: string);
procedure SetFile(const aName: string);
Menu Event Handlers
procedure UpdateListView(ResList: TResourceList);
finally FreeLibrary(fHnd); end else ErrorCaption := 'Unable to load library: ' + fName + ' Er:' + IntToHex(GetLastError, 8);
procedure UpdateStatusLine(ResItem: TResourceItem);
procedure UpdateViewPanel;
property ErrorCaption : string
AboutBtn : TSpeedButton;
Bevel1 : TBevel;
Bevel2 : TBevel;
Bevel3 : TBevel;
DLB1 : TDirectoryListBox;
DriveComboBox1 : TDriveComboBox;
FileOpenDialog : TOpenDialog;
FileSaveDialog : TSaveDialog;
FilterComboBox1 : TFilterComboBox;
FLB1 : TFileListBox;
FlbSwBtn : TSpeedButton;
Fullcollapse1 : TMenuItem;
Fullexpand1 : TMenuItem;
ImageViewer : TImage;
Label1 : TLabel;
Label2 : TLabel;
Label3 : TLabel;
Large : TImageList;
ListView : TListView;
ListViewCaption : TPanel;
ListViewPanel : TPanel;
Memo1 : TMemo;
Mover1 : TMover;
Mover2 : TMover;
Mover3 : TMover;
MPlayer : TMediaPlayer;
Notebook : TNotebook;
OpenBtn : TSpeedButton;
Panel1 : TPanel;
Panel2 : TPanel;
Panel3 : TPanel;
Panel4 : TPanel;
Panel5 : TPanel;
Panel6 : TPanel;
Panel7 : TPanel;
PopupMenu1 : TPopupMenu;
PopupMenu2 : TPopupMenu;
Saveas1 : TMenuItem;
SaveResBtn : TSpeedButton;
Saveresource1 : TMenuItem;
Small : TImageList;
SpeedButton2 : TSpeedButton;
SpeedButton3 : TSpeedButton;
SpeedButton4 : TSpeedButton;
SpeedButton5 : TSpeedButton;
SpeedButton6 : TSpeedButton;
StatusBar : TStatusBar;
StringViewer : TRichEdit;
TreeView : TTreeView;
TreeViewPanel : TPanel;
VIList : TListView;
FExeFile : TExeImage;
HexDump : THexDump;
isUpdating : Boolean;
MediaFile : string;
procedure FileExit(Sender: TObject);
procedure FileOpen(Sender: TObject);
procedure FLB1Change(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
Form Initialization
procedure Fullcollapse1Click(Sender: TObject);
procedure Fullexpand1Click(Sender: TObject);
procedure ListViewChange(Sender: TObject; Item: TListItem;
Change: TItemChange);
procedure ListViewEnter(Sender: TObject);
procedure ListViewPanelResize(Sender: TObject);
procedure MPlayerNotify(Sender: TObject);
procedure NotebookEnter(Sender: TObject);
procedure SplitterMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);} {procedure SplitterMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);} {procedure SplitterMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);} {procedure ViewMenuDropDown(Sender: TObject);
procedure TMainForm.ViewMenuDropDown(Sender: TObject);
var
I: Integer;
begin
miViewStatusBar.Checked := StatusBar.Visible;
for I := 0 to miView.Count-1 do
with miView.Items[I] do
if GroupIndex = 1 then
Checked := (Tag = Ord(ListView.ViewStyle));
end;} {procedure TMainForm.SplitterMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if (Button = mbLeft) and (Shift = [ssLeft]) then
SplitControl.BeginSizing(Splitter, TreeViewPanel);
end;} {procedure TMainForm.SplitterMouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
begin
with SplitControl do if Sizing then ChangeSizing(X, Y);
end;} {procedure TMainForm.SplitterMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
with SplitControl do if Sizing then EndSizing;
end;
procedure PopupMenu2Popup(Sender: TObject);
procedure SaveResource(Sender: TObject);
procedure SelectListViewType(Sender: TObject);
procedure ShowAboutBox(Sender: TObject);
procedure ToggleStatusBar(Sender: TObject);
procedure TreeViewChange(Sender: TObject; Node: TTreeNode);
StatusBar.Visible := not StatusBar.Visible;
procedure TreeViewMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure DisplayResources;
procedure LoadResources(ResList: TResourceList; Node: TTreeNode);
SplitControl: TSplitControl;
Non Event Handlers
procedure MyMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure MyOnClose(Sender: tObject; var Action: TCloseAction);
wm_RButtonDown : DestroyWindow(aDlg);
procedure SetEC(const aErrorCaption: string);
procedure SetFile(const aName: string);
Menu Event Handlers
procedure UpdateListView(ResList: TResourceList);
finally FreeLibrary(fHnd); end else ErrorCaption := 'Unable to load library: ' + fName + ' Er:' + IntToHex(GetLastError, 8);
procedure UpdateStatusLine(ResItem: TResourceItem);
procedure UpdateViewPanel;
property ErrorCaption : string
AboutBtn : TSpeedButton;
Bevel1 : TBevel;
Bevel2 : TBevel;
Bevel3 : TBevel;
DLB1 : TDirectoryListBox;
DriveComboBox1 : TDriveComboBox;
FileOpenDialog : TOpenDialog;
FileSaveDialog : TSaveDialog;
FilterComboBox1 : TFilterComboBox;
FLB1 : TFileListBox;
FlbSwBtn : TSpeedButton;
Fullcollapse1 : TMenuItem;
Fullexpand1 : TMenuItem;
ImageViewer : TImage;
Label1 : TLabel;
Label2 : TLabel;
Label3 : TLabel;
Large : TImageList;
ListView : TListView;
ListViewCaption : TPanel;
ListViewPanel : TPanel;
Memo1 : TMemo;
Mover1 : TMover;
Mover2 : TMover;
Mover3 : TMover;
MPlayer : TMediaPlayer;
Notebook : TNotebook;
OpenBtn : TSpeedButton;
Panel1 : TPanel;
Panel2 : TPanel;
Panel3 : TPanel;
Panel4 : TPanel;
Panel5 : TPanel;
Panel6 : TPanel;
Panel7 : TPanel;
PopupMenu1 : TPopupMenu;
PopupMenu2 : TPopupMenu;
Saveas1 : TMenuItem;
SaveResBtn : TSpeedButton;
Saveresource1 : TMenuItem;
Small : TImageList;
SpeedButton2 : TSpeedButton;
SpeedButton3 : TSpeedButton;
SpeedButton4 : TSpeedButton;
SpeedButton5 : TSpeedButton;
SpeedButton6 : TSpeedButton;
StatusBar : TStatusBar;
StringViewer : TRichEdit;
TreeView : TTreeView;
TreeViewPanel : TPanel;
VIList : TListView;
FExeFile : TExeImage;
HexDump : THexDump;
isUpdating : Boolean;
MediaFile : string;