|
|
|
|
|
|
|
|
|
|
|
|
|
|
Creating context sensitive field help with dialog boxes (continued)
Second, make the table "Show only one row at a time" and "Switch rows programmatically," as shown in Figure C.
FIGURE C
 
Set the help table properties to show one row at a time Roll over picture for a larger image.
Next, add the "Table cell control." First, give your table a name. Here I used "HelpRowNO," as shown in Figure D.
FIGURE D
 
Give the table a name. Roll over picture for a larger image.
Then add the control field to your help dialog form. The field must have the same name as the table and be prefixed with a "$." In this example, it would be "$HelpRowNO," as shown in Figure E.
FIGURE E
Here's the table control field on the help dialog form.
Hide this field from Notes and the Web. Strictly speaking, this field isn't required because nobody ever sees it. Your code will create the required field on the form back end, even if there's no front-end presentation. But it does make life easier for the next programmer.
Usually you reduce clutter by hiding the Help hotspots in read mode. But the above approach won't work, since your code can't set a value on the form in read mode. If you want help to show, you can use a profile document to pass the value to the dialog form. Use the format @GetProfileField ( "ProfileFormName"; "ProfileFieldName"; @username). If you leave out the @username part, you could potentially get some strange results when a lot of people use your help!
Since nobody will ever see this field on the profile document, you don't need a form for it. Just give your profile document form a fake name. Your code can cheerfully update the field, and the help dialog can read it without ever using a profile form. For example:
@GetProfileField ( "FakeProfileName"; "FieldName"; @username)
|
The code I used LotusScript to call the help form in a dialog box because it's more flexible than using @formulas. The script behind the Help action hotspot is very simple.
The calling code is:
Call HelpDialog ( 1, "_Help Form MainDoc", "")
|
The called sub is:
Sub HelpDialog( intRow As Integer, strForm As String, strTitle As String)
%REM
=========================================================
PURPOSE
Launch the custom help form, and display the appropriate cell.
PASSED
intRow The row on the help table that will display.
strForm The particular help from to display
strTitle The title of the dialog box. If nothing, this field shows the word "Help"
RETURNS
Help document in the UI
LIBRARIES USED
None
SPECIAL NOTES
HISTORY
08 Mar 01 Chris Doig Initial version
=========================================================
%END REM
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Set uidoc = ws.CurrentDocument
Set doc = uidoc.document
'Set the row to open on the Help form
doc.~$HelpRowNO = intRow
'Set (help) dialog box title
If strTitle = "" Then
strTitle = "Help " & intRow
End If
'Display the help
Call ws.dialogbox ( strForm, True, True, False, False, False, False, strTitle, , True )
End Sub
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- Advertisement --
Find unused Lotus Notes groups and clean up your address book
Have you ever wanted to get rid of old Lotus Notes groups that were cluttering up your address book, but you weren't sure if they were used? Find Unused Groups can help.
Find Unused Groups will check your ACL, mail, multi purpose and server groups to help you determine if they are used, and who uses them.
Learn how to easily clean up your address book. |
-- Advertisement --
Struggling with exporting Notes data to spreadsheets? No More!
Try IntelliPRINT, The world's leading Reporting, Dashboards, and Analysis solution for Notes & Domino
- Don't spend unproductive time maintaining different versions of the same spreadsheet
- Preserve data integrity and security in multi-user environments
- Create reports in minutes INSIDE Notes
- Get freedom from iterative report requests, deliver self-serve capabilities
Experience Reporting, Dashboards, and Analysis INSIDE Notes.
Try IntelliPRINT NOW! |
|
|
|
|
|
|
|
|
|
|