Saturday, November 10th, 2007
Now we have the basic KryptonContextMenu up and working it’s time to incorporate into the various Krypton controls. First up is the KryptonRibbon. The control itself now uses our new context menu for all the built in menus such as the quick access toolbar customization menu…


Not much difference from the previous menu except it has the correct border rounding and a heading as the first item. You can also specify our new menu as the context menu to be shown for a drop down or split style group button. Here you can see one being shown…


But you are not forced into using the KryptonContextMenu, you can still assign a standard ContextMenuStrip as in the past and it will use that. So your existing code will continue to work and you can migrate across ‘as and when’ you decide to do so.
If you wondering about the special context menu that appears from the application button then do not worry. I have no forgotten about it. Once all the controls are updated and documentation added I will be releasing a CTP so early adopters can play around with the latest bits. Then I will get to work on the app button context menu for the full release towards the end of the year.
Posted in Krypton Ribbon | 2 Comments »
Tuesday, November 6th, 2007
SubMenu
Finally I have the ability to actually show a sub menu when the mouse hovers or presses an item that has a child collection of items. Here you can see a simple example…

SplitMenu
A nice feature in Office 2007 is the ability to split a menu item that has a collection. So if you press to the left of the item splitter it acts like a regular menu item, generating a click event and closing the menu. If you press to the right of the splitter or just hover over the item then it shows the sub menu. You can see the splitter here…

This is useful in the example shown. Here if you pressed the Open item to the left of the splitter you could open up a regular windows open dialog for selecting a file to open. But the sub menu still allows you to select recently opened documents such as OldFile.txt.
So you get the best of both worlds with a simple and obvious interface. Here you can see how it looks with the system palette…

Bounce
When you open up a sub menu it needs to check to ensure it does not display partially off the screen. If you play with a regular menu you will notice that it bounces around the screen. Now the KryptonContextMenu does the same thing. Here I have a three level menu structure…

When the first sub menu opens it defaults to being on the right hand side and below the selected item. But opening the next level of sub menu would have caused it to show off the monitor. So instead it bounces and now opens on the left side of the parent selection. This works against any of the monitor edges. When it bounces it keeps going in that direction, so if I had opened up even more levels it would keep opening to the left side until it then reaches the left monitor edge.
It can be quite funny creating a menu with 50 sub menu levels and constantly opening them to see the menus bouncing around the screen.
Posted in General | 8 Comments »
Friday, November 2nd, 2007
For me the hardest part of marketing is reaching the target audience, in our case .NET WinForms application developers that might find the Krypton components of value.
The free Krypton Toolkit is the main marketing channel for Component Factory. By offering a free library of professional controls I hope that word of mouth will spread the company name and knowledge of our commercial controls. But not all developers will stumble across the Toolkit or have it recommended by a friend.
My second channel for reaching developers is the use of Google Adwords. I have been using AdWords for over six months and it definitely helps reach developers that would otherwise never have downloaded the Toolkit. By setting up the conversion tracking I can see exactly how much it costs to get each new downloader and then compare this with the average sales value of a download. By keeping the first less than the second I know that it generates positive revenue.
This week we now have a third channel up and working, our first reseller offering the Krypton components for purchase. ComponentSource.com is the largest online reseller of developer components and will reach another group of purchasing developers that would not otherwise have heard of Krypton. You can check out my product listing by clicking this image….

By having three different ways of reaching the target audience I hope to keep expanding the already large community of developers using Krypton Toolkit in their projects.
Posted in MicroISV | 1 Comment »
Friday, November 2nd, 2007
I’ve been asked by email if the KryptonContextMenu can be customized on a per item basis. As with all Krypton controls the answer is yes. Here is a simple menu with the default Office 2007 Blue palette…

And now my ‘designed’ version by customizing the settings…

I hope your graphic design skills are better than mine! But the serious point is that you can alter the text color for each individual menu item or for each individual header entry as needed.
Posted in Krypton Toolkit | No Comments »
Thursday, November 1st, 2007
Unlike a traditional context menu, with a Krypton context menu you do not add standard menu options to the top level of the control. Instead the top level collection can only contain either a heading, an item collection or a separator. The item collection contains the actual set of individual menu options.
So why does Krypton use a separate child collection for the actual menu options?
The advantage is that you can then alter the ItemStyle, ImageColumn and other properties for just that individual collection of options. Here you can see an example of this in action…

The top level looks like the following…
<Heading Item>
<Item Collection>
<Separator Item>
<Heading Item>
<Item Collection>
The first item collection contains the Cut, Copy, Paste etc set of options. It also contains a vertical separator so that the items are split over two columns. Notice that this does not force two columns for the whole context menu, only for the items collection they are inside. After the second heading there is another item collection that has the three server related menu options. In this collection the ItemStyle has been defined as Alternate and ImageColumn turned off.
An item collection can contain not just menu options but also separators and headings.
Here is the same menu using the system palette…

Posted in Krypton Toolkit | 3 Comments »