Types


TApCtrlQueryEvent  

defined in ApDlgParams.pas

TApCtrlQueryEvent = procedure (Sender: TObject; var AllowProceed : boolean) of object;

This type is used for the new event handlers in many components (first of all, in ApOpen/Save): OnUpLevelNavigating, etc. AllowProceed variable determines whether you can do appropriate action (for example, modify edit box text). Setting this variable to False will disable standard response on this action.


TApMsgQueryEvent

defined in ApDlgParams.pas

TApMsgQueryEvent = procedure (Sender: TObject; var m : TMessage; var AllowDispatch : boolean) of object;

This type is used in message processing mechanism in APRD components in OnEventHooking event handler. You can evaluate m message to decide whether dialog box procedure should process it or not by setting AllowDispatch value. Note that some messages wich are specific to call-back procedures could not be dispatched in this handler. For example you can not process BFFM_SELCHANGED message in TApFolderDialog or WM_NOTIFY with CDN_FOLDERCHANGE notification code  in TApOpenDialog component in OnEventHooking handler.


TApPlacesBarOptions class

defined in ApOpenSaveComm.pas

TApPlacesBarOptions = class(TPersistent)

published properties:

Visible : boolean

Visible or not...


RegistryKey: string

If this property is not empty then places (items on the places bar) are loaded from this registry key and are saved to. Note that this key must be subkey of HKEY_CURRENT_USER root key. For example

'SOFTWARE\CompanyName\AppName\AppVersion\Places'

Be attentive: when your dialog is closed then all subkeys of this key are deleted and then places are stored as new subkeys. It's very important: do not set this property to that key which is root for your application's settings. BE VERY CAREFUL WITH THIS OPTION!!!

Note that places from registry can owerwrite place stored in DFM file. Why this feature? Because it's the easiest way to allow end-user customization of places you add in design-time. This situation may occur if the following conditions exist.

1. If place from registry and place from DFM file have the same caption (PlaceName) and both these places refer to file system (non-special shell, PlaceSpecPath property is ftNone) folder;

2. If place from registry and place from DFM file refer to one special shell folder.


Places : TApPlaces

TApPlaces = class(TCollection)

Stores places wich will be displayed on the places bar. Now only file system's folders and files can be stored in this property. Places property is collection object which stores TApPlace objects.

TApPlace = class(TCollectionItem)
published

PlaceName : string; place name; used as caption for Place button
PlacePath: stirng; folder  path
PlaceDesc: string;  Place description; used as hint
PlaceIconLib: string;  Icon library; icons from this library are used (shell32.dll for example)
PlaceIcon: integer; Index for icon used in non-selected state
PlaceIconHot : integer; Index for icon used in selected state
AutoCaption : boolean; If true then system determines the caption for this place. For file system folders just folder name will be used (not full path) as caption if this property is true. For special shell folders the program tries to determine folder's name from registry or DLL's.

end;

 


AllowDrag: boolean

Whether the user can Drag&Drop operation for adding any file system folder to PlacesBar.


AllowDelete : boolean

Whether the user can delete any place using context menu or not.


AllowEdit : boolean

Whether the user can edit any place using context menu or not.


AutoScroll : boolean

AutoScroll option. It's PageScroller object property. Actually PlaceBar is placed on TPageScroller object and this property refers to it's AutoScroll one.