Updated FormExDestop and ControlsExDesktop libraries

Discussion in 'Additional Libraries' started by agraham, Jan 3, 2008.

  1. agraham

    agraham Expert Licensed User

    Slightly updated FormExDesktop version 1.3 has bGetPixel anomaly of setting two pixels sorted and bGetImagePixel and bSetImagePixel methods added to work on a Forms' Image (not background) property.

    Slightly updated ControlsExDesktop version 1.1 has CheckBox and RadioButton renamed to CheckBoxEx and RadioButtonEx to avoid name conflicts that arose with version 6 of Basic4PPC.

    FormExDesktop 1.4 and ControlsExDesktop 1.2 posted here.

    EDIT :- ControlsExDesktop 1.3 posted. See post #4 for details

    EDIT :- ControlsExDesktop 1.4 posted. See post #5 for details

    EDIT :- Sources for FormExDesktop 1.4 and ControlsExDesktop 1.4 posted for merging.

    EDIT :- FormExDesktop 1.5 posted. See post #7 for details

    EDIT :- FormExDesktop1.6 posted with support for module name prefixes for the Thread object.

    EDIT :- ControlsExDesktop 1.5 posted. See post #21 for details

    EDIT :- ControlsExDesktop 1.6 posted. DropDownComboBox now has GetItem and SetItem.

    EDIT :- ControlsExDesktop 1.7 posted. See post 59 for details.

    EDIT:- FormExDesktop 1.7 posted with support for cross-thread events in the IDE. See post #60 for details.

    EDIT :- ControlsExDesktop 1.8 posted with OpenDialogEx and SaveDialogEx. See post 91 for details.

    Note that FormExDesktop 1.7 is for use with Basic4ppc v6.8 and earlier. FormExDesktop for Basic4ppc v6.9 and later can be found here
     

    Attached Files:

    Last edited: Nov 21, 2010
  2. agraham

    agraham Expert Licensed User

    Updated FormExDesktop 1.4 now has an additional property that allows the forms' icon to be specified.
    Code:
    FormEx1.Icon = AppPath & "\icon.ico"
    Updated help and demo included in attachment.
     
    Last edited: Mar 21, 2008
  3. agraham

    agraham Expert Licensed User

    Remember the InputBox from VB? ControlsExDesktop 1.2 now includes it! Also the problem with DateTimePicker events not firing is sorted and the Click event removed as I could never get it to fire. Now posted in first post together with latest (unchanged) FormExDesktop.
     
    Last edited: Mar 21, 2008
  4. agraham

    agraham Expert Licensed User

    ControlsExDesktop version 1.3 posted in original post. This version includes two new controls, Splitter and Listview. Between them they make possible the "classic" Explorer type app with a moveable Splitter bar. I have NOT updated the Help yet as it is a big job as Listview is a complicated control and I will need a large dose of enthusiasm to get down to do it. However I thought that I would post the library, with demos, so you can have a play.

    Note that you can place Splitters on Panels and Forms, and maybe Tabs as well, I haven't tried that yet!

    The Listview is a virtually complete exposure of the Listview control including sorting by column. In contrast to Fillippos version, which is optimised as a Table replacement, it provides LargeIcon, SmallIcon, Details and List views.
     
    Last edited: Jul 22, 2008
  5. agraham

    agraham Expert Licensed User

    Version 1.4 now posted in original post. The archive includes a new updated help file, source file for merging and demo apps for all controls included in the library.

    Note that although the demo app uses my FormExDesktop library this is in order to demonstrate the NotifyIcon control. The controls will work just as well on a normal B4ppc Form.

    New in this release is a GroupBox, similar to a Panel but with a border and optional text, a FolderDialog which allows a user to select a folder (as opposed to a file), and a MonthCalendar control. It is a bit more clumsy than a DateTimePicker or the native B4ppc Calendar controls as it is displayed fully expanded at all times. However I included it as it provides the capability of showing an arbitrary number of dates in bold and supports selection of a range of dates.
     
  6. agraham

    agraham Expert Licensed User

    I have decided to release the sources for FormExDesktop 1.4 and ControlsExDesktop 1.4 to allow merging with the exe. They are in the first post of this thread.
     
  7. agraham

    agraham Expert Licensed User

    Previous versions of FormExDesktop were not fully compatible with my Threading library in that although the threads ran correctly thread events did not fire.

    Having learnt a lot about .NET and Basic4ppc since writing the original FormExDesktop I have now posted version 1.5 that is fully compatible with the Threading library. There is one additional method and one additional property added since version1.4, both deal with the threading issue. There are no other changes since version 1.4. Help, demos and source for merging are in the zip.

    I must admit to "borrowing" some of Erel's event code to understand how Basic4ppc events work and to incorporate in this library. Apologies to him for appropriating his work - but for a good cause!
     
  8. Erel

    Erel Administrator Staff Member Licensed User

    These two libraries are really a good cause :sign0188:
     
  9. Byak@

    Byak@ Active Member Licensed User

    agraham :sign0188:!!!!!!!!!!
     
  10. agraham

    agraham Expert Licensed User

    In another thread tsteward asked
    Yes, with the Door library. obj1 is a Door library Object
    Code:
    obj1.Value = tscombo1.ControlRef
       obj1.Value = obj1.GetProperty(
    "ComboBox")
       obj1.Value = obj1.GetProperty(
    "Items")
       obj1.Value = obj1.GetProperty(
    "Count")
       
    Msgbox(obj1.Value)
     
  11. Cableguy

    Cableguy Expert Licensed User

    a coding mistake or a BUG?

    Hi Andrew...
    first of all, congragtulation on bringing these two dlls on step further...
    " to infinity and beyond..."....
    I have a doubt...
    I satrted a project adn added the controlsExDesktop, and its two main Objects...

    here's the partial code, wich reproduces my issue...
    Code:
    Xform.New2("Main","EMK v0.1",600,480)
       XForm.HasControlBox=
    True
       Xform.HasMaximizeBox=
    True
       XForm.HasMinimizeBox=
    True
       XForm.MaximumHeight=
    480 'If commented out these two lines, the form displays normally 
       XForm.MaximumWidth=600 ''If commented out these two lines, the form displays normally 
       XForm.WindowState=1
    As posted, if the two lines are comomented out, the form displays as expected, but if I use either of the lines is like I never setted the forms size in the new2 method...With the adicional problem, that even with both maximumwidth and maximumheigth set, my form appear trimmed in width (see image attached)...
    So in order to make the form appear as I want, must I again, set the width and heigth of the form?????
    Why???
     

    Attached Files:

    Last edited: Sep 22, 2008
  12. agraham

    agraham Expert Licensed User

    Yes, I know this happens but I can't really explain it. It is a .NET thing and seems to be caused by an interaction between the Maximum and Minimum Height and Width size settings which all default to 0, which means unlimited. Once you set one of them this effect appears so it is best to set them all then set the required size.
     
  13. agraham

    agraham Expert Licensed User

    FormExDesktop1.6 now posted in the first post with support for module name prefixes for the Thread object.
     
  14. klaus

    klaus Expert Licensed User

    Hi Andrew,

    I have another question about the ControlExLib library.

    In the joined program I want to set the with of the ToolStripComboBoxes and the ToolStripTextBox.
    I tried several things with the Door library but with no success.
    I can modify the DropDownHeight Prorety but not the Width properties.
    I tried to change the Anchor and Dock properties to the width changed but nothing happens.
    I can get the Width value but not set it.

    What am I missing ?

    Thank's in advance for your help.
     

    Attached Files:

  15. agraham

    agraham Expert Licensed User

    Code:
    obj1.Value = tspSelect2.ControlRef
       obj1.SetProperty(
    "ToolTipText""Select superpos")   
       [COLOR=
    "DarkRed"][B]obj1.SetProperty("AutoSize"False)[/B][/COLOR]
       obj1.SetProperty(
    "Width"60)
    These controls normally size themselves to fit the ToolStrip, setting AutoSize to False lets you set the Width but the Height always seems to be automatic even though the docs say it is a settable property.
     
  16. klaus

    klaus Expert Licensed User

    Thank you Andrew

    Best regards.
     
  17. klaus

    klaus Expert Licensed User

    Hi Andrew,

    I am continuing to use the ControlEx Library.

    I am also using ToolStripComboBoxes.
    It would be interesting to have:
    - the Clear method
    - the Item paramter
    This would make a whole reinitialization and the replacement of the text of one item much easier, like in standard ComboBoxes.

    It is probably possible with the Door library (I don't know how), but if these two functionalities were directly accessible it would be easier.

    Best regards.
     
  18. klaus

    klaus Expert Licensed User

    Hi Andrew,

    To clear the ToolStripComboBox I tried to use the RemoveItem method for I know the number of items.
    But it seems that RemoveItem(n) doesn't do anything.

    Code atached, only the program, the rest is the same as in post #14.

    Thank you in advace for your help and Best Regards.

    EDIT: I saw in between that to remove an item there must be the text of the item in RemoveItem, I was thinking of the index of the item, as in RemoveAt for the standard ComboBox that, for me, would be more convenient.
     

    Attached Files:

    Last edited: Nov 1, 2008
  19. agraham

    agraham Expert Licensed User

    It's the item itself you need to specify, not its index

    "tspSelect1.RemoveItem(tspSelect1.Text)"

    I will do a new revision of ControlsExDesktop with the ToolTips for all the ToolStrip controls and Clear, Count, Item and RemoveAt(index) for theComboBox and Clear, Count and RemoveAt(index) for the DropDownButton. Anything else you can think of?
     
  20. klaus

    klaus Expert Licensed User

    That's pretty good news.

    I think that the Insert method could be intersting too.
    Does there also exist the Left property, I didn't see it in the MS documentation ? Would be intersting for alignment with AutoSize = False

    Best regards.
     
Loading...