OK, please Mojtaba test now in Windows 7, it defaults the X to Marlett font now.
Printable View
OK, please Mojtaba test now in Windows 7, it defaults the X to Marlett font now.
I said based on Microsoft
Products that supply this font
https://learn.microsoft.com/en-us/ty...list/ms-mincho
This is the source code I wrote. Do you have the source code for the font icon selection above? If possible, just merge them together. Find out all the fonts and graphic parts that come with WINDOWS and create a new character mapping table or array.
I want to use some icons that come with the operating system to complete the UI design of simple buttons, tab controls, and toolbars in a minimalist style. If the font can be converted to WMF, EMF vector graphics format allows for direct drawing on any computer, as some systems may lack certain fonts. Of course, the most beautiful ones ultimately belong to SVG color and transparent images, which I am currently researching.
https://www.vbforums.com/showthread....-graphic-fonts
Attachment 194031
Hi Eduardo
Is there a way to attach a form to the Default (index 0) Tab in TDI Mode?
thanks!
Updated again, fixed a bug.
In TDI forms: there are two ways of making a tab/form not closable:
1 - Set the ControlBox property of the Form to False.
2 - Set the ShowTabCloseButton parameter in the TDIBeforeNewTab event to False.
The recent fix was for the second option.
Great, that worked perfectly.
Just downloaded the latest version.
The continued improvements in TDI mode are excellent, and I'd venture to say the control is 99% rock solid.
The TDI mode has allowed me to a reduce a monster 170kb main form by moving that (previous) Tab's controls, events, and logic into new separate managable forms --- a great contribution to my sanity, and making the migration to Python that much easier for OSX.
Question: In TDI mode, what is the best way to get/set the (TabData / TabIndex / Other property) so when the user Reorders Tabs, we can update Tab (form) captions for localization at runtime?
Also: What is the best way to set the user preferred tab order at App/Form load?
Thanks!
OK, here is a sample project.
Hello Eduardo
There is a slight problem with exiting the form, when you want to close a form with a user confirmation message
There are two options to exit or stay in the software. If the user confirms that there is no problem to exit, but if he refuses to exit the form
The active tab is replaced, and the content of the form is not displayed
Watch the movie :
https://youtu.be/QNMEYn5nmEU
I also put the sample project :
Hello Mojtaba, thanks for providing the sample project.
Please test now, the ocx has been updated.
I realized that by closing the tabs, we don't completely exit the form and only hide the form
Isn't closing the full form better than hiding it?
Eduardo ,
How can I put the tabs at the bottom right ?
In the Tab orientation
Attachment 194345
Hello Mojtaba.
Not currently possible. I realize that there are some orientations that are possible but not available now:
TopRight
BottomRight
LeftBottom
RightBottom
The motivation to do that... it usually have been for fun. Not sure when or if I ever will add those tab orientations.
Hello
I'm using your great component ocx, but in some clients it gets the error "Automation Error". How can i fix it?
Hello, I never experienced that error with this control and it does not use any automation.
Why do you think it is this control that is causing that error? I would guess it is something else that is causing the error, not this control.
In what situation do the users get the error? What code is involved in that moment?
Hello
Those clients get the error when loading the application.
Attachment 194945
Attachment 194946
i've already unregister the ocx but the problem mantains
update: as the attach goes to invalinl link, those are the messages:
Run-time error -2147024770 (8007007e)
Automation error
The specified module could not be found
and the second message:
Run-time 440
automation error
Hello,
is it possible that the "SxS" data is no longer correct?
I created the following new file using the MT.exe program.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<file name="newtab01.ocx" hashalg="SHA1">
<comClass clsid="{D9DACE39-8348-4FC3-8BBF-9178D817C34B}" tlbid="{66E63055-5A66-4C79-9327-4BC077858695}" description="NewTab: tabbed control"/>
<comClass clsid="{F1589FE5-83AD-4CF4-83BA-BC3F9CA9D4DC}" tlbid="{66E63055-5A66-4C79-9327-4BC077858695}"/>
<comClass clsid="{C151F8A1-BDE9-428D-AB1F-853885BD217F}" tlbid="{66E63055-5A66-4C79-9327-4BC077858695}"/>
<comClass clsid="{14412CBC-CC08-42D7-AF44-80515C81FFF5}" tlbid="{66E63055-5A66-4C79-9327-4BC077858695}"/>
<comClass clsid="{8CD7846C-8C2C-4454-846C-A9AFE36BC848}" tlbid="{66E63055-5A66-4C79-9327-4BC077858695}"/>
<comClass clsid="{50096335-0F8C-4B25-ADF0-474C83D7E863}" tlbid="{66E63055-5A66-4C79-9327-4BC077858695}"/>
<comClass clsid="{053857C3-2254-49A7-8470-E1E592AB936A}" tlbid="{66E63055-5A66-4C79-9327-4BC077858695}"/>
<comClass clsid="{C93BEF1C-CC53-473E-A071-2B35D825643B}" tlbid="{66E63055-5A66-4C79-9327-4BC077858695}" description=""Themes" are a set of property settings stored together."/>
<comClass clsid="{FA9E3E82-F40B-44FA-A6C1-A4A68ACECE15}" tlbid="{66E63055-5A66-4C79-9327-4BC077858695}" description="Returns the colection of "Themes"."/>
<comClass clsid="{DB58ACE7-209E-4816-9DC3-32440EAE3651}" tlbid="{66E63055-5A66-4C79-9327-4BC077858695}"/>
<typelib tlbid="{66E63055-5A66-4C79-9327-4BC077858695}" resourceid="1" version="14.0" helpdir=""/>
</file>
<comInterfaceExternalProxyStub name="_NewTab" iid="{54CA58AD-7E98-4EC9-9A92-F25D96FE19AF}" tlbid="{66E63055-5A66-4C79-9327-4BC077858695}" proxyStubClsid32="{00020424-0000-0000-C000-000000000046}"/>
<comInterfaceExternalProxyStub name="_pagNewTabGeneral" iid="{3199FF05-EFFD-41B0-9AC6-B210E1AC3637}" tlbid="{66E63055-5A66-4C79-9327-4BC077858695}" proxyStubClsid32="{00020424-0000-0000-C000-000000000046}"/>
<comInterfaceExternalProxyStub name="_pagNewTabTabs" iid="{0F7186D1-3B66-4C7D-8BE9-4EBE1895E08E}" tlbid="{66E63055-5A66-4C79-9327-4BC077858695}" proxyStubClsid32="{00020424-0000-0000-C000-000000000046}"/>
<comInterfaceExternalProxyStub name="_pagNewTabIcons" iid="{50814C37-2C7B-4551-A15C-E3F8CE9271B4}" tlbid="{66E63055-5A66-4C79-9327-4BC077858695}" proxyStubClsid32="{00020424-0000-0000-C000-000000000046}"/>
<comInterfaceExternalProxyStub name="_pagNewTabHelp" iid="{D8B20FF1-7383-4485-AD0E-9D3FA49D5BF0}" tlbid="{66E63055-5A66-4C79-9327-4BC077858695}" proxyStubClsid32="{00020424-0000-0000-C000-000000000046}"/>
<comInterfaceExternalProxyStub name="_IBSSubclass" iid="{5758E611-8AE7-4D47-ADF8-3E2803F06BC0}" tlbid="{66E63055-5A66-4C79-9327-4BC077858695}" proxyStubClsid32="{00020424-0000-0000-C000-000000000046}"/>
<comInterfaceExternalProxyStub name="_pagNewTabThemes" iid="{33480ECE-573E-46B8-B1C2-7816289A6977}" tlbid="{66E63055-5A66-4C79-9327-4BC077858695}" proxyStubClsid32="{00020424-0000-0000-C000-000000000046}"/>
<comInterfaceExternalProxyStub name="_NewTabTheme" iid="{D3FAEBAD-CA05-4EFD-A212-F7E00555512D}" tlbid="{66E63055-5A66-4C79-9327-4BC077858695}" proxyStubClsid32="{00020424-0000-0000-C000-000000000046}"/>
<comInterfaceExternalProxyStub name="_NewTabThemes" iid="{5005D5F6-7579-4D9C-B4CB-F6BDB2BA204C}" tlbid="{66E63055-5A66-4C79-9327-4BC077858695}" proxyStubClsid32="{00020424-0000-0000-C000-000000000046}"/>
<comInterfaceExternalProxyStub name="_pagHighlightMode" iid="{6AB59FE6-AB95-4C55-BEA6-D4184A815605}" tlbid="{66E63055-5A66-4C79-9327-4BC077858695}" proxyStubClsid32="{00020424-0000-0000-C000-000000000046}"/>
<comInterfaceExternalProxyStub name="__NewTab" iid="{A2914931-9333-409C-80A6-FB58B0DAB109}" tlbid="{66E63055-5A66-4C79-9327-4BC077858695}" proxyStubClsid32="{00020420-0000-0000-C000-000000000046}"/>
<comInterfaceExternalProxyStub name="__NewTabThemes" iid="{FA285BE3-6E45-4A6F-81AA-C1FE653F2F7D}" tlbid="{66E63055-5A66-4C79-9327-4BC077858695}" proxyStubClsid32="{00020420-0000-0000-C000-000000000046}"/>
</assembly>
Yes, it was wrong (outdated).
Now it is fixed.
The correct information is:
Thanks for reporting.Code:<file name="NewTab01.ocx">
<typelib tlbid="{66E63055-5A66-4C79-9327-4BC077858695}" version="14.0" flags="control" helpdir="" />
<comClass clsid="{D9DACE39-8348-4FC3-8BBF-9178D817C34B}" tlbid="{66E63055-5A66-4C79-9327-4BC077858695}" threadingModel="Apartment" progid="NewTabCtl.NewTab" miscStatusIcon="recomposeonresize,cantlinkinside,insideout,activatewhenvisible,alignable,simpleframe,setclientsitefirst" description="NewTab: tabbed control" />
</file>
I have not looked back at earlier posts so forgive me if this has been answered... This control seems to be available as a package in twinBasic - are the changes made in here also made in the twinBasic package version? I ask because I was just about to start using this control in my latest tB project.
Not for now. It has a version from the beginning of 2025 so it is not too outdated. But for now it is not updated with the VB6 version.
Here I asked Wayne about this subject (you need to have a Discord account to read it):
Wayne's answer:Quote:
Now when I fix bugs in the VB6 version, the tB version will be 'set on stone' until some update that I guess won't be frequent?
The changes I that made this year won't probably affect most users. They were:Quote:
I'll happily pass the package over to you for any future maintenance once we've got something more stable (and probably quite important to get the property pages support in)
1) Minor visual issues that appeared in some rare configurations: like having more than one row of tabs, with ShowRowsInPerspective set to True (emulation of SSTab) and setting flat themes. They were special situations where I corrected some line position or color. AAnd other things like that.
2) Improvements and also some bug fixes in TDIMode.
3) Added some methods that I needed, like ControlsGetTab (to get the collection of controls that are in a tab).
4) Changed some parameter, from numeric to variant, making available to select the tabs not only by its index by also by its key (keys can be defined for each tab in the Tabs property page or by code).
5) Added some tab orientations like TopRight, BottomRight...
You can see that it is unlikely than in a normal situation something of that will affect you. And you can see if you observe any problem or bug, and report it.
In conclusion: it will be updated in the future, unless someone reports something that needs to be addressed before.
Thanks Eduardo
If I open and maximize the form, the status bar ends up being positioned at the top, above newtabctl instead of at the bottom of the form (StatusBar has "Align = vbAlignBottom"). Why?
Hello. Post a sample.
Normal window with arrow pointing to statusbar:
https://drive.google.com/file/d/12WZ...ew?usp=sharing
Maximized window with arrow pointing to statusbar:
https://drive.google.com/file/d/1cW6...ew?usp=sharing
In the Form_Resize event I added the following line; no advantage:SB1 is StatusBar1Code:If SB1.Visible Then SB1.Align = vbAlignBottom
That's how Align works in VB6. The last control aligned goes after the previous control aligned to the same position (to bottom, to top, to left, whatever.
Align the Statusbar first, then the NewTab:
Code:Private Sub Form_Resize()
If SB1.Visible Then SB1.Align = vbAlignBottom
NewTab1.Align = vbAlignNone
NewTab1.Align = vbAlignBottom
End Sub
Really a great job, Eduardo!
Another question: I tried some settings and I can't restore the initial conditions :mad:. Is there a possibility of a reset?