serial KeyCodesCNTs,TTreeViewExCNTs Default %Library.TMFormClass %Library.TMForm %TMGroupBox %TMLabel %TMLabel %TMLabel %TMPanel %Library.TMBitmap %TMSpeedButton %TMSpeedButton %TMComboBox %TMComboBox %TMCheckBox %TMCheckBox %TMCheckBox %TMCheckBox %TMCheckBox %TMGroupBox %TMLabel %TMPaintBox initvalue:%String cache 0 %Status document literal cache 0 document literal Args:%String cache 0 document literal Args:%String cache 0 document literal cache 0 document literal Icon:%TMIcon,Canvas:%TMCanvas,X,Y,NewWidth,NewHeight:%Integer,TransparentColor:%Integer=$$$clWhite cache 0 document literal Bitmap:%TMBitmap,RowID:%String cache 0 document literal Bitmap:%TMBitmap,RowID:%String cache 0 document literal initvalue:%String cache 0 MApplication document literal Program,RowID:%String cache 0 document literal initvalue:%String cache 0 %Library.Status document literal Args:%String cache 0 document literal Args:%String cache 0 document literal 0 Do .. Set SortedCols(Loop)=ColLoop ;Borderspace 'onthouden' ;Set ..chkMultiRows.Tag=$LI(^ResVisual(Program,$$$gnList,RowID),$$$rcBorderSpaceLeft) ;Column Specs New SortLoop,tmpLength,XOffs,sumLength Set SortLoop="" Set sumLength=$LI(LS(RowID),$$$rcLinkerlijnDikte) Set XOffs=sumLength-1 //-1 omdat we beginnen van (0,0) For Set SortLoop=$O(SortedCols(SortLoop)) Quit:(SortLoop="") Do . Set ColLoop=SortedCols(SortLoop) . ;Transporteren gegevens . m LS(RowID,ColLoop)=^ResVisual(Program,$$$gnList,RowID,ColLoop,$$$cnFormat) . m LS(RowID,ColLoop)=^ResVisual(Program,$$$gnList,RowID,ColLoop,$$$cnExecute) . ;Lengte van huidige column uitlezen . Set tmpLength=LS(RowID,ColLoop,$$$ccLength) . ;Instellen van begin-end waarden aparte velden . Set XOffs=XOffs+1 //+1 omdat we op een volgende pixellijn beginnen met de column . Set LS(RowID,ColLoop,$$$ccRTXBegin)=XOffs . Set XOffs=XOffs+tmpLength-1 //Lengte van column opschuiven . Set LS(RowID,ColLoop,$$$ccRTXEnd)=XOffs . Set XOffs=XOffs+LS(RowID,ColLoop,$$$ccRechterlijnDikte) //Lengte van rechterlijn opschuiven . ;Optellen 'Total Length' . Set sumLength=sumLength+tmpLength+LS(RowID,ColLoop,$$$ccRechterlijnDikte) ;Bijvoegen van 'op voorhand berekende waarde': full-length van de frame (row) Set $LI(LS(RowID),$$$rcRTLength)=sumLength //Bitmap instellen... Set ..VBitmap.PixelFormat=$LI(LS(RowID),$$$rcPixelFormat) Set ..gbPreview.Caption=" Preview ("_ ..VBitmap.PixelFormat _") " //Creatie virtuele bitmap Set ..VBitmap.Canvas.Brush.Color=..pbPreview.Color Do ..VBitmap.Canvas.FillRect($LB(0,0,..VBitmap.Width,..VBitmap.Height)) Do ..GenerateVirtualRow(..VBitmap,RowID) Do ..DrawTextOnRow(..VBitmap,RowID) //Clear Canvas+Tekenen van bitmap op canvas Set ..pbPreview.Canvas.Brush.Color=..pbPreview.Color Do ..pbPreview.Canvas.FillRect($LB(0,0,..pbPreview.Width,..pbPreview.Height)) Do ..pbPreviewPaint(Args) ;End of user code s Args=$lb(Sender) q ]]> Args:%String cache 0 document literal 0 Do .. Set ..cbbRow.ItemIndex=0 .. Set ..cbbRow.Enabled="True" .. Set ..btnRefresh.Enabled="True" . Else Do .. Set ..cbbRow.Enabled="False" .. Set ..cbbRow.Text="No ID's available" .. Set ..btnRefresh.Enabled="False" ;End of user code s Args=$lb(Sender) q ]]> Args:%String cache 0 document literal Args:%String cache 0 document literal Args:%String cache 0 document literal Args:%String cache 0 document literal Args:%String cache 0 document literal cache 0 document literal Program:%String cache 0 document literal Args:%String cache 0 document literal %Library.CacheSerialState list Address Form GroupBox1 GroupBox2 PaintBox1 Panel1 SpeedButton1 ComboBox1 ComboBox2 Label1 Label2 SpeedButton2 btnClose btnRefresh cbbPrograms cbbRows chkIgnoreColumnDefs pbPreview Label3 Label4 lblTime cbbProgram cbbRow VBitmap gbPreview chkShadow chkUseColumnDefs CheckBox1 CheckBox2 chkDrawLargeSL chkDrawML btnMultiView chkMultiLine chkMultiRows