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.

Constructors



Functions

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;


Properties

property ErrorCaption : string


Events

Variables

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;



Constructors


Functions


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;


Properties


property ErrorCaption : string


Events


Variables


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;