Page 25 of 105 FirstFirst ... 15222324252627283575 ... LastLast
Results 961 to 1,000 of 4199

Thread: CommonControls (Replacement of the MS common controls)

  1. #961
    Fanatic Member
    Join Date
    Apr 2015
    Posts
    536

    Re: CommonControls (Replacement of the MS common controls)

    Quote Originally Posted by Krool View Post
    Update released.

    The issue with the not always working calculation that determine if DPIs are different is now solved.
    Yes, that works fine now.
    Hero!

    Karl

  2. #962
    PowerPoster
    Join Date
    Jun 2015
    Posts
    2,229

    Re: CommonControls (Replacement of the MS common controls)

    Nit Picking the code base, but your IDispatch.GetIDsOfNames has the wrong definition?

    Code:
    	[
    		uuid(00020400-0000-0000-C000-000000000046),
    		odl
    	]
    	interface IDispatch : IUnknown
    	{
    		typedef IDispatch *LPDISPATCH;
    		HRESULT GetTypeInfoCount([out] LONG *pctInfo);
        		HRESULT GetTypeInfo([in] LONG itinfo, [in] LONG lcid, [out] LONG *pptinfo);
        		HRESULT GetIDsOfNames([in] REFIID riid, [in] LPSTR *rgszNames, [in] LONG cNames, [in] LONG lcid, [in, out] LONG *rgDispID);
        		HRESULT Invoke([in] LONG DispIDMember, [in] REFIID riid, [in] LONG lcid, [in] SHORT wFlags, [in] DISPPARAMS *pdispparams, [in, out] VARIANT *pvarResult, [out] EXCEPINFO *pexcepinfo, [out] LONG *puArgErr);
    	};
    It should be LPWSTR, so you can pass in a BSTR. This way VB skips the Conversion, and you can skip the DoubleUnicode hack you did here.

    Code:
    Public Function GetDispID(ByVal This As Object, ByRef MethodName As String) As Long
    Dim IDispatch As OLEGuids.IDispatch
    Dim IID_NULL As OLEGuids.OLECLSID
    Set IDispatch = This
    IDispatch.GetIDsOfNames IID_NULL, StrConv(MethodName, vbUnicode), 1, 0, GetDispID
    'IDispatch.GetIDsOfNames IID_NULL, MethodName, 1, 0, GetDispID
    End Function
    P.S. I definitely appreciate the quality of your code. Regards.
    Last edited by DEXWERX; Mar 14th, 2016 at 12:20 PM.

  3. #963
    PowerPoster
    Join Date
    Jun 2015
    Posts
    2,229

    Re: CommonControls (Replacement of the MS common controls)

    per our conv. A workaround might be to rename the Typelib, and change it's guid, so new projects use the updated Typelib. Otherwise it may not be worth changing. Thanks for the support.

  4. #964
    Junior Member
    Join Date
    Sep 2014
    Posts
    31

    Re: CommonControls (Replacement of the MS common controls)

    what is the pager control?

  5. #965
    Fanatic Member
    Join Date
    Apr 2015
    Posts
    536

    Re: CommonControls (Replacement of the MS common controls)

    Quote Originally Posted by ishalom View Post
    what is the pager control?
    A scrollable container.
    Try the pager demo, see at the start of the thread.

  6. #966
    New Member
    Join Date
    Jun 2015
    Posts
    8

    Re: CommonControls (Replacement of the MS common controls)

    Hello, The RichTextBox Control have a error when is set visible=false.
    RichTextBox.Visible=False
    The error ocurred when close the execuble.

  7. #967
    New Member
    Join Date
    Jun 2015
    Posts
    8

    Re: CommonControls (Replacement of the MS common controls)

    Try this in Wine. Is more evident in it

  8. #968

    Thread Starter
    PowerPoster
    Join Date
    Jun 2012
    Posts
    2,728

    Re: CommonControls (Replacement of the MS common controls)

    Quote Originally Posted by pepegriyo View Post
    Hello, The RichTextBox Control have a error when is set visible=false.
    RichTextBox.Visible=False
    The error ocurred when close the execuble.
    Did you call the InitVisualStyles method (from VisualStyles.bas) on startup in your executable?

    If this doesn't help please provide a demo showing the error as else I cannot reproduce it.

  9. #969
    Lively Member
    Join Date
    Apr 2014
    Posts
    122

    Re: CommonControls (Replacement of the MS common controls)

    I know this is dumb question but I have never used color picker dialog box and would like to know how to reference it so can call to be used to change form background etc.

  10. #970
    Lively Member
    Join Date
    Apr 2014
    Posts
    122

    Re: CommonControls (Replacement of the MS common controls)

    Quote Originally Posted by jpskiller View Post
    I know this is dumb question but I have never used color picker dialog box and would like to know how to reference it so can call to be used to change form background etc.
    Said it was dumb, sorted it now

  11. #971
    New Member
    Join Date
    Jun 2015
    Posts
    8

    Re: CommonControls (Replacement of the MS common controls)

    Quote Originally Posted by Krool View Post
    Did you call the InitVisualStyles method (from VisualStyles.bas) on startup in your executable?

    If this doesn't help please provide a demo showing the error as else I cannot reproduce it.
    Attach a Demo is not working RichTextbox
    Last edited by FunkyDexter; Apr 24th, 2016 at 04:38 AM.

  12. #972
    New Member
    Join Date
    Jun 2015
    Posts
    8

    Re: CommonControls (Replacement of the MS common controls)

    Quote Originally Posted by pepegriyo View Post
    Attachment 137335

    Attach a Demo is not working RichTextbox
    I Attach Demo2, with completed code.
    Last edited by FunkyDexter; Apr 24th, 2016 at 04:39 AM.

  13. #973
    Super Moderator FunkyDexter's Avatar
    Join Date
    Apr 2005
    Location
    An obscure body in the SK system. The inhabitants call it Earth
    Posts
    7,957

    Re: CommonControls (Replacement of the MS common controls)

    I've removed your attachments because they contained compiled executables. We do ask that you don't include any compiled components in attachments. It's source code only I'm afraid.

    Please feel free to re-attach them but with the executables removed.
    The best argument against democracy is a five minute conversation with the average voter - Winston Churchill

    Hadoop actually sounds more like the way they greet each other in Yorkshire - Inferrd

  14. #974
    New Member
    Join Date
    Jun 2015
    Posts
    8

    Re: CommonControls (Replacement of the MS common controls)

    Quote Originally Posted by pepegriyo View Post
    I re Attach Demo2, with completed code.
    testRichtext2.zip

  15. #975

    Thread Starter
    PowerPoster
    Join Date
    Jun 2012
    Posts
    2,728

    Re: CommonControls (Replacement of the MS common controls)

    Update released.

    Meaningful when using the DTPicker control.
    The Change event was only raised when changing the value by the user.
    This behavior is the same in the original MS DTPicker control.
    But that behavior makes actually no sense and might be even a bug in the original MS DTPicker control.
    On all the other controls the Click/Change (or whatever) events are also raised when changing by code.
    So such a behavior is expected and that's why this fix was necessary in my opinion.

  16. #976

    Thread Starter
    PowerPoster
    Join Date
    Jun 2012
    Posts
    2,728

    Re: CommonControls (Replacement of the MS common controls)

    Update released.

    Again concerning the DTPicker control.
    Now it is possible to detect when the checkbox state has changed.
    Regardless if it was changed by user or by code.

  17. #977
    New Member
    Join Date
    Jun 2015
    Posts
    8

    Re: CommonControls (Replacement of the MS common controls)

    Quote Originally Posted by Krool View Post
    Update released.

    Again concerning the DTPicker control.
    Now it is possible to detect when the checkbox state has changed.
    Regardless if it was changed by user or by code.
    Could you check my attach?

  18. #978
    Hyperactive Member
    Join Date
    Feb 2014
    Posts
    294

    Re: CommonControls (Replacement of the MS common controls)

    Something has affected the DTPicker control.

    My program uses 12 DTPickers.

    4 need to check against one another, eg.
    dtpLastDate.Value >= dtpStartDate.Value
    dtpStartDate.Value <= dtpLastDate.Value
    dtpStartDate.Value >= dtpCurrentDate.Value
    dtpLastUpDate.Value <= dtpStartDate.Value


    The other 8 are for changing the date to change the ListView info to display.
    All 12 DTPicker uses only the Change event. The Click event are not used.

    The program boots up in 2 seconds. Now with the new DTPPickers, the program boots up in 17 seconds.

    My observation:
    When I added these DTPickers into the project on 11-Feb-2014, naturally the Properties automatically show the Value as 11-Feb-2014 and I never need to change that, also I do not need to set any initial default value in the Form_Load. With the 5-May-2016 DTPicker, when the Value is "Change" in codes, something fire that cause errors to show up. This is not the main problem as can be fixed by setting default "Now" values in Form_Load.

    The main problem is the extra 15 seconds for the software to boot.

    Just notice another problem:
    When I click 1 of the 8 DTPicker, the ListView display used to change in less than 2 seconds. Clicking on 1 of the 8 DTPickers synchronizes all 8. Now it take about 13 seconds to change the display.
    Last edited by chosk; May 5th, 2016 at 09:42 PM.

  19. #979

    Thread Starter
    PowerPoster
    Join Date
    Jun 2012
    Posts
    2,728

    Re: CommonControls (Replacement of the MS common controls)

    @ chosk,

    That is due to the fact that the change event is now fired when value was changed by code.
    You can solve it by placing a "Freeze" variable on your form that is active when synchronizing all 8 DTPickers. At the end reset the variable and update listview. In each DTPicker change event should be a exit sub when the "Freeze" variable is active.

    I know that I broke "compatibility". But it was stupid to have not Change event fired when value was changed by code.

  20. #980
    Hyperactive Member
    Join Date
    Feb 2014
    Posts
    294

    Re: CommonControls (Replacement of the MS common controls)

    Quote Originally Posted by Krool View Post
    Update released.

    Meaningful when using the DTPicker control.
    The Change event was only raised when changing the value by the user.
    This behavior is the same in the original MS DTPicker control.
    But that behavior makes actually no sense and might be even a bug in the original MS DTPicker control.
    On all the other controls the Click/Change (or whatever) events are also raised when changing by code.
    So such a behavior is expected and that's why this fix was necessary in my opinion.
    I played around with an empty project with just the DTPicker and MsgBox in the Click and Change event handlers. I may have missed the gist of the change.

    The Change event was only raised when changing the value by the user.

    I now understand this to be when user manually click on the DTPicker and change the date.

  21. #981

    Thread Starter
    PowerPoster
    Join Date
    Jun 2012
    Posts
    2,728

    Re: CommonControls (Replacement of the MS common controls)

    Quote Originally Posted by pepegriyo View Post
    Hello, The RichTextBox Control have a error when is set visible=false.
    RichTextBox.Visible=False
    The error ocurred when close the execuble.
    I know now the reason for this. I look for a solution..

    In the meantime you can do the following as workaround to solve this:
    Code:
    Private Sub Form_Unload(Cancel As Integer)
    RichTextBox1.IDEStop
    End Sub
    In the Form that contains the invisible RichTextBox call the hidden "IDEStop" method.
    Now the application will close without any error.

  22. #982

    Thread Starter
    PowerPoster
    Join Date
    Jun 2012
    Posts
    2,728

    Re: CommonControls (Replacement of the MS common controls)

    Update released.

    I have included the ExpandedImage property of a Node in the TreeView control to be more compatible to the original MS control.
    Last edited by Krool; May 11th, 2016 at 05:03 PM.

  23. #983

    Thread Starter
    PowerPoster
    Join Date
    Jun 2012
    Posts
    2,728

    Re: CommonControls (Replacement of the MS common controls)

    Update released.

    The first upload of the update today had a bug. I just re-uploaded the update of today.
    I saw that 3 users downloaded the first upload..
    Please re-download. Sorry..

  24. #984

    Thread Starter
    PowerPoster
    Join Date
    Jun 2012
    Posts
    2,728

    Re: CommonControls (Replacement of the MS common controls)

    Update released.

    Might be important for those who use the TreeView control.
    It is now possible to pass a Node object in the Relative parameter in Nodes.Add and Node.Move.
    This is of course possible in the original MS control. This bug should have been detected already..
    Anyway, now it's done.

  25. #985

    Thread Starter
    PowerPoster
    Join Date
    Jun 2012
    Posts
    2,728

    Re: CommonControls (Replacement of the MS common controls)

    Update released.

    Again important for those who use the TreeView control.
    It is now ensured that BeforeCollapse/BeforeExpand and Collapse/Expand events are always fired when Expanded property of a Node is being changed.
    Prior to this update this was only once fired. (because of TVIS_EXPANDEDONCE)
    Also it is now possible to have .Expanded = True even when there are no childs yet. It will be then "actually expanded" when a child is added.
    So the behavior is now the same as in the original MS control.

  26. #986

    Thread Starter
    PowerPoster
    Join Date
    Jun 2012
    Posts
    2,728

    Re: CommonControls (Replacement of the MS common controls)

    Update released.

    Quote Originally Posted by pepegriyo View Post
    The RichTextBox Control have a error when is set visible=false.
    RichTextBox.Visible=False
    The error ocurred when close the execuble.
    This issue is now solved.
    The temporary workaround in Form_Unload, that I have suggested for the meantime, is now not needed anymore.

  27. #987
    New Member
    Join Date
    Jun 2015
    Posts
    8

    Re: CommonControls (Replacement of the MS common controls)

    Quote Originally Posted by Krool View Post
    Update released.



    This issue is now solved.
    The temporary workaround in Form_Unload, that I have suggested for the meantime, is now not needed anymore.


    OK Thank you!!

  28. #988
    Fanatic Member
    Join Date
    Aug 2011
    Location
    Palm Coast, FL
    Posts
    760

    Re: CommonControls (Replacement of the MS common controls)

    These controls have been a great aid to me in upgrading my app to Unicode support. Thank you for all of your work!

    I noticed a rare problem yesterday. The tooltip on a ListBoxW control does not support Unicode. The control does but the tooltip doesn't. I'm using version 1.2
    Last edited by AAraya; May 18th, 2016 at 11:20 AM.

  29. #989

    Thread Starter
    PowerPoster
    Join Date
    Jun 2012
    Posts
    2,728

    Re: CommonControls (Replacement of the MS common controls)

    Quote Originally Posted by AAraya View Post
    The tooltip on a ListBoxW control does not support Unicode. The control does but the tooltip doesn't. I'm using version 1.2
    You mean the intrinsic VB ToolTipText property of the control? Yes, sure. No unicode support for that.

  30. #990
    PowerPoster
    Join Date
    Jun 2015
    Posts
    2,229

    Re: CommonControls (Replacement of the MS common controls)

    Quote Originally Posted by AAraya View Post
    I noticed a rare problem yesterday. The tooltip on a ListBoxW control does not support Unicode. The control does but the tooltip doesn't. I'm using version 1.2
    Quote Originally Posted by Krool View Post
    You mean the intrinsic VB ToolTipText property of the control? Yes, sure. No unicode support for that.
    The ToolTipText is hardcoded as part of the runtime, so it definitely doesn't support unicode. It is however easy to
    do them yourself manually... like in this example.

  31. #991
    Fanatic Member
    Join Date
    Aug 2011
    Location
    Palm Coast, FL
    Posts
    760

    Re: CommonControls (Replacement of the MS common controls)

    Quote Originally Posted by Krool View Post
    You mean the intrinsic VB ToolTipText property of the control? Yes, sure. No unicode support for that.
    Thanks for the information. If I'm to be honest, that's a bit disappointing I must say. The other unicode replacement controls I've used in the past support unicode fully - even in the control's tooltip property. I do appreciate your efforts very much however!
    Last edited by AAraya; May 20th, 2016 at 01:24 PM.

  32. #992
    PowerPoster
    Join Date
    Jun 2015
    Posts
    2,229

    Re: CommonControls (Replacement of the MS common controls)

    Quote Originally Posted by AAraya View Post
    Thanks for the information. If I'm to be honest, that's a bit disappointing I must say. The other unicode replacement controls I've used in the past support unicode fully - even in the control's tooltip property. I do appreciate your efforts very much however!
    Both .NET, and other Non-Free unicode controls use a seperate control to manage ToolTips.
    The VB6 IDE just doesn't support unicode, because the property panel is ANSI only.

    Here's a very rough ToolTip class you can modify yourself... you may or may not have to set the font to get it to work properly with east asian languages.

    Or you can grab one from elsewhere on this forum.
    http://www.vbforums.com/showthread.p...iCode-ToolTips
    Code:
    Option Explicit
    
    Private Const NULL_             As Long = 0&
    Private Const HWND_TOPMOST      As Long = -1&
    Private Const SWP_NOSIZE        As Long = &H1&
    Private Const SWP_NOMOVE        As Long = &H2&
    Private Const SWP_NOACTIVATE    As Long = &H10&
    Private Const CW_USEDEFAULT     As Long = &H80000000
    Private Const TTF_IDISHWND      As Long = &H1&
    Private Const TTF_SUBCLASS      As Long = &H10&
    Private Const TTF_TRACK         As Long = &H20&
    Private Const TTS_NOPREFIX      As Long = &H2&
    Private Const TTS_ALWAYSTIP     As Long = &H1&
    Private Const WS_POPUP          As Long = &H80000000
    Private Const WS_EX_TOPMOST     As Long = &H8&
    Private Const WM_USER           As Long = &H400&
    Private Const TTM_ADDTOOL       As Long = (WM_USER + 50&)
    Private Const TTM_SETMAXTIPWIDTH As Long = (WM_USER + 24&)
    Private Const TOOLTIPS_CLASS    As String = "tooltips_class32"
    
    Private Type RECT
        Left   As Long
        Top    As Long
        Right  As Long
        Bottom As Long
    End Type
    
    Private Type TOOLINFO
        cbSize     As Long
        uFlags     As Long
        hWnd       As Long
        uId        As Long
        Rect_      As RECT
        hInst      As Long
        lpszText   As Long
        lParam     As Long
        lpReserved As Long
    End Type
    
    Private Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal uFlags As Long) As Long
    Private Declare Function CreateWindowEx Lib "user32" Alias "CreateWindowExW" (ByVal dwExStyle As Long, ByVal lpClassName As Long, ByVal lpWindowName As Long, ByVal dwStyle As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hWndParent As Long, ByVal hMenu As Long, ByVal hInstance As Long, ByRef lpParam As Any) As Long
    Private Declare Function DestroyWindow Lib "user32" (ByVal hWnd As Long) As Long
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageW" (ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, lParam As Any) As Long
    
    Private m_hWnd As Long
    
    Private Function CreateTooltipWindow(hWndParent As Long) As Boolean
        If m_hWnd Then
            CreateTooltipWindow = True
            Exit Function
        End If
        
        Dim Style As Long
        Style = WS_POPUP Or TTS_ALWAYSTIP Or TTS_NOPREFIX
        m_hWnd = CreateWindowEx(WS_EX_TOPMOST, StrPtr(TOOLTIPS_CLASS), NULL_, Style, _
                                CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, _
                                hWndParent, NULL_, App.hInstance, ByVal NULL_)
                                
        If m_hWnd Then
            SetWindowPos m_hWnd, HWND_TOPMOST, 0&, 0&, 0&, 0&, SWP_NOMOVE Or SWP_NOSIZE Or SWP_NOACTIVATE
            CreateTooltipWindow = True
        End If
    End Function
    
    Public Function SetToolTip(Control As Control, Caption As String) As Boolean
    
        If Not CreateTooltipWindow(Control.Parent.hWnd) Then Exit Function
    
        Dim ti As TOOLINFO
        ti.cbSize = LenB(ti)
        ti.hWnd = Control.Parent.hWnd
        ti.hInst = App.hInstance
        ti.uFlags = TTF_IDISHWND Or TTF_SUBCLASS  ' Or TTF_TRACK
        ti.uId = Control.hWnd
        ti.lpszText = StrPtr(Caption)
        SendMessage m_hWnd, TTM_ADDTOOL, 0&, ti
    End Function
    
    Private Sub Class_Terminate()
        If m_hWnd Then DestroyWindow m_hWnd
    End Sub
    Last edited by DEXWERX; May 20th, 2016 at 02:21 PM.

  33. #993
    Default Member Bonnie West's Avatar
    Join Date
    Jun 2012
    Location
    InIDE
    Posts
    4,060

    Re: CommonControls (Replacement of the MS common controls)

    Here's another Unicode-aware ToolTip class module.
    On Local Error Resume Next: If Not Empty Is Nothing Then Do While Null: ReDim i(True To False) As Currency: Loop: Else Debug.Assert CCur(CLng(CInt(CBool(False Imp True Xor False Eqv True)))): Stop: On Local Error GoTo 0
    Declare Sub CrashVB Lib "msvbvm60" (Optional DontPassMe As Any)

  34. #994

    Thread Starter
    PowerPoster
    Join Date
    Jun 2012
    Posts
    2,728

    Re: CommonControls (Replacement of the MS common controls)

    Update released.

    The GetFirstVisible function in the TreeView, ListView and ImageCombo control has been removed.
    It has been replaced by an improved TopItem property.

    Reason is that 'TopItem' is more known/consistent in VB6. (e.g. 'TopIndex' in List and Combo control)

    Also note the other improvements. (firing of events when changed by code)
    It is not a error that the ItemCheck event in the ListView control is missing in the List, as that event in the ListView control was already fired when changed by code.
    Last edited by Krool; May 21st, 2016 at 07:01 PM.

  35. #995

    Thread Starter
    PowerPoster
    Join Date
    Jun 2012
    Posts
    2,728

    Re: CommonControls (Replacement of the MS common controls)

    Quote Originally Posted by evanzulli View Post
    Hi!
    Is there a way to modify the Tag property so as to use a Variant instead of a String?
    Thanks
    Update released.
    Your request was from 2014...
    But hey, now its done. :-)

  36. #996

    Thread Starter
    PowerPoster
    Join Date
    Jun 2012
    Posts
    2,728

    Re: CommonControls (Replacement of the MS common controls)

    Update released.

    The memory consumption in Report View in the ListView control has been decreased significantly.

    Because the handling of the ListSubItems has been improved, which means:
    Instead of a collection for each ListItem for the ListSubItems is now an internal array.
    This saves one class object per ListItem. And class objects are like big animals. (116 bytes for class object, without content)
    Also this internal array allows to have the Tag property of a ListSubItem to be Variant. Before this was very impractical to realize as the properties were saved directly on the Memory Heap.

  37. #997
    Member
    Join Date
    May 2013
    Posts
    47

    Re: CommonControls (Replacement of the MS common controls)

    Name:  1.png
Views: 5357
Size:  13.2 KB

    why when i used in winxp have a error

    how can i do?thank

  38. #998

    Thread Starter
    PowerPoster
    Join Date
    Jun 2012
    Posts
    2,728

    Re: CommonControls (Replacement of the MS common controls)

    Quote Originally Posted by xxdoc View Post
    Name:  1.png
Views: 5357
Size:  13.2 KB

    why when i used in winxp have a error

    how can i do?thank
    I assume you try to use the Groups feature. There are available on Windows XP, but only if the App is linked via manifest to comctl32.dll version 6.0.

    If you want to keep the IDE on comctl32.dll version 5.8x and only the compiled app linked to 6.0 then use On Error Resume Next while on .Groups.

    Hint: In order to trap error raises via "On Error Goto ..." or "On Error Resume Next" it is necessary to have "Break on Unhandled Errors" selected instead of "Break in Class Module" on Tools -> Options... -> General -> Error Trapping.
    Last edited by Krool; Jun 1st, 2016 at 12:03 AM.

  39. #999

    Thread Starter
    PowerPoster
    Join Date
    Jun 2012
    Posts
    2,728

    Re: CommonControls (Replacement of the MS common controls)

    Quote Originally Posted by Krool View Post
    Because the handling of the ListSubItems has been improved, which means:
    Instead of a collection for each ListItem for the ListSubItems is now an internal array.
    This saves one class object per ListItem. And class objects are like big animals. (116 bytes for class object, without content)
    Also this internal array allows to have the Tag property of a ListSubItem to be Variant. Before this was very impractical to realize as the properties were saved directly on the Memory Heap.
    Concerning the update for the ListSubItems.

    Did a bugfix in the Key (String) handling for the ListSubItems method 'Add', 'Item' and 'Remove' in the ListView control.
    This minor stupid bug had big impact that the Key accessing did not work at all.
    Somehow I didn't notice that yesterday... Sorry.

    But hopefully everything should be working now.

  40. #1000
    Member
    Join Date
    May 2013
    Posts
    47

    Re: CommonControls (Replacement of the MS common controls)

    Quote Originally Posted by Krool View Post
    This project is intended to replace the MS common controls for VB6.

    The "MSCOMCTL.OCX" (respectively "COMCTL32.OCX") can be replaced completly.
    The "MSCOMCT2.OCX" (respectively "COMCT232.OCX") can be replaced completly.
    The "RICHTX32.OCX" can be replaced completly.
    The "COMDLG32.OCX" can be replaced completly.
    The "COMCT332.OCX" can be replaced completly.
    The "MCIWNDX.OCX" (shipped with VB5) can be replaced completly.
    The "SYSINFO.OCX" can be replaced completly.

    Following controls are available at the moment:

    - Animation
    - CheckBoxW
    - ComboBoxW
    - CommandButtonW
    - CommandLink
    - CoolBar
    - CommonDialog (Class Module)
    - DTPicker
    - FrameW
    - HotKey
    - ImageCombo
    - ImageList
    - IPAddress
    - LabelW
    - LinkLabel
    - ListBoxW
    - ListView
    - MCIWnd
    - MonthView
    - OptionButtonW
    - Pager
    - ProgressBar
    - RichTextBox
    - Slider
    - SpinBox
    - StatusBar
    - SysInfo
    - TabStrip
    - TextBoxW
    - ToolBar
    - TreeView
    - UpDown

    Unicode is supported for all the stated controls.

    At design time (IDE) there is only one dependency. (OLEGuids.tlb)
    This is a modified version of the original .tlb from the vbaccelerator website.
    But for the compiled .exe there are no dependencies, because the .tlb gets then compiled into the executable.

    Everything should be self explained, because all functions and properties have a description.

    This Demo shows of how to make the ToolBar control accessible per shortcut key on a MDIForm.

    ActiveX Control versions, together with a Registration-Free (Side-by-side) solution:
    Version 1.0 (End of support)
    Version 1.1
    Version 1.2

    Notes:
    - When using the SetParent API, then you should pass .hWndUserControl and not .hWnd to it.
    - When changing the "Project Name", then you should have all forms open, else all properties are lost. Reason is due to the fact that the library to which the controls are referring is the "Project Name" itself. Keeping all forms open will ensure that the .frx files will be updated with the new "Project Name".
    - In order to trap error raises via "On Error Goto ..." or "On Error Resume Next" it is necessary to have "Break on Unhandled Errors" selected instead of "Break in Class Module" on Tools -> Options... -> General -> Error Trapping.
    - If you want to embed the controls into another UserControl then you need to add the following code (Post #597) into your UserControl. As else the accelerator keys like the Left/Right key will not work. This issue is only relevant when using the Std-EXE Version. (The OCX Version will just work fine without any additional code)

    List of revisions:
    Code:
    04-Jun-2016
    - Included the Level property of a Node in the TreeView control.
    02-Jun-2016
    - Included the ItemFromPos property in 'CbrBands' in the CoolBar control.
    01-Jun-2016
    - Bugfix in the Key (String) handling for the ListSubItems method 'Add', 'Item' and 'Remove' in the ListView control.
    31-May-2016
    - Noticeable less memory consumption in Report View in the ListView control.
      Also the Tag property in 'LvwListSubItem' is now as Variant.
    - Some other minor internal improvements.
    30-May-2016
    - Fixed a bug when adding a ListSubItem in-between in the ListView control.
    29-May-2016
    - Tag property in class collections are now as Variant. (except for 'LvwListSubItem', which remains as String)
      At design-time only String variables can be set, like in the original MS control.
      It is not allowed to store circular reference objects. (error will be raised)
      Example: 'Set TreeView1.Nodes(1).Tag = TreeView1.Object' (Though TreeView1 without '.Object' is allowed)
    28-May-2016
    - Shadow objects in class collections are now also decoupled in run-time controls. (ImageCombo, LinkLabel, ListView and TreeView control)
      This ensures that UserControl_Terminate will always be fired.
      They were already decoupled in design-time controls. (TabStrip, StatusBar, ToolBar, CoolBar and ImageList control)
    26-May-2016
    - Included the ItemFromPos property in 'LvwColumnHeaders' in the ListView control. (via HDM_ORDERTOINDEX)
    25-May-2016
    - Included the NodeBeforeCheck event in the TreeView control.
    23-May-2016
    - Minor bugfixes in the TopItem property in the ListView control.
    22-May-2016
    - Improved the TopItem property in the ListView control.
      It can be used now also when groups are enabled in 'report' view. (LVM_GETTOPINDEX fails in this case, thus a workaround was necessary)
      Enhanced the code when in 'Icon', 'SmallIcon' and 'Tile' view.
    21-May-2016
    - Included the NodeBeforeSelect event in the TreeView control.
    - Removed the GetFirstVisible function in the TreeView, ListView and ImageCombo control.
      It has been replaced by the TopItem property. It can be even 'Set' in the TreeView and ImageCombo control.
    - The NodeCheck event is now also fired when the checked state of a node was changed by code in the TreeView control.
    - The ItemCheck event is now also fired when the checked state of an item was changed by code in the ListBoxW control.
    - The ColumnCheck event is now also fired when the checked state of a column header was changed by code in the ListView control.
    19-May-2016
    - The DragIcon, DragMode and ToolTipText property are now also available when setting to a shadow object. ('Set' command)
    - The Drag and SetFocus method are now also available when setting to a shadow object. ('Set' command)
    17-May-2016
    - Included the class 'RtfOleCallback' in the RichTextBox control.
      This decouples the IRichEditOleCallback interface and ensures UserControl_Terminate will always be fired.
      When updating, please replace all components. (e.g. RichTextBoxBase.bas)
    16-May-2016
    - Improved the Expanded property of a Node in the TreeView control. It works now like in the original MS control.
      It is now ensured that BeforeCollapse/BeforeExpand and Collapse/Expand events are always fired when state is being changed.
      Also it is now possible to set the expanded state even when there are no child items associated.
    - To support large numbers the Children property of a Node returns now 'Long' instead of 'Integer' in the TreeView control.
    15-May-2016
    - It is now possible to pass a Node object in the Relative parameter in Nodes.Add and Node.Move in the TreeView control.
    - Removed the error message 'the size of the selected picture is not compatible' in the Images property page of the ImageList control.
      So at design time it is now allowed to select different sized pictures. At run time it was already allowed.
      The original MS control allows it also. So such error message was a unnecessary limitation.
    12-May-2016
    - Fixed a bug in the Move method of a Node and some other internal improvements in the TreeView control.
      Bugs were in relation to the new ExpandedImage property of a Node.
    11-May-2016
    - Included the ExpandedImage property of a Node in the TreeView control.
    08-May-2016
    - The SelChange event is now also fired when value or selection was changed by code in the MonthView control.
    - Some internal improvements in the DTPicker and MonthView control.
    06-May-2016
    - Fixed a bug that the DateClicked parameter in the DateClick event was invalid in the MonthView control.
    - Included Error 35770 "An invalid date range was specified" in the MonthView control.
    05-May-2016
    - Fixed a bug that the Change event was not fired when the checkbox state changed in the DTPicker control.
    - Included Error 35787 "Can't set Value to Null when CheckBox property is False" in the DTPicker control.
      This Error is also raised in the original MS control.
    04-May-2016
    - The Change event is now also fired when value was changed by code in the DTPicker control.
      Though in the original MS control it is only raised when value was changed by user.
      But that makes actually no sense and might be even a bug in the original MS control.
    15-Apr-2016
    - Minor adjustment to the BackColor in the StatusBar control so that the Pager control can recognize it.
    31-Mar-2016
    - Minor bugfix in the internal Numeric/Currency/Date sorting functions in the ListView control.
    09-Mar-2016
    - Improved the calculation that determines if DPIs are different. All controls are now really "DPI Aware".
    01-Mar-2016
    - Bugfixes and improvements for vertical ToolBar control. (Align property set to vbAlignLeft or vbAlignRight)
      The Vertical ToolBar behaves now like the original MS control when the Wrappable property is set to False.
      Also changing from horizontal to vertical and vice versa after initialization works now properly.
    29-Feb-2016
    - All controls are now "DPI Aware". (concerns exotic DPI or very large DPI, e.g. 113% and 200%)
    - ComboBoxW with Style 'CboStyleDropDownCombo' is now working on Windows 2000.
      Message CB_GETCOMBOBOXINFO is not supported on Windows 2000, so little workaround was necessary to solve this.
    - Some other minor internal improvements.
    25-Feb-2016
    - Minor adjustment to the BackColor in the ToolBar control so that the Pager control can recognize it.
    24-Feb-2016
    - Fixed a bug that the Scroll event fired twice instead of once in the Slider control.
    19-Feb-2016
    - The BackColor property in the ToolBar control is now shown/visible at design-time.
      But it remains ignored when the control paints via double-buffering. (also at run-time)
    30-Jan-2016
    - Included the ShowTrailingDates property in the MonthView control.
    - Included the CalendarShowTrailingDates property in the DTPicker control.
    - Forgot to rename the HotTrack property to 'HotTracking' in the property page of the SpinBox control.
    28-Jan-2016
    - Fixed a bug in the LVN_ITEMACTIVATE handler in the ListView control.
      The Shift parameter in the ItemActivate event was not properly set.
    19-Jan-2016
    - Renamed the HotTrack property to 'HotTracking' in the SpinBox control.
      So the wording is in line with the UpDown, TreeView, TabStrip, ListView and LinkLabel control.
    07-Jan-2016
    - Included the MaxText event in the TextBoxW and RichTextBox control.
    01-Jan-2016
    - Mouse events now again in correct order in the ImageCombo, TreeView and ListView control.
      Some workaround was necessary to raise them 'After' (refer to update 21-Nov-2015) and keep correct order.
      Issue was an internal modal message loop on these controls. (DragDetect)
    29-Dec-2015
    - UserControl_Resizer is now called in the CoolBar control when setting a child control.
    08-Dec-2015
    - WM_MOUSEWHEEL handlers are now "processed" (no forward to the chain anymore) in the DTPicker and MonthView Control.
    02-Dec-2015
    - Fixed a bug in the mouse events in the ListView and TreeView control. (relates to update on 21-Nov-2015)
    23-Nov-2015
    - Forgot to include ListBoxW and ComboBoxW in the ComCtlsIDEStopProtectionHandler.
    - InitReleaseVisualStyles function in VisualStyles.bas is now only called outside IDE.
      This is more efficient then always call InitReleaseVisualStyles and do the IDE check on ReleaseVisualStyles.
    21-Nov-2015
    - Mouse events (e.g. MouseDown) are now raised 'After' the window procedures. (like MS controls do)
      When using the GetCapture() API in the mouse events the return values are now appropriate.
      Also calling for instance a MsgBox in the mouse events does not mess up the mouse capture anymore.
      All other events (e.g. KeyDown) remains 'Before', as the values can be altered. (like MS controls do)
    20-Nov-2015
    - Included the TabScrollWheel property in the TabStrip control.
    16-Nov-2015
    - Included the constant 'CdlPDUseDevModeCopies' in the CommonDialog class.
    15-Nov-2015
    - Less memory consumption in Report View in the ListView control.
    13-Nov-2015
    - Control arrays are now working properly on all controls.
      Shadow objects in class collections are now decoupled in design-time controls. (TabStrip, StatusBar, ToolBar, CoolBar and ImageList control)
    10-Nov-2015
    - Improved the InitReleaseVisualStyles function in VisualStyles.bas.
    30-Oct-2015
    - Some minor internal improvements.
    29-Oct-2015
    - Fixed a bug in the Font property in the LinkLabel control.
    - Setting 'Nothing' to the Font properties does not raise an error anymore.
      Instead in that case the Font will be set to the 'Ambient.Font'. (like MS controls do)
    
    [...]
    
    11-Nov-2012
    - First release.

    The attached file is a .rar file with a .zip extension so it could be uploaded.
    This is necessary as for a zip file there is a file limit of 500 KB.
    if i want used one control .i must del other controls,or when i load all controls that is a very big exe.can any good ider?

Page 25 of 105 FirstFirst ... 15222324252627283575 ... LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width