Well it is the LabVIEW paradigm. LabVIEW is data driven (execution flow directed by the availabilty of data) as call back function are event driven (execution triggered by the occurence of a predetermined event).
Staying with pure G code, it is not possible to detect if the value of a control has changed without comparing in a loop its actual value with its previous value. Detection of mouse hovers and clicks is not available except for the picture control.
However, with appopriate coding, this change detection can be encapsulated in subVIs and made transparently outside the main diagram, emulating call back *VIs* on data change on a front panel control. I have attached a set of VIs (5.1) that illustrate the technique. Changes are detected in a reen
trant subVI (GeneralChangeDetect.vi) that fires some code when a change occurs on the polled control. For example, it can call a subVI when a change occurs (Greetings.vi).
Obviously it is not the answer you expected but it is an illustration of how such things are coded in LabVIEW.
This code is even simpler with LabVIEW 6 where the VI refum and control name string used to identify the polled control are replaced with a single control reference and variant data type is used instead of flattened data.
As LabVIEW evolve as a graphic programming langage, I expect to see more and more features related to control related events. I wouldn't be surprised to, sooner or later, have a property node that allows to detect data change and mouse events, like an occurence refnum or something similar.
To LV6 users: just drop the "Write to VISA" case to repair the broken "GeneralChangeDetect.vi". VISA controls are not refnums anymore...
Happy wiring.