ATTENTION: You are viewing a page formatted for mobile devices; to view the full web page, click HERE.

Other Software > Developer's Corner

How do I Start a Ribbon Project?

<< < (3/3)

Stoic Joker:
Going WPF means going C# or C++ CLI I believe. However you don't need to go managed .NET for the ribbon, it is exposed as a native Win 32 API.-Eóin (January 01, 2012, 07:24 PM)
--- End quote ---

 :o Now that plays rather nicely on my weakness for the native Win32 API ... I had initially anticipated that this project would entail jumping directly onto a C# object because the API wouldn't fly. That could very well be the best news this project ever gets... :)

I would suspect the easiest way to start a ribbon project is through C++ WTL and this tutorial - Relook your Old and New Native Applications with a Ribbon UI under Vista or Windows 7 (WTL)-Eóin (January 01, 2012, 07:24 PM)
--- End quote ---

Okay, So... What kind of shenanigans would I have to go through to access/use the newer (XAML) style interface/controls if I go the WTL route...or is that even possible?? I'm kind of making a point (with this project) to step away from my comfort zone classic (made for Win95 look) UI, and do something along the lines of some of the newer more (trendy?) current UI's that aren't quite so (Win95-esq) starkly utilitarian.

(I do hope I'm explaining this right - I'm just not entirely sure what half this new crap is called)


I admit my soft spot for WTL does bias me in that suggestion. But being a header only library which wraps the WIN32 APIs, it means you acquire zero external dependencies.-Eóin (January 01, 2012, 07:24 PM)
--- End quote ---

And on that note I'll have to go outside and do cartwheels.  :-*

Stoic Joker:
It's a business management application ... So it really kinda has to be a MDI so users don't have to contend with lose windows scattered all over the desktop while looking up multiple clients/products/contracts/etc.
-Stoic Joker (January 01, 2012, 02:17 PM)
--- End quote ---

I've done something like this in SDI with WPF, and it actually turned out better once I got rid of my preconceptions. 

Two things I did to make window management simple:
1. The windows are aware of the other windows and there is a menu that allows you to select the other windows from that window
2. There is a launch application that everything is launched from, which also has an icon in the tray notification area.

How this helped and became a help rather than a hindrance:
1. They each run in their own process
2. All of the client machines have two monitors, so the MDI interface that they were used to actually limited their ability to position windows; they used to run two instances of the application.
3. They all are upgrading to windows 7; the positioning abilities of windows 7 actually made the layout more versatile.

So I'd say don't limit yourself by the classic UI, but look at the options and find out what actually works best for the client.-wraith808 (January 01, 2012, 08:55 PM)
--- End quote ---


Understood, I've got an IMS MDI that I did for the production department that has worked out rather well. But it was a native Win32 API app that took bloody forever to do ... Which I'd like to avoid, by leveraging some of the newer rapid development - App Framework handled by "Magic" - methods that are available these days. Assuming I can get my head around it fast enough to get the project off the ground fairly soon (eek!).

Note: (good news/bad news) This will be an in-house project so i/we are the client. We have several disperate systems that were designed for specific unrelated projects ... That are now directly related and need to be sharing data instead of (enducing errors by) duplicating it. The also aren't scaling well so I'd like to (take them all out and shoot them) start over from scratch with current design requirements...before it becomes a complete maintenance nightmare.


Anyhow... I ran across an interesting code sample over at CodeProject, that is a MDI UI that allows children to be pulled out of the main window and docked. Multiple Window Interface for WPF Being a fan of have your cake and eat it too solutions ... I'm leaning that direction. (And Eóin's above bombshell is pulling hard in yet another direction.)

But nothing is carved in stone yet. I've still got to meet with the brass to get the project approved, and discuss what the user access requirements actually are. There is a small possibility this may need to be (or at least have) a web interface for the road warriors.


Oh yeah, we still have many XP machines, and everybody is single monitor. They're at least (mostly...) wide monitors...but they're all singles.

Main thing I'm after is a single click to close functionality, so it isn't constantly ophaning child windows/processes like our other BM software Sage BusinessWorks. That nightmare takes an act of congress to completely kill for restart when (not if...) it crashes.

hintonrenata:
Add Reference to Wpf-Ribbon assembly to your project

    In C# right-click References node in Solution Explorer and choose Add Reference context menu command. In the Add Reference find and select DevComponents WpfRibbon and click OK.
    In VB double-click My Project node in Solution Explorer and click on References tab. Click Add button and in the Add Reference find and select DevComponents WpfRibbon and click OK.

You should already have the default WPF Window created by the VS.NET so open the Window1.xaml and change the Window declaration to:

Navigation

[0] Message Index

[*] Previous page

Go to full version