소심한넘 님, 안녕하세요.
그레이프시티입니다.
별도로 공유해주신 샘플 프로젝트를 개발팀에서 확인해본 결과,
해당 이슈는 Spread에서 visual style을 이용하여 요소를 프린트(또는 피트맵에 페인팅)할 때 발생하는 현상으로 보여진다고 합니다.
대안으로는, 조회된 정보를 Spread에 보여줄 때 DateTimeCellType을 사용하고 있는데, 해당 셀 타입 대신 다음과 같이 DateTimeCellType을 사용자 정의하여 사용함으로써 해당 오류를 방지할 수 있습니다.
Public Class CustomDateTimeCellType
Inherits FarPoint.Win.Spread.CellType.DateTimeCellType
Public Overrides Sub PaintCell(ByVal g As Graphics, ByVal r As Rectangle, ByVal appearance As FarPoint.Win.Spread.Appearance, ByVal value As Object, ByVal isSelected As Boolean, ByVal isLocked As Boolean, ByVal zoomFactor As Single)
Dim hdcX As IntPtr = g.GetHdc()
Dim toscreen As Boolean = VisualStyle.GetDeviceCaps(hdcX, VisualStyle.TECHNOLOGY) = VisualStyle.DT_RASDISPLAY
g.ReleaseHdc(hdcX)
Dim visualStyles As VisualStyles = appearance.VisualStyles
If Not toscreen Then
appearance.VisualStyles = visualStyles.Off
End If
MyBase.PaintCell(g, r, appearance, value, isSelected, isLocked, zoomFactor)
appearance.VisualStyles = visualStyles
End Sub
End Class
DateTimeCellType를 사용하는 코드를 위와 같이 정의한 CustomDateTimeCellType으로 변경하여 사용해보시기 바랍니다.
Try
Dim DtTm As New CustomDateTimeCellType
Dim DtCellType As CustomDateTimeCellType = New CustomDateTimeCellType
감사합니다.
그레이프시티 드림