#87449 - 2002-08-25 07:23 PM
Kixforms: Wish-list Checkpoint Version 2.0.3
|
Shawn
Administrator
   
Registered: 1999-08-13
Posts: 8611
|
Just a brain-storming checkpoint. Lots of stuff has already been implemented, much more stuff still to go. Please feel free to add to this list:
KIXFORMS 2.0.3 TODO LIST:
- Listboxes and comboboxes that support columns
- Enhanced handling of Horizontal ListBox scroll bars.
- TABINDEX property for ALL objects.
- TABKEYBEHAVIOR and ENTERKEYBEHAVIOR properties.
- Running Kixforms from the system tray.
- Multi-Page Bitmap Support
- Enhanced default Focus handling.
- ActiveX Server (.exe) support
- Font property support (font,size,bold,...)
- Cloning controls (very neat, always wanted to include that one)
- Need to do some more work on the ComboBox - has anyone been playing much ... whats missing ?
- A menubar, dockable that is
- Form tabs
- More Common Dialog support. BrowseForFolder (BrowseForAnything), CopyFilePB, Font, Color
- Support for transparency in graphics
[ 26. August 2002, 16:50: Message edited by: Shawn ]
|
|
Top
|
|
|
|
#87452 - 2002-08-26 06:29 AM
Re: Kixforms: Wish-list Checkpoint Version 2.0.3
|
Vig
Starting to like KiXtart
Registered: 2001-11-14
Posts: 166
Loc: Saudi Arabia
|
quote: Need to do some more work on the ComboBox - has anyone been playing much ... whats missing ?
May I suggest a scrollbar or extend the combobox drop length to fit all of the options.
From an earlier post.
|
|
Top
|
|
|
|
#87453 - 2002-08-26 07:37 AM
Re: Kixforms: Wish-list Checkpoint Version 2.0.3
|
Redback
Getting the hang of it
Registered: 2002-03-20
Posts: 71
Loc: Albury Wodonga, Australia
|
Support for more image types
I'd like to have animated GIF's
|
|
Top
|
|
|
|
#87454 - 2002-08-26 02:14 PM
Re: Kixforms: Wish-list Checkpoint Version 2.0.3
|
Shawn
Administrator
   
Registered: 1999-08-13
Posts: 8611
|
Vig,
I think if you set the height of a ComboBox to be really tall, then the dropdown length can be quite long, for example, to display all the drive letters from A: to Z:
code:
Break On $Form = CreateObject("Kixtart.Form") $Form.FontSize = 10 $Form.Size = 300,300 $ComboBox = $Form.ComboBox $ComboBox.Size = 100,400 $ComboBox.Center For $Drive = 65 to 90 $ComboBox.AddItem(CHR($Drive)+":") Next $Form.Center $Form.Show While $Form.Visible $=Execute($Form.DoEvents) Loop Exit 1
Just as an FYI, the ComboBox and ListBox respond to a (currently) write-only property called LIST. One can use it to quickly populate the list portion of an object, example:
code:
$ComboBox.List = "C:","D:","E:","F:"
[ 26. August 2002, 14:17: Message edited by: Shawn ]
|
|
Top
|
|
|
|
#87460 - 2002-08-26 05:28 PM
Re: Kixforms: Wish-list Checkpoint Version 2.0.3
|
Shawn
Administrator
   
Registered: 1999-08-13
Posts: 8611
|
Found them:
quote:
Is it somehow possible to disable the KiXforms about box when using minimize or maximizebuttons (e.g. sysmenu<>0) ? And another KiXforms RFC: could $Form.Icon='%SystemRoot%\Explorer.exe;7' be possible in the near future ?
I was playing with the idea of being able to "override" and "customize" the Kixforms ABOUT... menu item - that is to say, something like this:
code:
$Form.OnAbout = "About_Click" Function About_Click $Form.MsgBox("Kix script version 1.0") EndFunction
Or just be able to specify a string that does nothing (a NOOP):
code:
$Form.OnAbout = ""
Not too sure if you noticed or not - but Version 1 of Forms used to have "About Kixforms..." in the sysmenu - I changed it in TNG to say just "About..." in anticipation of this feature. Does that work for you - or should we be able to remove the menu item completely ?
Being able to pull an ICON resource from an EXE ... definitely will slip that one in tonight ... [ 26. August 2002, 17:29: Message edited by: Shawn ]
|
|
Top
|
|
|
|
#87462 - 2002-08-26 06:32 PM
Re: Kixforms: Wish-list Checkpoint Version 2.0.3
|
Shawn
Administrator
   
Registered: 1999-08-13
Posts: 8611
|
Jan, that was my plan all along - to be able to override and customize the About menu item in SysMenu. Its a great way to build a quick and dirty About box (to be sure) ... In terms of whether its allowable and all the crap ... of course its allowable ... Kixforms is freeware ... it always (and forever) will be free. Its a "tool" - like a hammer is a "tool" ... and when one sees a beautiful house, who stops to really ask what kind of hammer was used. The credit really goes to the Carpenter, the one that skillfully used the hammer. Being able to see "the house that was built" is all the credit or thanks that I'll ever need.
I not into that "give credit" "must show credit" "need to have credit" type legal beagle stuff ... I even don't have any of that "this is freeware, use at you own risk, I'm not responsible for this and that type jargon" in there (should I ?) ... We're all adults here and the terms and conditions attached to "Freeware" are fairly well known in our industry, no ?
But (isn't there always a but?) ... that leads me to Redbacks suggestion ... about support for GIF's and Animated GIF's and JPEGS, etc ...
Windows has native (builtin, free) support for only the BMP file format, and for animation, the AVI file format. I could (easily) incorporate a new control that supported AVI files ... but the question begs ... is that a good, commonly used file format to support. I like JPGS better then BMP's any day of the week.
But here's the real issue: to the best of my knowledge, GIFS & JPEGS and some other formats are proprietory technologies. They were developed by third party vendors and entail licensing (money) issues. They are included with Visual Basic because we PAY for Visual Studio, and I guess MS has a licensing agreement with these vendors.
Since Kixforms will always be free. I'm in a bit of bind for two reasons:
1) Obviously, I don't want to pay for or enter into any kind of licensing aggreement for GIFS and JPEGS.
2) I really don't want to add any huge runtime library requirement into Kixforms (embedded inside the DLL or standalone, like the VB runtimes).
So where does that leave us ... well, what I am doing is looking closely at the Freeware aspects of these file formats. What that means (I think) is that under certain circumstances, I can incorporate JPEGS and GIFS into Forms, but I will have to do so under Open Source and GPL licensing (whatever all that means) ... I've already started looking into it and it seems promising.
So bottom line answer is ... if I can find the code, and incorporate it freely (free) into forms, these features will happen. My "gut feeling" at this point is that it will happen.
-Shawn [ 26. August 2002, 18:42: Message edited by: Shawn ]
|
|
Top
|
|
|
|
#87467 - 2002-08-26 09:15 PM
Re: Kixforms: Wish-list Checkpoint Version 2.0.3
|
Shawn
Administrator
   
Registered: 1999-08-13
Posts: 8611
|
The multi-column sort thingy is definitely doable. I'll start Multi-column support tomorrow ... the thing is ... its a big change for the ListBox object (as opposed to an enhancement) so think what I'll do is after some minor enhancements tonight, freeze the 2.0 code (except for fixes) at 2.0.3 then start into 2.1 [does any of that versioning stuff make sense?]
The ListBox ToolTip thingy ... makes total sense as a very useful feature. I'll see if I can incorporate that (somehow) as a natural extention of the Multi-Column support. Maybe some kind of flag that indicates that the list ItemData (a column that contains hidden, user-defined information) should be "shown" as a ToolTip ?
AlwaysOnTop ? Are you referring to the TopMost property for Forms, eg:
code:
$Form.TopMost = True
Or are you refering to the ToolBar style of Window that is normally associated with a TopMost style ? If you want to play, might want to try playing with some un-documented Forms features:
code:
$Form.BorderStyle = 5 ; Toolbar Window Style $Form.TopMost = True ; Always on top
Support for embeddable OLE objects ... yip ... totally doable ... Heres some thoughts ... Provide support for embedding an OLE object (ActiveX control) inside a Form. Kinda like a builtin Kixforms CreateObject function. Be able to specify a ProgId (if available) and/or a CLSID (like you sometimes see in HTML code).
Maybe we could take a stab at embedding the WebBrowser2 control (aka InternetExplorer.Application) ... the way it could work is that you would make a call something like this [and provide a bounding rectangle in which the control will "live"] :
code:
$IE = $Form.CreateObject("InternetExplorer.Application", 10,10, 200,200)
$IE.Navigate("http://www.kixtart.org")
$IE.Document.Write("<html></table></td></tr></table>...")
And then (licensing permitting) maybe be able to support standard and third party ActiveX controls (like fancy TickerTape controls, Calendar controls, controls that we write ourselves) ... its funny actually, now were talking about creating addons for an addon The challenge really is to "incorporate" all the ActiveX event handling into this scheme ... lots of work so won't happen overnight to be sure ...
|
|
Top
|
|
|
|
#87468 - 2002-08-26 09:53 PM
Re: Kixforms: Wish-list Checkpoint Version 2.0.3
|
Chris S.
MM club member
   
Registered: 2002-03-18
Posts: 2368
Loc: Earth
|
Ok, seems that the TopMost thingy was what I was talking about.
The OLE thingy would be awesome as well and would probably add another 1.5 months of car washing to your tab.
I think you know what I'm talking about with the tooltip thingy, but I'll include an example. Look at the 'User' listbox tooltip behavior on this script...
code:
break on cls
$TITLE = "KiX Manager"
$FORM = CREATEOBJECT("Kixtart.FORM")
$FORM.CAPTION = $TITLE $FORM.SCALEHEIGHT = 400 $FORM.SCALEWIDTH = 605 $FORM.FONTNAME = "Arial" $FORM.FONTSIZE = 9 $FORM.CENTER $FORM.TopMost = True
$fraBanner = $FORM.PictureBox $fraBanner.BACKCOLOR = $FORM.RGB(255,255,255) $fraBanner.HEIGHT = 70 $fraBanner.LEFT = 10 $fraBanner.TOP = 10 $fraBanner.WIDTH = 585 $fraBanner.FONTSIZE = 20 $fraBanner.FONTNAME = "verdana" $fraBanner.ForeColor = 0 $fraBanner.PrintXY (70,0,"KiX Manager") $fraBanner.FONTSIZE = 8 $fraBanner.ForeColor = $FORM.RGB(0,100,100) $fraBanner.PrintXY (73,32,"Powered by KiX v@KIX and Kixforms v"+$Form.Version) $fraBanner.FONTBOLD = 1 $fraBanner.FONTSIZE = 11 $fraBanner.PrintXY (73,46,"Welcome @FULLNAME") $fraBanner.FONTBOLD = 0 $fraBanner.FONTSIZE = 10
$picBanner = $fraBanner.Image $picBanner.Picture = "shell32.dll;18" $picBanner.HEIGHT = 50 $picBanner.LEFT = 5 $picBanner.TOP = 5 $picBanner.WIDTH = 50
$fraDetails = $FORM.Frame("Details") $fraDetails.HEIGHT = 300 $fraDetails.LEFT = 10 $fraDetails.TOP = 90 $fraDetails.WIDTH = 585
$lstDomains = $fraDetails.ComboBox $lstDomains.LEFT = 100 $lstDomains.TOP = 30 $lstDomains.WIDTH = 150 $lstDomains.OnClick = "funcChooseDomain()" $lblDomains = $fraDetails.Label("Domain: ") $lblDomains.WIDTH = 75 $lblDomains.LEFT = $lstDomains.LEFT - $lblDomains.WIDTH $lblDomains.TOP = $lstDomains.TOP+2 $lblDomains.Alignment = 1
$objNamespace=GetObject("WinNT:") for each $Domain in $objNamespace $lstDomains.Additem ($Domain.Name) next $lstDomains.Value=@Domain
$lstComputers = $fraDetails.ListBox $lstComputers.HEIGHT = 80 $lstComputers.LEFT = 100 $lstComputers.TOP = 60 $lstComputers.WIDTH = 150 $lblComputers = $fraDetails.Label("Computers: ") $lblComputers.WIDTH = 75 $lblComputers.LEFT = $lstComputers.LEFT - $lblComputers.WIDTH $lblComputers.TOP = $lstComputers.TOP+2 $lblComputers.Alignment = 1
$lstUsers = $fraDetails.ListBox $lstUsers.HEIGHT = 80 $lstUsers.LEFT = 100 $lstUsers.TOP = 150 $lstUsers.WIDTH = 150 $lblUsers = $fraDetails.Label("Users: ") $lblUsers.WIDTH = 75 $lblUsers.LEFT = $lstUsers.LEFT - $lblUsers.WIDTH $lblUsers.TOP = $lstUsers.TOP+2 $lblUsers.Alignment = 1 $lstUsers.OnClick = "ToolTip()"
$Wait = CREATEOBJECT("Kixtart.FORM") $Wait.CAPTION = $TITLE $Wait.SCALEWIDTH = 350 $Wait.SCALEHEIGHT = 100 $Wait.FONTSIZE = 14 $Wait.FONTNAME = "Arial" $Wait.PrintXY (30,30,"Searching, one moment please...") $Wait.CENTER
$FORM.Show $nul=funcChooseDomain()
While $FORM.Visible $nul=Execute($FORM.DoEvents) Loop $test
exit()
function funcChooseDomain() $Wait.Show $lstComputers.Clear $lstUsers.Clear $lstUsers.ToolTip="" $objDomain=GetObject("WinNT://"+$lstDomains.Value) $objComputers=GetObject("WinNT://"+$objDomain.name) $objComputers.Filter="Computer","" for each $objComputer in $objComputers $lstComputers.Additem ($objComputer.Name) next $objUsers=GetObject("WinNT://"+$objDomain.name) $objUsers.Filter="User","" for each $User in $objUsers $lstUsers.Additem ($User.Name) next $Wait.Hide endfunction
function ToolTip() $FORM.MousePointer = 13 $objUser=GetObject("WinNT://"+$objDomain.name+"/"+$lstUsers.Value+",user") $lstUsers.ToolTip = $objUser.FullName $FORM.MousePointer = 0 endfunction
BTW, this script is just something I'm playing around with to get a handle on using KiXForms and doesn't do anything useful yet.
|
|
Top
|
|
|
|
Moderator: Shawn, ShaneEP, Ruud van Velsen, Arend_, Jochen, Radimus, Glenn Barnas, Allen, Mart
|
1 registered
(Allen)
and 1198 anonymous users online.
|
|
|