[module] SpreadSheet 0.0.2.1 - 3
[*:1ou6me2r] SS doesn't support Unicode by design and that will probably never change. Its open-source however.
[*:1ou6me2r] In order to use OVERDRAW types without dealing with structure details too much, use the S function. and include DRAWITEMSTRUCT definition given at the start of the _Test.ahk.
[*:1ou6me2r] For real life sample of usage, check out Property control.
[*:1ou6me2r]Notes about cell unlocking/unhiding.
[*:1ou6me2r]True ComboBox with ComboX
When I wrote my ToDo List app I asked for a possibility like this. If was one of my first questions within this forum.
Can this control handle this?
Isnt the picture clear ? Isn't the Type clear ?
If you can embed controls within this "spreadsheet control", this
could possibly a solution for some kind of continous form I asked a long time ago.
You can embed only controls available in the Types list, nothing else. So this is not general container.
Of course it exists, its called Tab. You can get "endless form" if you do keep adding controls constantly
Exists an GUI Element that can hold other GUI elements? It should be s.th like a endless form. Do you understand what I mean?
So it seems to me like a possible solution. Sorry if these next questions sound stupid, but assuming I have a checkbox in a first column, would it be possible to do some kind of action to a text control in a second column when activating/deactivating the checkbox in the first column?
And what about user-action in general. Can these embedded controls be assigned a g-label?
So, the answer is yes. You can uncheck something and influence other cells easily.
Your handler will be called on button click, state change etc, so you can do all that is necessary manualy.
So, SS is not Excell, but it can be wrapped into Excell with some higher API that relies on low level API on this page.
SS_SetCell(hCtrl, 1, 1, "type=TEXT", "txt=Caption", "bg=0xFF", "fg=0xFFFFFF") SS_SetCell(hCtrl, 2, 4, "type=CHECKBOX", "data=1", "imgal=CENTER", "[color=red]sub=OnChange[/color]") OnChange: SS_SetCell(hCtrl, 1, 1, "txt=Control is changed") return
This little code creates 2 cells one to have check. WHen you check it, it will change cell AA1 (1,1).
Red code is still not implemented.
Screenshot of the SprDemo.exe
It can even convert a formula to graphics! And, it can save and import to spr-file. Amazing possibilities for the size.
Would be very cool if we could fully use it with AHK! :wink:
Many new functions added - total count 29.
Acctually, almost everything is implemented but you can not access everything as I didn't find the way to interface some things yet...
The good thing is that SS can even be used for dynamic calculus as it supports Formula type for which you send CALCULATE message
Some examples from the demo code. Fairly trivial to xtend SetCell function to support this:
dtCellFloat dt 1.2345 szCellFormula1 db '(AA6+AA7+2)*3',0 szCellFormula2 db 'Sin(Rad(45))',0 szCellGraph db 'Grp(T(-1,0,0,Rgb(0,0,0),"Graph Demo"),X(0,PI()*4,0,1,Rgb(0,0,255),"x-axis"),Y(-1.1,1.1,0,0.5,Rgb(255,0,0),"y-axis"),gx(AJ1:AJ13,Rgb(0,0,0),"Cell values"),fx(Sin(x()),0.1,Rgb(255,0,255),"Sin(x)"),fx(x()^3-x()^2-x(),0.1,Rgb(0,128,0),"x^3-x^2-x"))',0
There are 16 slots for user fonts.
U create font by using SS_SetFont(hCtrl, idx, pFont)
U set the font for given cell with SetCell using fnt named parameter which u set to font index you want to use.
One other major thing is missing. SetGlobal.
This sets defaults for everything (row height, widht, colors etc..). This is currently possible to do per cell basis only.