Wine (Linux)

The following differences between native Windows and Wine are known. These are not specific to VS, but may affect VS applications more likely because of the nature of windowing/pen framework.

  • more thorough parameter checking for API calls. Nearly all API calls are being checked for success/failure in VS. This may cause #osErrors on Wine, that do not happen with native Windows. Example: Lb_Selitemrange – native Windows internally seems to correct invalid ranges, on Wine an invalid range will cause a failure of the API call.
  • SetCapture – when opening a new top level window (aka TopPane) in Windows, any mouse capture will be released automatically. This does not happen in Wine.
  • DrawFrameControl is buggy on Windows. Internally frame controls are being drawn using the Marlett font. So the appearance of the drawn controls depends on various settings of the device context. VS code very often uses TA_BASELINE as text alignment style. With this style the controls are not drawn correctly on Windows. DrawFrameControl on Wine internally sets the text align to TA_TOP before drawing the controls, so controls are displayed correctly regardless of the text alignment state of the device context.