ShawnAdministrator
(KiX Supporter)
2002-10-16 05:35 PM
Kixforms - Version 2.1.1 (Build 35) Pre-Release Round Up

Just another checkpoint in terms of whats cooking in the Kixforms oven. Version 2.1.1 will be released this weekend - a maintenance build mostly - a few bug fixes - the big change is with ListView sorting. Build 35 has a totally new revamped sorting engine - more accurate and little faster too boot. But mostly wanted to enumerate the work items that are still on table though ... I'm trying to keep a running list of suggestions and issues and will keep rolling them into each round-up until they all get done. As always - please feel free to add any items or comments.

code:
1) View-only TextBoxes

2) Masked TextBoxes

3) Multiline Tooltip Support

4) Support for complete suite of Mouse events

- OnMouseEnter
- OnMouseHover
- OnMouseLeave

5) RichEdit control

6) Enhanced (Automatic) handling of ListBox horizontal scrollbar.

7) ListView Enhancements

- HideColumnHeaders property
- Programatically set FocusedItem
- Set Items.Count in one-shot (Done)
- Sort method (sort by alpha or numeric)
- Implement Items.Insert method.

8) Fix file filter for FileOpenDialog and FileSaveDialog

9) Enhanced ProgressBar - support for embedded textual display of
progress message fe. "60% complete". Some other goodies as well.

10) TabStrip/MultiPage support

11) Fix image control resizing problem re: BorderStyle.

12) Fix set focus to textbox for InputBox (Done)

13) Be able to remove/customize frame borders.

14) Bring back support for Menus and Menu Items

15) Timer Reset method.

16) Implement BrowseForFolderDialog.

17) Fix Spinner long duration click issue.

18) TreeView support.

19) Running Kixforms from the System Tray.

20) Implement FIND for ListBox,ComboBox and ListView.

21) Implement dynamic form resizng framework.

22) CheckBoxes that support the third undetermined state.

23) ... Your request here ...

By the way - after much offline discussion and debate and soul-searching - decided to stick with the existing dotnet ListView interface (Items/SubItems) ... feel that its best to keep to the new VB standard ... not just for ListView but for all objects going forward. Some stuff, like enhanced ProgressBar, isn't even implemented in dotnet - but we'll cross those bridges when we get to them. AS well - the RichEdit control is called RichTextBox in VB ... not crazy about the name but going to bite the bullet on that one too [Wink]

[ 22. October 2002, 18:32: Message edited by: Shawn ]


krabourn
(Hey THIS is FUN)
2002-10-16 09:25 PM
Re: Kixforms - Version 2.1.1 (Build 35) Pre-Release Round Up

These are problably already in there.
1. InputBox focus set to the text line.
2. Fix .Default for TextBox.

Maybe we could get a .Reset for Timer?

Thanks for all the hard work.


LonkeroAdministrator
(KiX Master Guru)
2002-10-16 09:42 PM
Re: Kixforms - Version 2.1.1 (Build 35) Pre-Release Round Up

and timer showing something else than a clock.

ShawnAdministrator
(KiX Supporter)
2002-10-16 10:40 PM
Re: Kixforms - Version 2.1.1 (Build 35) Pre-Release Round Up

wah - you don't like my little clock there Jooel ? I scoured the Internet for ages looking for that icon - one of the few icons embedded as a resource inside Kixforms DLL (which would lead me to another suggestion that I will postpone for the time being [Wink] ).

Krabourn - the TextBox .Default thingy has already been fixed [Wink] think what I will do is email you the pre-release and you can check it out for yourself. The behavior of the textbox has changed in this regard - the text box will only eat the enter key (not trigger default) if it has the AcceptsReturn property set to TRUE.

The timer reset thingy might need some talk - not too sure what you wanted to do ... reset (pause) the timer or reset the timer to its original interval ... this can always be achieved by just re-setting the interval to its original value. In other words ... everytime you set the interval, it kills the existing timer and resets it to whatever you set it to. Thoughts ?

More on the timer icon thingy ... if I had to do it all over again, i probably would NOT have made the timer a seperate object (window). Its implemented as a simple LABEL control with an embedded picture of an alarm clock. Probably should have made it just a method of any given form or control object, fe.

$form.timer = 2000
$form.ontimer = "form_timer()"

and if one really wanted a seperate object to act as a timer - could just create a hidden label control and use that ... eh water under the bridge as they say!

-Funja


Chris S.
(MM club member)
2002-10-17 01:16 AM
Re: Kixforms - Version 2.1.1 (Build 35) Pre-Release Round Up

Howsabout numeric only textboxes? Also, maybe set a Min and Max value for num-only textboxes?

LonkeroAdministrator
(KiX Master Guru)
2002-10-17 01:23 AM
Re: Kixforms - Version 2.1.1 (Build 35) Pre-Release Round Up

sorry christ, I had to do this.

I would take chris'es idea little bit further.
make some sort of property, like .validchar for textbox.

$text.validchar="0123456789"

would only accept numeric strings.
or, if want to keep it simple, use chris' way but also make a textonly property...


ShawnAdministrator
(KiX Supporter)
2002-10-17 02:08 AM
Re: Kixforms - Version 2.1.1 (Build 35) Pre-Release Round Up

Great ideas guys ... will implement the MASK property for TextBox control ! In fact - such a good idea think I'll move it up on the priority list.

ShawnAdministrator
(KiX Supporter)
2002-10-17 02:19 AM
Re: Kixforms - Version 2.1.1 (Build 35) Pre-Release Round Up

Another thing I would like to implement (actually, I snuck a couple of them in with 2.1) are KIXFORMS RUNTIME ERROR MESSAGES. Basically what would (will?) happen is that if you call an unsupported method or property - or if you exceed the index bounds of the listview object ... a POPUP message will appear detailing the nature of the error ... as a start, thought I just do the "method/property unsupported" type messages - than if they're usefull, expand to other types of runtime errors ... just a thought.

ShawnAdministrator
(KiX Supporter)
2002-10-17 02:36 AM
Re: Kixforms - Version 2.1.1 (Build 35) Pre-Release Round Up

krabourn,

Caught the InputBox set focus to input field suggestion ... question ... when the textbox recieves the focus, wondering if it would be worthwhile/desirable to PRE-SELECT the default value already entered ... and if the user wanted to enter a different value, they could just start typing (all text will be erased because its selected) and if they wanted to accept or edit contents, just use the mouse/arrow keys to position and edit ...

Not too sure what the VB InputBox does about this ... guess I could give it a try but if it doesn't, think about it ...

[edit]

ok - I setup InputBox as follows ... the focus is now automatically positioned to the textbox ... the default string is initially pre-selected (which is what VB6 does). If you no likey, let me know.

[edit/edit]

Since I got the patient on the table (InputBox) and since noone has really commented on InputBox until now - is there anything else about InputBox you would like to see changed ? Font size ? Control size or positioning ?

[ 17. October 2002, 04:23: Message edited by: Shawn ]


krabourn
(Hey THIS is FUN)
2002-10-17 04:41 AM
Re: Kixforms - Version 2.1.1 (Build 35) Pre-Release Round Up

Shawn,

As for the .TextBox, everything sounds good so far. What will be the default value of the AcceptsReturn property?

I have been working on converting my workstation remote control/administration program from text based to GUI. I have two sections that query workstation and SMS information. Each will have their own timers. I want the counters to start after I have connected to the computer. I think something like .Reset, to me, is a logical extension to Timer. .Reset would change the value back to whatever was originally set. I am not sure this is as important to me for this project. After talking about this in another thread. I am going to set the value to a number of minutes on connect and 0 on disconnect with a default of 0. When I start converting my background administration scripts, .Reset will be nice. That way I can set the value at the beginning and reset the value back the original value.

Sorry for slow replies. I am a SMS, Microsoft's System Management Server, administrator at work and the last couple of weeks have become a love/hate relationship with it.

I went through my profile and made sure my email is viewable.

Thanks


ShawnAdministrator
(KiX Supporter)
2002-10-17 04:46 AM
Re: Kixforms - Version 2.1.1 (Build 35) Pre-Release Round Up

ok - so reset will set the timer back to whatever the timer value was last set to. and once it gets reset - the timer will immediately start counting down again ?

to do with the textbox - i was just going to post this ... the default AcceptsReturn property will be TRUE. The reason i did that is because (imho) more folk will want a textbox that accepts return - than will have default buttons defined on forms. Both scenarios are totally logical ... but default buttons tend to be found more on Dialog Boxes than on main forms - so I made that call. To you all it means is that you will have to set AcceptsReturn to FALSE.

[edit]

Hang on - let me check dotnet to see what the default is for a textbox ... one sec ...

[ 17. October 2002, 04:48: Message edited by: Shawn ]


ShawnAdministrator
(KiX Supporter)
2002-10-17 04:56 AM
Re: Kixforms - Version 2.1.1 (Build 35) Pre-Release Round Up

ok - so the gut feel was correct:

quote:

TextBox.AcceptsReturn Property

Gets or sets a value indicating whether pressing ENTER in a multiline TextBox control creates a new line of text in the control or activates the default button for the form.

Property Value

TRUE if the ENTER key creates a new line of text in a multiline version of the control; false if the ENTER key activates the default button for the form. The default is true.

Remarks

If the value of this property is false, the user must press CTRL+ENTER to create a new line in a multiline TextBox control. If there is no default button for the form, then the ENTER key will always create a new line of text in the control, no matter what the value of this property.

The deal is a follows - with VB in this scenario - even if you have AcceptsReturn set to FALSE, one can still enter a carriage return using ^ENTER ... but I haven't managed to have Forms reproduce this behavior yet - im still trying and I will get there - just not in the near term ... will this be a problem, ex. if you have a default button configured - you will never be able to hit enter into a MULTI-LINE textbox. Single-line textboxes this all doesn't matter anyways. And like I say - all this just until I do manage to get it working.


krabourn
(Hey THIS is FUN)
2002-10-17 04:59 AM
Re: Kixforms - Version 2.1.1 (Build 35) Pre-Release Round Up

Shawn,

Yes, I was assuming the Timer would start counting down again.

I don't think I commented on the InputBox. Let me double check a few things. The Selection of text is good. I assume the enter key will send the value though and the escape key will not.


ShawnAdministrator
(KiX Supporter)
2002-10-17 05:04 AM
Re: Kixforms - Version 2.1.1 (Build 35) Pre-Release Round Up

right on ... the OK button is the DEFAULT button. the Cancel button is the CANCEL button, ESC activates the CANCEL button and everything works just as you said.

krabourn
(Hey THIS is FUN)
2002-10-17 05:04 AM
Re: Kixforms - Version 2.1.1 (Build 35) Pre-Release Round Up

I thought of another request. I would like to be able to hide the border around an object besides forms, frames in particular. The best I have found is the single pixel border.

ShawnAdministrator
(KiX Supporter)
2002-10-17 05:13 AM
Re: Kixforms - Version 2.1.1 (Build 35) Pre-Release Round Up

Yeah - I will add that one to the list ... after RichEdit (RichTextBox) is done, I going to be revisting ALL the basic controls and upgrading them in various ways ... was going to start with ProgressBar, then move to CommandButton, then should be able to hit Frames after that. Know exactly what your talking about ... you want to be able to remove the single chiseled line that borders the frame ? That isn't governed by the BorderStyle property I'm afraid - its actually drawn by the Frame itself. Sure we can hit it when revisiting the Frame control.

JochenAdministrator
(KiX Supporter)
2002-10-17 08:11 AM
Re: Kixforms - Version 2.1.1 (Build 35) Pre-Release Round Up

Excellent !!

What shall I add ?

SetFocus programmatically on ListView ? Hmm ... one being able to default a List entry ? If it is optionable , no problem ..

fyi-got my own logic riddled, now starting to play the game [Big Grin] .. Will try to catch ya tonight ?

J.


LonkeroAdministrator
(KiX Master Guru)
2002-10-18 12:44 AM
Re: Kixforms - Version 2.1.1 (Build 35) Pre-Release Round Up

shawn, is there a limit in viewable columns width?

at one point, the ending columns do not so but the scrollbar still extends to their total width...


ShawnAdministrator
(KiX Supporter)
2002-10-17 02:13 PM
Re: Kixforms - Version 2.1.1 (Build 35) Pre-Release Round Up

Jooel - yeah - I saw your comments about that in the other thread ... I imagine that there is a limit but I have no idea what it is. I went searching on the NET and couldn't find any reference to the maximum number of columns that a listview can support. Might want to try your own search though.

Not too often you see a listview with 100+ columns though (spreadsheet yes - listview no) ... the most I've ever seen is about five of six (yeah?). Actually, I think the one app that use more listview columns than any other would be TASKMGR ... with all the select columns enabled - that would be about 25 or so.

Take a search and let me know, like I said, I can't find anything about that.


Chris S.
(MM club member)
2002-10-17 02:31 PM
Re: Kixforms - Version 2.1.1 (Build 35) Pre-Release Round Up

Shawn, to answer your question from e-mail. No, you didn't inadvertently fix it. It still does it.

LonkeroAdministrator
(KiX Master Guru)
2002-10-17 02:37 PM
Re: Kixforms - Version 2.1.1 (Build 35) Pre-Release Round Up

I might have spelled that wrong.
it still accepts all those 250 columns.
but the last ones will not show as they become hidden...

to really show what I mean, try this:
code:
$form = createobject("kixtart.form")
$form.size=$form.screen.width,300
$form.left=0

$list= $form.listview(,2,2 ,$form.clientwidth-4,240)

for $=0 to 200
$list.columns.add($,200).
next

$form.show
while $form.visible $=execute($form.doevents) loop
exit 0

first not shown is at 164 on my test.
then changing the width of the column 162 will show the 164 and so one...

so quick calculation...
162,5x200=16250x2=32500

eh, is that what?
isn't that just the same as kixtarts limit on string length?
so, where is the memory limit on this one?


LonkeroAdministrator
(KiX Master Guru)
2002-10-17 02:49 PM
Re: Kixforms - Version 2.1.1 (Build 35) Pre-Release Round Up

btw, is the listview going to have the ability to add the newist at the top or do I have to script the movement of all items one down and then add the first?

ShawnAdministrator
(KiX Supporter)
2002-10-17 05:32 PM
Re: Kixforms - Version 2.1.1 (Build 35) Pre-Release Round Up

Jooel - yeah the major thing left to add to the ListView is the Insert method for the Items collection, it will look like this:

$Item = $ListView.Items.Insert(index,string)

It will insert the item string at given index ... will get it in for the weekend build.


LonkeroAdministrator
(KiX Master Guru)
2002-10-17 06:11 PM
Re: Kixforms - Version 2.1.1 (Build 35) Pre-Release Round Up

any update on that width thingie?

ShawnAdministrator
(KiX Supporter)
2002-10-17 10:03 PM
Re: Kixforms - Version 2.1.1 (Build 35) Pre-Release Round Up

Jooel buddy - was doing some more playing (with the scriplet you provided) and i think you answered your own question there ... although I couldn't find any additional info on the web - it would seem that the ListView Header control has some sort of column/string cutoff point. Like you say - there must be a formula because if you reduce the size of the columns, more of them get displayed ... and 32K sounds like a nice round binary number to me.

Having said all that, not much I can do about this whole business I'm afraid ... other than maybe supporting a more robust Grid control in the future. Like I mentioned earlier (in another thread) - got (had) plans to implement a custom GRID control down the road (GridView/GridList?) but it is derived from the ListView control as well ... so probably same situation would occur ... maybe I'll rethink this or keep this in mind when that time comes.


ShawnAdministrator
(KiX Supporter)
2002-10-17 10:24 PM
Re: Kixforms - Version 2.1.1 (Build 35) Pre-Release Round Up

Added the following to the list:

code:
14) Bring back support for Menus and Menu Items

15) Timer Reset method.

16) Implement BrowseForFolderDialog.

17) Fix Spinner long duration click issue.



ShawnAdministrator
(KiX Supporter)
2002-10-22 06:33 PM
Re: Kixforms - Version 2.1.1 (Build 35) Pre-Release Round Up

Added a few more enhancements to the list. Some are requests, some are just stuff I've been meaning to do.

JochenAdministrator
(KiX Supporter)
2002-10-24 09:08 AM
Re: Kixforms - Version 2.1.1 (Build 35) Pre-Release Round Up

Shawn,

here's another (less important) one:

Is it possible to display the MsgBox object
centered to the active Form by default ?

There's not much I can think of to control this from within the script ... quite stupid thing that MsgBox [Roll Eyes] [Big Grin]

J.


ShawnAdministrator
(KiX Supporter)
2002-10-24 01:58 PM
Re: Kixforms - Version 2.1.1 (Build 35) Pre-Release Round Up

j, as discussed, the MsgBox function has a "mind of its own" ... could always construct your own message box UDF though [Wink]

JochenAdministrator
(KiX Supporter)
2002-10-24 02:08 PM
Re: Kixforms - Version 2.1.1 (Build 35) Pre-Release Round Up

Yeah,

the box will miss then the icon though [Roll Eyes]


ShawnAdministrator
(KiX Supporter)
2002-10-24 02:22 PM
Re: Kixforms - Version 2.1.1 (Build 35) Pre-Release Round Up

Well, you coud "try" setting the icon as a resource from SHELL32.DLL. But from my experience so far, the resources out of SHELL32.DLL are not consistent across OS's. I always thought that they were. Syntax is as follows:

$MsgBoxIcon.Icon = "SHELL32.DLL;23"

where "23" is the resource ident from the dll.


JochenAdministrator
(KiX Supporter)
2002-10-25 09:50 AM
Re: Kixforms - Version 2.1.1 (Build 35) Pre-Release Round Up

uh ,

missed this ... no, i meant the Icon in the box (red exlamation mark, question mark etc) not the one in the title [Big Grin]

Anyways , i'll stick with MsgBox

J.

{edit}
Hehe, nice tip ; got 22 for Options and 24 for help
{/edit}

[ 25. October 2002, 09:58: Message edited by: jpols ]