Piet ,
Thanks works like a charm !
Belg of Hollander ?
Groeten
Fernand
find working code (adapted from Bernard Marcely) below:
Makes a Gridcontrol in a dialog with a graphic in the first cell
Sub Main
xgraphic = GetGraphFromHexString(GetPicHexString)
makegrid(xgraphic)
End Sub
function GetGraphFromHexString(sHex as String) as Any
oStorageFac = createUnoService("com.sun.star.embed.StorageFactory")
oStorage = oStorageFac.createInstance
oStream = oStorage.openStreamElement("ms777", com.sun.star.embed.ElementModes.READWRITE)
oDataOutputStream = createUNOService ("com.sun.star.io.DataOutputStream")
oDataOutputStream.setOutputStream(oStream)
for k=0 to len(sHex)/2-1
i = CInt("&H" & Mid(sHex, 2*k+1,2))
if i >=128 then i = i-256
oDataOutputStream.writeByte(i)
next k
oDataOutputStream.flush
oDataOutputStream.closeOutput
oProvider = createUnoService("com.sun.star.graphic.GraphicProvider")
Dim oProps(0)as new com.sun.star.beans.PropertyValue
oProps(0).Name = "InputStream"
oProps(0).Value = oStream
GetGraphFromHexString = oProvider.queryGraphic(oProps())
end function
function GetPicHexString() as String
s = "47494638396114001400E72700000000"
s = s & "01010102020203030304040405050506"
s = s & "06060707070808080909090A0A0A0B0B"
s = s & "0B0C0C0C0D0D0D0E0E0E0F0F0F101010"
s = s & "11111112121213131314141415151516"
s = s & "16161717171818181919191A1A1A1B1B"
s = s & "1B1C1C1C1D1D1D1E1E1E1F1F1F202020"
s = s & "21212122222223232324242425252526"
s = s & "26262727272828282929292A2A2A2B2B"
s = s & "2B2C2C2C2D2D2D2E2E2E2F2F2F303030"
s = s & "31313132323233333334343435353536"
s = s & "36363737373838383939393A3A3A3B3B"
s = s & "3B3C3C3C3D3D3D3E3E3E3F3F3F404040"
s = s & "41414142424243434344444445454546"
s = s & "46464747474848484949494A4A4A4B4B"
s = s & "4B4C4C4C4D4D4D4E4E4E4F4F4F505050"
s = s & "51515152525253535354545455555556"
s = s & "56565757575858585959595A5A5A5B5B"
s = s & "5B5C5C5C5D5D5D5E5E5E5F5F5F606060"
s = s & "61616162626263636364646465656566"
s = s & "66666767676868686969696A6A6A6B6B"
s = s & "6B6C6C6C6D6D6D6E6E6E6F6F6F707070"
s = s & "71717172727273737374747475757576"
s = s & "76767777777878787979797A7A7A7B7B"
s = s & "7B7C7C7C7D7D7D7E7E7E7F7F7F808080"
s = s & "81818182828283838384848485858586"
s = s & "86868787878888888989898A8A8A8B8B"
s = s & "8B8C8C8C8D8D8D8E8E8E8F8F8F909090"
s = s & "91919192929293939394949495959596"
s = s & "96969797979898989999999A9A9A9B9B"
s = s & "9B9C9C9C9D9D9D9E9E9E9F9F9FA0A0A0"
s = s & "A1A1A1A2A2A2A3A3A3A4A4A4A5A5A5A6"
s = s & "A6A6A7A7A7A8A8A8A9A9A9AAAAAAABAB"
s = s & "ABACACACADADADAEAEAEAFAFAFB0B0B0"
s = s & "B1B1B1B2B2B2B3B3B3B4B4B4B5B5B5B6"
s = s & "B6B6B7B7B7B8B8B8B9B9B9BABABABBBB"
s = s & "BBBCBCBCBDBDBDBEBEBEBFBFBFC0C0C0"
s = s & "C1C1C1C2C2C2C3C3C3C4C4C4C5C5C5C6"
s = s & "C6C6C7C7C7C8C8C8C9C9C9CACACACBCB"
s = s & "CBCCCCCCCDCDCDCECECECFCFCFD0D0D0"
s = s & "D1D1D1D2D2D2D3D3D3D4D4D4D5D5D5D6"
s = s & "D6D6D7D7D7D8D8D8D9D9D9DADADADBDB"
s = s & "DBDCDCDCDDDDDDDEDEDEDFDFDFE0E0E0"
s = s & "E1E1E1E2E2E2E3E3E3E4E4E4E5E5E5E6"
s = s & "E6E6E7E7E7E8E8E8E9E9E9EAEAEAEBEB"
s = s & "EBECECECEDEDEDEEEEEEEFEFEFF0F0F0"
s = s & "F1F1F1F2F2F2F3F3F3F4F4F4F5F5F5F6"
s = s & "F6F6F7F7F7F8F8F8F9F9F9FAFAFAFBFB"
s = s & "FBFCFCFCFDFDFDFEFEFEFFFFFF21FE03"
s = s & "42616A002C000000001400140000085C"
s = s & "0001081C48B0A0C183080D9A5BC8B0A1"
s = s & "4373041F36242801E240890F2500B028"
s = s & "1063C38A1B237A34571122C78D1E4B9A"
s = s & "14295125C3842C275E9488D261CC8934"
s = s & "673EAC29B323CD9C3E7702E58973A74E"
s = s & "9B4331125D08B3A9D3840101003B"
GetPicHexString = s
end function
Sub makegrid(xgraphic)
Dim dlg As Object, km As Object
Dim gdatam As Object, gcolm As Object, uneColonne As Object
DialogLibraries.loadLibrary("Standard")
dlg = CreateUnoDialog(DialogLibraries.getByName("Standard").getByName("Dialog1"))
gcolm = CreateUnoService("com.sun.star.awt.grid.DefaultGridColumnModel")
uneColonne = CreateUnoService("com.sun.star.awt.grid.GridColumn")
uneColonne.Title = "Production"
gcolm.addColumn(uneColonne)
uneColonne = CreateUnoService("com.sun.star.awt.grid.GridColumn")
uneColonne.Title = "Info"
gcolm.addColumn(uneColonne)
uneColonne = CreateUnoService("com.sun.star.awt.grid.GridColumn")
uneColonne.Title = "Result"
gcolm.addColumn(uneColonne)
gdatam = CreateUnoService("com.sun.star.awt.grid.DefaultGridDataModel")
dim ass() as variant
gdatam.addRow("France", array(xgraphic,"aaaa", -217))
gdatam.addRow("Germany", Array(xgraphic,"bbbb", 1234))
gdatam.addRow("Sweden", Array(xgraphic,"cccc", 951.23))
'gdatam.RowHeaderWidth = 30
km = dlg.Model.createInstance("com.sun.star.awt.grid.UnoControlGridModel")
km.PositionX = 15
km.PositionY = 15
km.Width = 200
km.Height = 150
km.Name = "Grid1"
km.GridDataModel = gdatam
km.ColumnModel = gcolm
km.GridLineColor = RGB(0, 0, 0)
km.TextColor = RGB(0,0,150)
km.ShowColumnHeader = True
km.ShowRowHeader = True
km.HeaderBackgroundColor = RGB(255, 255, 0)
dlg.Model.insertByName(km.Name, km)
dlg.execute
dlg.dispose
End Sub