I would never waste someone's time by making a joke with a question. I did fully explore your suggestion, and I also had enacted the ON CHANGE language. Here is what I am working with:
aSrc := { { "N", "New" }, {"R", "Rebuilt"}, {"U", "Used"} }
Then the code:
REDEFINE COMBOBOX oCbx VAR cSource ITEMS arrTranspose( aSrc )[2] ;
ON CHANGE ( cSource := aSrc[oCbx][1], oCbx:update() ) ID 2504 OF oDlg UPDATE
The combobox displays the 2nd element of the array as desired, but it also returns that element to the combobox rather than the value of element 1.
There are other issues that may contribute to this. 1). I used a variable here, but actually the VAR is a field of a data object, and 2) the dialog is actually on a folder page.
I have also tried this using the DBCOMBO variant, with two arrays, using ITEMS and LIST. Again, it displays correctly but returns the value of the dropdown list rather than the single letter code. Also, all my builds are with Harbour and Microsoft Visual C 2019
Obviously I can write a new routine to handle this directly, and as I want, but I was attempting to utilize capabilities already included in FWH.