Please can you try the changes below. I have tested here and they fix the ShortCutBar issue, however I need to understand the impact on users of the SigCjPushButton class before commiting these changes to SVN.
For users of the SigCjPushButton class the OnClick event has been moved from Mouse Down to Mouse Up. This should have no effect unless you have augmented / overridden any ofOnComMouseDown
MouseDown
OnComMouseUp
MouseUp
please let me know if this change impacts you
Change 1 – cSigCjPushButton.pkg – cSigCjPushButton class
Move “Send OnClick” from OnComMouseDown to OnComMouseUp
Code:
Procedure OnComMouseDown Short iButton Short iShift OLE_XPOS_PIXELS iX OLE_YPOS_PIXELS iY
Send MouseDown iButton iShift iX iY
End_Procedure
Procedure OnComMouseUp Short iButton Short iShift OLE_XPOS_PIXELS iX OLE_YPOS_PIXELS iY
Send OnClick
Send MouseUp iButton iShift iX iY
End_Procedure
Change 2 – cSigCjShortcutBar.pkg - cSigCjShortcutBar_Item_Button class
Change the supper class from cSigCjComPushButton to cSigCJPushButton (remove Com)
Change the name of method OnComClick to OnClick (again remove Com)
You will also need to change the Use statement at the top from Use SigCjW_Controls.pkg to Use cSigCJPushButton.pkg
Code:
Class cSigCjShortcutBar_Item_Button is a cSigCJPushButton
Procedure Construct_Object
Forward Send Construct_Object
Property Handle phMsg
Property Handle phObj
Set peAnchors to anLeftRight
End_Procedure
//-------------------------------------------------------------------------
Procedure OnCreate
Forward Send OnCreate
Set size to 40 88
Set ComFlatStyle to True
Set ComMultiLine to True
Set ComTextImageRelation to OLExtpImageAboveText
End_Procedure
//-------------------------------------------------------------------------
Procedure OnClick
Handle hMsg hObj
Get phMsg to hMsg
Get phObj to hObj
Send hMsg of hObj
End_Procedure
End_Class