CodeGuru
Earthweb Search
Forums Wireless Jars Gamelan Developer.com
CodeGuru Navigation
Member Sign In
User ID:
Password:
Remember Me:
Forgot Password?
Not a member?
Click here for more information and to register.

jobs.internet.com

internet.commerce
Partners & Affiliates
Cell Phones
Computer Deals
Online Education
GPS
Prepaid Phone Card
Online Education
Web Design
Memory Upgrades
Auto Insurance Quote
Server Racks
Web Hosting Directory
Free Business Cards
Compare Prices
KVM over IP


RSS Feeds

RSSAll

RSSVC++/C++

RSS.NET/C#

RSSVB

See more EarthWeb Network feeds

Home >> Visual C++ / C++ >> Windows & Dialogs >> Dialog >> Options Dialogs

Best Practices for Developing a Web Site. Checklists, Tips, Strategies & More. Download Exclusive eBook Now.

Microsoft Development Environment-Like Options Dialog Class
Rating: none

Waqas Ahmed Saeed (view profile)
October 4, 2000


(continued)

Access FREE HP High-Availability Solutions for Exchange 2007 Tools:
Access FREE HP Tools:
Webcast:
Key Tips from the Experts--IT Service Management Strategies with Business Objectives
Learn critical success strategies around IT Service Management (ITSM) practices that will help your organization improve service quality, increase efficiency, and become more agile in responding to business needs.

IDC Report:
Automate Virtualization Management
This report examines the role of datacenter management solutions that automate cross-silo virtualization capabilities to lower TCO, increase compliance, and deliver end-to-end service visibility across both physical and virtual infrastructures.


Storage Networking , Part 1
eBook: A storage network is any network that's designed to transport block-level storage protocols. But understanding the ins and outs of networked storage takes you deep into several of protocols. This guide covers SANs, Fibre Channels, Disk Arrays, Fabric, and IP Storage. »

Storage Networking 2, Configuration and Planning
eBook: Picking up where Part 1 left off, Part 2 of our look at storage networking examines configurations for SAN-attached servers and disk arrays, and also includes a look at the future of IP storage. »

Storage Management Costs in the Enterprise: A Comparison of Mid-Range Array Solutions
Whitepaper: Many factors contribute to the ownership cost for enterprise storage. These include (but are not limited to): physical capacity relative to physical space requirements, performance capacity for data transfer and system reaction time, software maintenance and updates, expandability and flexibility, and much more. »

Storage Is Changing Fast  Be Ready or Be Left Behind
PDF: The storage landscape is headed for dramatic change, thanks to new technologies like Fibre Channel over Ethernet (FCoE), pNFS, object-based storage and SAS that will affect everything from NAS and SANs to disk drives. Get the knowledge you need to make the most of your storage environment, now and in the future. »

HP StorageWorks EVA4400
Demo: Dont settle for an expensive and complex array that lacks functionality. The HP StorageWorks EVA4400 delivers virtual storage with enterprise class functionality at an affordable price. »


Figure 1: Visual InterDev 6 Option Dialog

Overview

Many of Microsoft's development products are beginning to go away from the tabbed dialog metaphor and have started using a single dialog with a treeview control that is used to display application options in a hierarchical fashion. Figure 1 (above) shows the Options dialog in Visual InterDev 6, but other development products, such as the new Visual Studio.NET are also following suit.

Therefore, in order to make this new UI a little bit easier, I have created a new class called COptionsTree. Using this class is extremely easy and requires only the following steps:

  1. Place a tree control on the dialog
  2. Place the different controls on the dialog that will constitute your options. Make sure and turn the Visible property off for each of these controls.
  3. Declare a member variable of type COptionsTree in the dialog class
  4. In the dialog's OnInitDialog member function, call SubClasDlgItem with the resource id of the tree control. This will allow my class to subclass the tree control.
  5. Use COptionsTree::AddControl member function to associate each control with a specific tree item. There's an example of how to do this below.

Example Source Code

Included with this article is a demo that when run looks like the following:

 
Figure 2: Demo application - notice how the controls automatically display/hide based on which item in the treeview control is selected.

In this demo, we have a dialog with two options (First and Second). The First option is associated with a static control and a radio button. The Second option is associated with a static control, a check box and a combo box. Below is all the code needed to make this work.

// subclass the treeview with the COptionsTree class
m_Tree.SubclassDlgItem(IDC_TREE,this);

HTREEITEM hItem, hParentItem;

// insert the first item and get it's HTREEITEM
hParentItem = m_Tree.InsertItem("First");

// use the HTREEITEM to associate each control with a given tree item
m_Tree.AddControl(hParentItem, GetDlgItem(IDC_RADIO));
m_Tree.AddControl(hParentItem, GetDlgItem(IDC_FIRST_STATIC));

// insert the second item (in this example, it's a child of the first
hItem = m_Tree.InsertItem("Second",hParentItem);

// use the HTREEITEM to associate each control with a given tree item
m_Tree.AddControl(hItem,GetDlgItem(IDC_COMBO));
m_Tree.AddControl(hItem,GetDlgItem(IDC_CHECK));
m_Tree.AddControl(hItem, GetDlgItem(IDC_SECOND_STATIC));

Downloads

Download demo project 17 Kb
Download source 3 Kb

Tools:
Add www.codeguru.com to your favorites
Add www.codeguru.com to your browser search box
IE 7 | Firefox 2.0 | Firefox 1.5.x
Receive news via our XML/RSS feed

Intel Go Parallel Portal: Translating Multicore Power into Application Performance. Learn more.
Best Practices for Developing a Web Site. Checklists, Tips & Strategies. Download Exclusive eBook Now.
Is it time to make your move to the multi-threaded and parallel processing world? Find out!
Becoming a Better Project Manager. Checklists, Tips & Strategies. Download Exclusive eBook Now.
Generate Complete .NET Web Apps in Minutes . Download Iron Speed Designer today.


RATE THIS ARTICLE:   Excellent  Very Good  Average  Below Average  Poor  

(You must be signed in to rank an article. Not a member? Click here to register)

Latest Comments:
No Comments Posted.
Add a Comment:
Title:
Comment:
Pre-Formatted: Check this if you want the text to display with the formatting as typed (good for source code)



(You must be signed in to comment on an article. Not a member? Click here to register)


JupiterOnlineMedia

internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

Jupitermedia Corporate Info


Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

Advertise | Newsletters | Tech Jobs | Shopping | E-mail Offers