vbrichclient / vbwidgets Goto Github PK
View Code? Open in Web Editor NEWCairo-based Replacements for the CommonControls, based on the vbRichClient-Framework (www.vbRichClient.com)
Cairo-based Replacements for the CommonControls, based on the vbRichClient-Framework (www.vbRichClient.com)
The object browser for cCairoContext
's Stroke
method says:
Sub Stroke([DontClosePath As Boolean], [Pattern As cCairoPattern])
When I set DontClosePath=True
it closes the path, and if I set it to False
then it does not ... so I think the parameter should be called DoClosePath
.
Hi Olaf,
When dealing with coordinates inside Widgets code, the functions Min(n1,n2) and Max(n1,n2) are handy. It's hard to believe VB6 lacks them.
I don't understand VB enough to know if the following is reliable (I mean, when dealing with different numeric types, and so), but maybe you could add some "well designed" functions to modWidgets.bas
This is what I have now, and they seem to work fine with Long, Single and Double:
Function Max(ByRef n1, ByRef n2)
Max = IIf(n2 > n1, n2, n1)
End Function
Function Min(ByRef n1, ByRef n2)
Min = IIf(n2 < n1, n2, n1)
End Function
PS: I can't find a way to classify an issue, like "bug", "enhancement", "question",...
Judging from various vbForums posts (e.g. http://www.vbforums.com/showthread.php?765051-VB6-Dynamic-Menu-Popup-and-Toolbar-Demo-%28vbRichClient-based%29), there have been significant updates to one or more widgets over the past year... yet this repo has not seen a commit since July 2013.
Are there any plans to merge those vbforums updates into this repo, or is vbforums the "official" source for further updates?
When the user press the Left key over an element of the cwTree:
Sorry, I couldn't figure out the way to do this by myself...
I am learning vbWidgets. It is really a great work!
When I put ucPanel control on VB form and add cwControls like cwButton, cwHScrollBar in it and run the program, the ucPanel control gets blackened. cwControls does not appear in it. After hovering mouse over it, the controls start to appear.
Please suggest a solution!
Hi
I appreciated very much the "search for first char of a List-entry" in cwFileList
I think it would be useful even in cwDorpDownList and maybe other type of Lists (when we have a lot of items) ... just to avoid scrolling items with mouse
Discovered while testing MenuBarDemo.vbp.
Replicate like this:
You will observe that the menu window is not properly destroyed and leaves its 'shadowed outline' on top of all other application windows. Tested on XP SP3
Hi,
It seems that W_AddedToHierarchy is not called when W is added to another widget, as a child (W.Widgets.Add...).
I tried a lot of other events to get W.Parent, but with no avail.
Is there any reliable way to get W.Parent from inside a widget when it is added to another widget?
Thanks
Hi Olaf,
When the cwProgressBar is in marquee mode the rendering of the marquee portion appears to be "off" a bit. See below:
I've traced this to the DrawUsedArea method:
Private Sub DrawUsedArea(CC As cCairoContext)
Dim ScaledValue As Double, StartX As Double
CC.SetLineWidth 0
ScaledValue = ((mValue - mMin) / (mMax - mMin)) * (mInternalW - 2.5)
If mStyle <> pg_Standard Then
StartX = ScaledValue - (mInternalW * MarqueeWidthPct)
End If
Cairo.Theme.DrawTo CC, W, thmTypeProgressFace, thmStateSolidColor, StartX, 0, ScaledValue - StartX, mInternalH, mBorderRadius
End Sub
In particular the StartX
value is being calculated a -70
on my machine where ScaledValue = 0
, mInternalW = 280
, and MarqueeWidthPct = 0.25
.
I'm not 100% sure what the goal of the code is there, leaving StartX at 0 seems to render "correctly" IMO:
Is there a good reason for the StartX = ScaledValue - (mInternalW * MarqueeWidthPct)
line but the calculation is off for some displays/environments, or should we delete the whole If mStyle <> pg_Standard
block?
Is it possible that you can open-source the RC?
The community is having a bad time since C,Java,C# ... are taking the place of VB6,and you great achievement, the vbRichClient was so nice that a user guide is needed.
Is it possible that you will lead a action to compose a details guide on how to use vbRC.
Thanks, vb6 user from China.
cwTextBox should handle TAB characters in MultiLine=True mode (possibly with a TabWidthTwips property to define the amount of space a tab character should occupy)
Hi Olaf,
in order to use effectively the cwGrid as a replacement for the current OCX I use at the moment (True DB Grid and VSFlexGrid) I miss some features, like column moving and resizing, cell customization (ie: backcolor, forecolor, image and font properties for cells that need attention from the user), row color (ie: background and forecolor, based on some special condition, like "alert row"), fixed column, layout saving and restoring, and so on, in order to map them to the current properties of the mentioned OCXs.
I can implement them by myself than do the pull requests, if it's ok for you: do you think that these properties are better to be implemented in the cwVList widget and then inherited from the cwGrid or they are too specialized for the cwVList ?
Would there be enough of a security benefit to warrant encrypting the mText variable contents when the PasswordChar property is set to a non empty string?
I know it would be worth it for Windows controls since they can respond to SendMessage to clear the password character, but vbWidgets don't respond to windows messages, so perhaps it is just a waste of cycles? Or is it a good idea to help hide the text from debuggers?
I'm willing to do the work if everyone thinks it is worth the trouble, but I thought I would get some feedback first.
I don't have much experience with Unicode, so this questions might be silly, but I am curious about the WidgetBase Key* Events using KeyAscii Integer parameters. Should they be using KeyUnicode Long instead to have full unicode compatibility for widgets?
I've spent some time implementing multi-level undo/redo support for the cwTextBox class, but I wanted to confirm protocol here before I submit such a large pull request.
My solution adds 2 new private classes (cTextUndoStack and cTextUndoStackItem), a fair amount of code, including changes to the cwTextBox class. The code is functioning reasonably/testably well, but there is one known issue, and other issues may arise with more testing.
I have currently made all of the code changes in a separate branch of my repository.
Should I submit a pull request against my branch, or should I merge the branch into the master so it will become part of my currently open pull request?
Should I wait until I've solved the known issue?
Should I get feedback before submitting a request in case you don't like my approach?
Hi Olaf,
I need to select a widget by code, but couldn't find a way.
I tried Widget.SetFocus Root.SetFocus(oWidget), Widget.MouseDown, etc., but Selected and Focused always returns false.
Is this possible? How?
Thanks
Back, again, to the menu demo...
When clicking on a menu, no sub-menu should be activated until is has been moused-over (or down key pressed).
Example:
Click on 'File' Menu; 'New' is highlighted in blue and will be triggered via enter key. Normal behaviour is for no menu item to be highlighted and for 'Enter' to cancel the menu.
When there are controls inside the ucPanel, later's BackColor cannot be changed. I added BackColor property in ucPanel. But as long as there are controls in ucPanel, it's BackColor remains gray.
If a menu is dropped-down it should be hidden and entirely de-activated if the user clicks on a non-client area of the form.
Reproduce in MenuBarDemo.vbp:
The menu is still visible and active but it shouldn't be....
cwMenuBar does not respect the ALT key to activate a menu although it does work OK with a hot-key combination.
i.e. ALT-F would activate the File menu in your MenuBarDemo.vbp but ALT, on its own, will not.
@vbRichClient; is this intentional? Perhaps you had it in mind that the developer implements a hook via KeyWatcher to create this behaviour?
Olaf please take a look here:
miorsoft/Site#3
I was working in accomplish something like this:
And I figured out that I can't modify the RC5's class cMenuItem to add a "IsOption" property.
I was thought that the IsOption should work only if IsCheckable is also True. If enabled, it should change the visualization to radio-type and it should add the only-one-checked-at-a-time behaviour.
I don't know if you are interested in adding this functionality, I would be happy to help you (or do it). If not, I will still use vbrichclient in this state and I will do some workaround in my project to not need Option MenuItems.
Thank you in advance, Kbre
Hi,
I've created this "issue" to post a question, I don't know if this is the right place to post them...
I want to use the cwDropDown widget and I can not figure out how to show the DropDown "list" when I click on the widget. I suspect that the answer is in the handling of the PopupWidgetRequest event, but I would like to see how to implement it correctly.
Could you give me an example, please?
Regards, Kbre
Hi, I write here instead of VBF.
And the question is not about widgets but RC.
I must say that I don't know anything about alphabetical sorting.
Regarding FSO.GetDirList :
Why using both dlSortByNameLogically
or dlSortByName
I obtain this type of sorting?
I prefer this (seems to me more logic and pleasant):
Is there a way to sort this way ?
Is this a bug or is it how it works?
Thanks
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.