Legato
Legato

GoFiler Legato Script Reference

 

Legato v 1.5d

Application v 5.25a

  

 

Chapter NineDialog Functions (continued)

9.18 Hypertext Controls (SysLink Controls)

9.18.1 Introduction

A Hypertext Control (control class name is “SysLink” with the allowed alias “HypertextControl”) is a window that renders marked-up text, and notifies the application when users click its embedded hyperlinks. Each control can support multiple hyperlinks, and you can access each hyperlink through a zero-based index.

The control operates in a manner similar to a static text control except for the ability to accept link highlighting and process clicks on linked text. Simple and restricted HTML is used to represent the text and links.

An example:

 

When the user clicks or tabs to and then presses space or enter, the notification procedure for the dialog is run. The script can then determine the type of message and take appropriate action. The control itself does not link or go to a specified page.

9.18.2 Control Markup

The control supports the anchor tag (<a>) along with the attributes HREF and ID. An HREF can be any protocol, such as http, ftp, and mailto. The ID attribute is an optional name, unique within the Hypertext Control and it is associated with an individual link. Links are also assigned a zero-based index according to their position within the string. This index is can be used to access a link. Values must be in double quotes, otherwise the tags are passed through as text.

Link information can be retrieved during a activation event using the HypertextControlGetState function. If a single hypertext link is within the control, the script can assume the first link was activated.

Tags that are not understood are passed through as text. Character entities are not processed.

9.18.3 Controls Styles

Control styles should be combined with regular window styles.

  Constant   Description  
  LWS_IGNORERETURN   When the link has keyboard focus and the user presses Enter, the keystroke is ignored by the control and passed to the host dialog box.  
  LWS_NOPREFIX   If the text contains an ampersand, it is treated as a literal character rather than the prefix to a shortcut key. Note that the ‘&’ character is not processed as a character entity escape.  
  LWS_RIGHT   The text is right justified.  
  LWS_TRANSPARENT   The background mix mode is transparent.  
  LWS_USECUSTOMTEXT   An NM_CUSTOMTEXT notification is sent when the control is drawn, so that the application can supply text dynamically. The action of this style is not supported.  
  LWS_USEVISUALSTYLE   The link is displayed in the current visual style.  

 

Hypertext controls send only the standard notification of a click and draw via the “notify” procedure. These are:

  Define   Value   Description  
  NM_CLICK   -2   User clicked on the control.  
  NM_RETURN    -4   User pressed return or space while a link had focus.  
  NM_CUSTOMDRAW   -12   Custom draw notification. Not supported and should be ignored.  
  NM_CUSTOMTEXT   -24   Request for text. Not supported and should be ignored.  

 

The click notification passes additional information that can be retrieved with HypertextControlGetState function. The procedure must discern between the other notification messages and not assume it is simply a click notification.

9.18.4 Functions

Page revised 2024-12-13