Use cToolbar.pkg Register_Object oToolbar Object oToolBar Is A cToolBar // Set pbWrapable To True Set pbShowLabels To True // display the psLabel property on the button // Set pbList To True // show the psLapel property to the right of the image Set pbNoDivider To True Set piIndent To 5 Object oImages Is A cImageList Set piMaxImages To 16 Procedure OnCreate Integer iVoid Get AddTransparentImage "Bgn.bmp" clLtGray To iVoid // 0 Get AddTransparentImage "Prev.bmp" clLtGray To iVoid // 1 Get AddTransparentImage "Next.bmp" clLtGray To iVoid // 2 Get AddTransparentImage "End.bmp" clLtGray To iVoid // 3 Get AddTransparentImage "Prompt16.bmp" clFuchsia To iVoid // 4 Get AddTransparentImage "New16.bmp" clFuchsia To iVoid // 5 Get AddTransparentImage "Save16.bmp" clFuchsia To iVoid // 6 Get AddTransparentImage "Delete16.bmp" clFuchsia To iVoid // 7 Get AddTransparentImage "Cut16.bmp" clFuchsia To iVoid // 8 Get AddTransparentImage "Copy16.bmp" clFuchsia To iVoid // 9 Get AddTransparentImage "Paste16.bmp" clFuchsia To iVoid // 10 Get AddTransparentImage "Wand.bmp" clLtGray To iVoid // 11 Get AddTransparentImage "Connect16.bmp" clLtGray To iVoid // 12 Get AddTransparentImage "Property16.bmp" clFuchsia To iVoid // 13 Get AddTransparentImage "Help16.bmp" clFuchsia To iVoid // 14 Get AddTransparentImage "Info16.bmp" clFuchsia To iVoid // 15 End_Procedure End_Object Set phoImageList To (oImages(Self)) Function Item_Count Returns Integer End_Function // Status_Help Object oFirst Is A cToolbarButton Set psLabel To "First" Set pbAutoSize To True Set psTooltip To 'Navigation:\nDisplay the first Database Table Setup record (Ctrl+Home)' Set psStatusHelp To 'Find the First record (Ctrl+Home)' Set piImage To 0 Delegate Set phoFirst To Self Procedure OnClick Send DoSendToDeoFocus msg_beginning_of_data End_Procedure End_Object Object oPrevious Is A cToolbarButton Set psLabel To "Prev" Set pbAutoSize To True Set psTooltip To 'Find Previous (F7)' Set psStatusHelp To 'Find the Previous record (F7)' Set piImage To 1 Delegate Set phoPrevious To Self Procedure OnClick Send DoSendToDeoFocus msg_find_previous End_Procedure End_Object Object oNext Is A cToolbarButton Set psLabel To "Next" Set pbAutoSize To True Set psTooltip To 'Find Next (F8)' Set psStatusHelp To 'Find the Next record (F8)' Set piImage To 2 Delegate Set phoNext To Self Procedure OnClick Send DoSendToDeoFocus msg_find_next End_Procedure End_Object Object oLast Is A cToolbarButton Set psLabel To "Last" Set pbAutoSize To True Set psTooltip To 'End of table (Ctrl+End)' Set psStatusHelp To 'Find the Last record (Ctrl+End)' Set piImage To 3 Delegate Set phoLast To Self Procedure OnClick Send DoSendToDeoFocus msg_end_of_data End_Procedure End_Object Object oSeparator Is A cToolbarButton Set peStyle To bsSeparator End_Object Object oPrompt Is A cToolbarButton Set psLabel To "Search" Set pbAutoSize To True Set psTooltip To 'Show available selections (F4)' Set psStatusHelp To 'Show a list with available selections (F4)' Set piImage To 4 Delegate Set phoPrompt To Self Procedure OnClick Send DoSendToDeoFocus msg_prompt End_Procedure End_Object Object oClear Is A cToolbarButton Set psLabel To "New/Clear" Set pbAutoSize To True Set psTooltip To 'Add a new record/Clear current record (F5)' Set psStatusHelp To 'Add a new record/Clear current record (F5)' Set piImage To 5 Delegate Set phoClear To Self Procedure OnClick Send DoSendToDeoFocus msg_request_clear End_Procedure End_Object Object oSeparator Is A cToolbarButton Set peStyle To bsSeparator End_Object Object oSave Is A cToolbarButton Set psLabel To "Save" Set pbAutoSize To True Set psTooltip To 'Save the current record (F2 or Ctrl+S)' Set psStatusHelp To 'Save the current record (F2 or Ctrl+S)' Set piImage To 6 Delegate Set phoSave To Self Procedure OnClick Send DoSendToDeoFocus msg_request_save End_Procedure End_Object Object oDelete Is A cToolbarButton Set psLabel To "Delete" Set pbAutoSize To True Set psTooltip To 'Delete the current record (Shift+F2)' Set psStatusHelp To 'Delete the current record (Shift+F2)' Set piImage To 7 Delegate Set phoDelete To Self Procedure OnClick Send DoSendToDeoFocus msg_request_delete End_Procedure End_Object Object oSeparator Is A cToolbarButton Set peStyle To bsSeparator End_Object Object oCut Is A cToolbarButton Set psLabel To "Cut" Set pbAutoSize To True Set psTooltip To 'Cuts the selection and puts it on the Clipboard (Ctrl+X)' Set psStatusHelp To 'Cuts the selection and puts it on the Clipboard (Ctrl+X)' Set piImage To 8 Delegate Set phoCut To Self Procedure OnClick Send DoSendToDeoFocus msg_cut End_Procedure End_Object Object oCopy Is A cToolbarButton Set psLabel To "Copy" Set pbAutoSize To True Set psTooltip To 'Copies the selection and puts it on the Clipboard (Ctrl+C)' Set psStatusHelp To 'Copies the selection and puts it on the Clipboard (Ctrl+C)' Set piImage To 9 Delegate Set phoCopy To Self Procedure OnClick Send DoSendToDeoFocus msg_copy End_Procedure End_Object Object oPaste Is A cToolbarButton Set psLabel To "Paste" Set pbAutoSize To True Set psTooltip To 'Inserts Clipboard contents (Ctrl+V)' Set psStatusHelp To 'Inserts Clipboard contents (Ctrl+V)' Set piImage To 10 Delegate Set phoPaste To Self Procedure OnClick Send DoSendToDeoFocus msg_paste End_Procedure End_Object // Object oSeparator Is A cToolbarButton // Set peStyle To bsSeparator // End_Object // Register_Object oConnectDbWizard // Object oConnectDbWizard_bn Is A cToolbarButton // Set psLabel To "Database Tables Setup &Wizard" // Set pbAutoSize To True // Set psTooltip To 'Wizard for creating a Database Table Setup record (Alt+W)' // Set psStatusHelp To 'Wizard for creating a Database Table Setup record' // Set piImage To 11 // Procedure OnClick // Send Popup Of (oConnectDbWizard(oClientArea(Self))) // End_Procedure // End_Object Object oSeparator Is A cToolbarButton Set peStyle To bsSeparator End_Object Object oConnectEngine Is A cToolbarButton Set psLabel To "&Connect Engine" Set pbAutoSize To True Set psTooltip To 'Start the Connect Engine (Alt+C)' Set psStatusHelp To 'Start the Connect Engine' Set piImage To 12 Procedure OnClick String sPath Move (psProgramPath(phoWorkspace(ghoApplication))) To sPath //Send DoStartDocument "open" (sPath - "\Connect.exe") "" "" End_Procedure End_Object Object oSeparator Is A cToolbarButton Set peStyle To bsSeparator End_Object Register_Object oProperties_dg Object oProperties_bn Is A cToolbarButton Set psLabel To "&Properties" Set pbAutoSize To True Set psTooltip To 'Program properties (Alt+P)' Set psStatusHelp To 'Program properties' Set piImage To 13 Procedure OnClick Send Popup Of (oProperties_dg(oClientArea(oMain(Self)))) End_Procedure End_Object Register_Procedure DoHelp Object oHelp Is A cToolbarButton Set psLabel To "&Help" Set pbAutoSize To True Set psTooltip To 'Help on how to use this program (F1)' Set psStatusHelp To 'Help on how to use this program (F1)' Set piImage To 14 Procedure OnClick Send DoSendToDeoFocus msg_DoHelp End_Procedure End_Object Register_Procedure Activate_About Object oAbout Is A cToolbarButton Set psLabel To "About" Set pbAutoSize To True Set psTooltip To 'Info about this program' Set psStatusHelp To 'Info about this program' Set piImage To 15 Procedure OnClick Send DoSendToDeoFocus msg_Activate_About End_Procedure End_Object Procedure DoFlipToobarButtonState Boolean bState Handle hoDD // Server handle. Handle hoFocus hServer Boolean bIsDeo bPrompt Integer iType iField Set pbEnabled Of (phoSave(Self)) To bState If hoDD Begin Set pbEnabled Of (phoClear(Self)) To (bState Or Current_Record(hoDD)) Set pbEnabled Of (phoDelete(Self)) To (Current_Record(hoDD)) End // If hoDD Begin End_Procedure // DoFlipEnabledState Procedure DoFlipToobarPromptState Boolean bState Set pbEnabled Of (phoFirst(Self)) To bState Set pbEnabled Of (phoPrevious(Self)) To bState Set pbEnabled Of (phoNext(Self)) To bState Set pbEnabled Of (phoLast(Self)) To bState Set pbEnabled Of (phoPrompt(Self)) To bState End_Procedure // DoFlipToobarPromptState End_Object // oToolbar