Say if I need to display a list with lots and lots of records, which control is better? Or shall I say, which control has a better scrolling experience?
I've seen a lot of people reporting issues on this LongListSelector, is it really too buggy to use?
Hope someone can shed some light on this for me. Thanks in adv.
Xin
If you don't need grouping, I wouldn't use the LongListSelector. The virtualization support is easier to use/manage with a regular ListBox.
And as of Mango, the ListBox performance issues are no longer a issue. You get smooth scrolling with both.
So I think you should stick to the ListBox.
The LongListSelector is used when you want to do more stuff with your list instead of just showing plain list items. LongListSelector supports grouping, which again supports easily jumping to another group. Both have visualization, so if you donĀ“t need/want that, I would go for a simple ItemsControl and a scrollviewer(which is built in in the listbox and longlistselector).
Related
I am wondering if there is a way to reuse listbox items cells so you don't have to recreate the cell for every item individually?
this technique is used in iOS and as i've seen so far(by simple observasion, no tests were concluded), the performance in lists is much better in iOS then WP7 (on some-what equivalent hardware). Is this improvement due to the OS itself or is the UITableViewController(iOS) better handeled than the listbox(wp7) ?
Yes it is possible but you will have to look more into Silverlight(Xaml) Design.
You can define all rows in the list box to be completely identical with a little code,
Xaml will be the code behind for the design.
ListBox and Silverlight,
I would recommend reading the above page and maybe it will give you a better feel, i develop on both IOS and WP7 and i definitively prefer what the WP7 has to offer.
It just takes a bit of knowledge on both Xaml and The language of choice for the code behind.
Check the screenshot below from Omnigroup, note the nested cards, how do you think we can implement a similar one in Delphi? Custom draw Virtual treeview? Any other hints? Thanks!
Seems to me that nested panels with captions would do the job nicely. If you want something more or less ready made, TMS Software's TAdvToolPanel comes to mind. Haven't used them for this kind of thing, but they are nestable, so you should be able to get something working fairly quickly.
An owner draw treeview might do the job. You could look at Virtual Treeview which is an open source component (and according to another SO question on of the best).
Every time I need to create a menu or toolbar with actions I end up collecting some images extracted from different application and hand tuning them with the image editor. This is time consuming and boring (eventhough I admit that might be a refreshing break in some ocasions).
Do you know of any collection of such images? I would like to have at least images for all the menu items in the menu templates. They must be copyright-free. Thanks.
There are the silk icons (and others from famfamfam). Those are not copyright-free, but I figure you meant they needed to be unencumbered, free-to-use, etc. (Truly copyright-free stuff will be very, very hard to find.) The silk ones just require acknowledgement somewhere, nothing else.
#PA check this link.
my favorite famfamfam
and these questions in SO
Where can one find free software icons / images?
Free set of forms, icons, styles, etc for web-based admin interfaces
and so on.
We use IconExperience which is royalty free. You buy a licence for a company. They do two different libraries, one called V-Collections and the other X-Collections. There are various sections within them, that you can buy separately, but for V-Collections its $379 at most and X-Collections its $289.
I guess it is almost impossible to get "copyright-free" glyphs. Even Open Source is not copyright-free!
But if more-or-less-free-for-use glyphs are ok, then you might give glyFX's free icons a try.
Gnome has good icon sets and the licence is GPL.
http://art.gnome.org/themes/icon
You can search on Web. There are many sites with icons; I use these:
http://www.iconlet.com/
http://www.iconfinder.net/
http://icons-search.com/
http://www.veryicon.com
http://www.iconlook.com/
http://www.iconspedia.com/
Surely there are more.
You can search icons by name or cathegory, search similar icons, icons by packages,...
Regards.
A good website to track is Smashing Magazine I keep the RSS feed on my iGoogle page as the regularly have articles along the lines of 50 Beautiful Free Icon Sets For Your Next Design. They're a bit "graphic designery" if you get my drift but they do provide some really useful stuff.
Try the Fugue and Diagona icon sets. Again, they're not copyright-free, but can be used in exchange for attribution.
I am looking to build my own component and have no idea where to begin. I have some Delphi books but they are old and outdated, and am looking for some recommendations on tutorials/books to help me do this. The component will be pretty simple, basically 2 labels and an image. I need hundreds of these in an array, so I thought a component would be the best route. The text will adjust based on width etc, and have some mouseover events. So basically, where do I begin?
I am using Delphi 2009, this will be a win32 app.
Thanks!
You can order Ray Konopka's book Dev. Custom Delphi 3 Components - PDF for 25$. It's a specialized book on the subject and very good for a beginner too.
The main principles behind developing components is:
Whether the component is visual or
not (Does it need a Canvas to paint on)
Does it need a window handle or not (visual or non-visual)
Once you answered those questions you can look at Delphi's source code for examples.
As far as I know, Delphi Component Design, by Danny Thorpe, is still the best book on the subject. Component design hasn't changed significantly in the last 15 years, so whatever books you have probably aren't as outdated as you think. There are three things to keep in mind while reading older references:
Names of certain units have changed. There's no DsgnIDE anymore, for example. It's DesignIDE instead.
Design-time code is strictly separated from run-time code now. This means you can't use DesignIDE in your component's unit, or else you're barred from using run-time packages. Older Delphi versions didn't have this technical restriction (although it's always been a legal restriction), so old code examples you find might need to change a little bit.
Strings are Unicode now, so as with all old code examples you find, there might be some invalid assumptions about character sizes that you'll need to recognize.
The biggest obstacle to writing components is that you're expected to use various protected members of the classes you descend from, but those frequently aren't documented, so you'll have to be much more willing to go read the VCL source code for examples of how various methods are used.
The easiest way to do what you want is to create a new form. Drop the labels and image and arrange them the way you want; if it suits your need, put them on a panel so they can be moved around as a unit.
Select all the components you want included (and including the panel if you chose to use one), and then click the Component item on the IDE's main menu, and select the "Create Component Template". (It's only enabled if you have selected components on the current form.) A dialog will appear asking you for a name for the new component, and the Component Palette page on which you want it to appear.
Take a look at this article, which describes how to build new components made up of a group of existing components.
Don't worry about your books being old.
Just about everything from the old days still works fine and what little doesn't is generally due to name conflicts or the addition of Unicode in the 2009 version.
They aren't Microsoft, they don't go breaking old code without good reason. In fact, take some code from the old DOS days--assuming it doesn't try to manipulate the screen it's likely to run with minimal fixup.
Don't worry about your old books! Since v3, Delphi hasn't changed much. This is why most of the programs compiled with D3 still compiles in D7 or even newer versions. And if it doesn't compile, probably you need to change a line or two, here and then.
I would recommend you to search other VERY simple components on Internet and see how they are made. Then make your own and post it here. Let other take a look at it and suggest improvements or spot bugs.
About your control's design:
1) maybe you DON'T need those two labels. You can just paint the text directly on the image. If you have lots of those components as you say, you may save a little bit of memory.
2) you may NOT want to have lots and lots and lots of images loading in one form. The overhead may be significant. What you can do is to load the pictures ONLY in images that are visible on screen - and you will put on screen ONLY 5-10 images (or whatever number of images you can show on the form without going out of screen). As the user scrolls down, you keep the same same TImage controls on screen but you load new (next) images in them.
3) You may not want to store labels and TImage in an array (I suppose it is an TImage because it seems you want to show them on the screen else you won't need labels - you need to explain your problem in more details if I got it wrong). But you can store a TBitmap and the text (that you want to display in labels) instead.
So, you may need to calculate how much CPU/disk overhead your hundreds of controls will create and how much memory they need. If you stay well under 1GB and the loading time is under 10 seconds, then it is relatively ok. IF not, you may want to think about your control's design before starting to actually implement it.
Hope this was helpful.
See ya.
I've been using Balsamiq to create mockups. I'm using the trial version, so I have all screens in one mockup instead of multiple files. I want to send an export of these mockups to my team so they can comment on them. They need to be able to easily add arrows, callouts, text, etc. I know you can do some of that in Balsamiq, but it isn't really made for these types of comments. I have used Paint.net and added these in separate layers, but it isn't the most easy to use application for some non-technical people. I like the editor in Snagit as it easily allows mark up an image, but that is a paid app and I am looking for a free tool (that runs on Windows).
This tool doesn't necessarily need a screenshot capture tool as there are plenty of options available, but this wouldn't preclude a tool.
The things I would like to be able to easily do are:
Add arrows to show what button was clicked to move from one screen to another
Add callout text to offer suggestions to reword a section or move an item
Use different color/size markup items
I've found Pencil, but that seems like overkill - I don't need full image editing, just the ability for someone to quickly and easily provide feedback.
Maybe you can try ForeUI, if you like it, please drop me a mail to vivi[at]foreui.com, I can send you a license for free :-)
Not free but if you already have MS Office with OneNote installed it's great for stuff like this imho. I think there's a free reader as usual.
If you really want quick and easy feedback use a pen and paper.
Print the screens and hand them out those on the team that need a say in the UI. Have them markup to their heart's content and hand them back to you. I know it makes me sound like a luddite, but it really is the most effective way.