Free articles
Google
Web www.media13.com


Media13.com is a source of free to republish or reprint articles, writers may submit your articles in our database as long so you agree that your article will be freely republish or reprint by other.


Submit Article

Search our database

Received article from us.

Name

Email Address

Friends

Bollywood News
Link building
Article submission service
Freelance Writers
Laser hair removal

We have been looking for freelance writers. Contact us

 


Creating a Windows Explorer clone with complete shell browsing GUI in your Visual C++ MFC application with Shell MegaPack ActiveX   by Atul Godbole



Creating a Windows Explorer clone with complete shell browsing GUI in your Visual C++ MFC application with Shell MegaPack ActiveX

Original article at http://www.ssware.com/articles/creating-explorer-clone-in-visualc++-mfc.htm


Link : Original Article

Introduction

Any developer who has ever wanted to provide file/folder browsing or file-selection functionality in his own application knows the utter lack of simple, extensible and customizable MFC components for this purpose.

Even as simple a task such as letting the user select a folder has to be accomplished by using complex shell programming APIs like SHBrowseForFolder. And all you get after all this is exactly the ability to let a user select a folder. The disadvantages of this approach, apart from the fact that it is very inflexible and non-customizable, is that this approach shows a modal dialog to the user, meaning the user has to deal with the dialog before moving on - either select the folder or cancel the operation.

Another option is to use the `common dialogs` - the MFC CFileDialog class - which is almost as inflexible and narrow-minded in its goals and features. Sure it can be extended to add more controls, but only after you have spent 20 hours wrestling with subclassing and hooks and WindowProc.

To do away with the modal madness, you can a listbox and combobox in your own own dialog and use an API like the DlgDirList to list all drives, directories or files. All you get with these APIis is a textual list of filenames. Compare this to Windows Explorer which shows the entire shell`s namespace including filesystem items and virtual items like Control Panel, Network Neighborhood etc in all their glory - with pretty icons, a hierarchical display of folders, Thumbnail or Details or Group Views, infotips, dragdrop, context menus, etc.

And with Shell MegaPack, you can get all this in your application. If you want drop-in Windows Explorer shell browsing functionality in your own application, with all features of Windows Explorer`s features, along with the advanced behavior control and customization, and you want all of this with minimal time and effort, then Shell MegaPack is the way to go.

Inserting the controls in your dialog.

To insert the ActiveX controls in your MFC project, right click on the dialog at design time and select `Insert ActiveX Control..`. In the dialog box that comes up, select `Sky Software FolderView ActiveX Control` and click `OK`. Repeat this procedure for FileView and ShComboBox. Now that all three controls are on your dialog, position and size the controls as per your needs and give them the desired IDs.

Next, we will add variables for all the three controls. To do so, right-click on the FileView control at design-time and select `ClassWizard..`. Select the `Member Variables` tab, select the ID for the FileView control in the `Control IDs` listbox and click `Add Variable..`. At this stage, Visual C++ will ask whether it should generate wrapper classes for the control. Click `OK` and give the control the desired variable name and click `OK again`. Repeat this step for the other two controls as well.

Setting properties

All three controls can be fully customized at design-time. To set properties, right click on the controls at design time and select `Sky Software FolderView ActiveX Control Object` --> `Properties..`. This will bring up the property pages from where you can customize the controls as per your needs. You can change the appearance and colors, set filtering modes (hide virtual items, hide hidden items, show folders), set the starting folder, set whether context menus, infotips, etc are shown and whether dragdrop is allowed. Almost every aspect of the controls can be customized at design time in this way.

Linking the controls together

Linking the three controls with each other enables them to synchronize automatically with each other. For example, if a new folder is selected in FolderView, FileView will automatically update itself to show the contents of that folder. Linking can be done in just 2 lines of code :

m_shCmbBox.SetFolderView((LPDISPATCH)m_fldrVw.GetControlUnknown());


m_fldrVw.SetFileView((LPDISPATCH)m_fileVw.GetControlUnknown());

Event Handling and behavior control

The controls come with a large number events which are fired when certain things occur, such as when the current folder has changed or an item has been clicked or double-clicked or selected or checked. The other use of events is to give you the opportunity to do advanced customization. For example, you might want to allow the display of context menus for one item but not another, or allow dropping of files on some particular folders or disallow execution of some files. Simply setting Cancel = True in the proper event allows you to accomplish this.

To handle an event, right click on the control at design time and select the `Events..` menu item. In the dialog that comes up, select the appropriate event and click `Add and Edit`. For example, to prevent display of context menus for folders, handle the OnItemRightClick event of FileView and use the following code :

CListItem i;


i.AttachDispatch(Item,FALSE);


if(i.GetAttributes(FOLDER) & FOLDER)


*Cancel=TRUE;

Advanced customization

The controls allow you to replace or extend the default attributes of items. You can change the display names (text) of files and folders ( for example, prefix an asterisk(*) before all files ), change the default icons shown for files and folders, add, remove or modify items from the context menu of files and folders, add custom columns in Details View. You can even add your own custom items to the controls. With this feature, you can recreate an entire shell namespace extension within your own application with minimal effort.

Conclusion

A Windows Explorer like shell browsing UI is required in many applications, yet there is no simple way to add such functionality in your application without spending countless hours for the most basic functionality. If you desire even a little semblance to the explorer UI and a little customization, then the corresponding time required grows exponentially. Shell MegaPack brings a drop-in shell browsing UI to your app within minutes and shields you from all the complexities and pains and the modal madness discussed above. Just the gains in terms of the time saved is more than worth it.

Author Info:

Atul Godbole is the President of Sky Software, a leading developer of user interface components based on ActiveX and .Net technologies. To contact him or to find more information about Sky Software and its products, please visit http://www.ssware.com.


Latest 20 articles

Why Should I Hire a Seattle Real Estate Attorney? In every real estate transaction there are a wide variety of legal issues that must be taken care of. Contracts should always be reviewed by an attorney who understands the nuances of real estate law. But there are also state specific State laws to contend with. A Seattle real estate lawyer deals with a large number of State legal issues related to acquiring, financing, developing, managing, co

California IT Professionals – In Need of California Class Action Attorneys! It is hard to miss the wave of California wage and hour litigation related to California IT professionals and Computer employee overtime that has been sweeping California recently. Even the largest software and computer companies have paid out millions of dollars to employees wrongfully classified as “exempt”, or in other words, not entitled to overtime. A layperson would believe that with pr

Protect Your Mental Health With A Payday Loan Just when you thought that things couldn’t get any worse, more banks went under. More countries are declaring economic crisis. It seems that the world’s financial problems are bound to get worse. Even if you do not have considerable investments in various banks, I am sure that you are feeling the stress that results from these economic upheavals. I sure am. I am just an average person, with a

Free Bulk SMS services People are getting very busy these days without having enough time to talk unless it is very important. Mobile SMS have supported this need to contemporary times as now people do not want to call and enter in the unproductive conversation before coming up to the actual issue. SMS provides you the benefit to come straight to the point and also saves money. What if you get this totally free?

HELP – I Have IRS Levy Problems! If IRS collection notices are ignored, the IRS is forced to collect from taxpayers by force. They do this with their dreaded IRS levy. By law, the IRS has the right to levy bank accounts (IRS bank levy), garnish your paychecks (IRS wage levy), or even seize your assets. But you do not have to let the IRS bully you or your family. There are ways to stop an IRS levy. The first step is to know the

Why Use Professional Tax Debt Help? Good IRS tax relief is hard to find and for people with complicated tax issues, it is an absolute necessity. But how do you know which tax reduction firm is the best one to try? How can you be sure you're going to get the tax debt help that you need? And why is it so vital to receive help from professionals? Settling Your IRS Tax Debt For Less When your IRS tax debt is spiraling out

IRS Settlement – Can You Really Settle Your IRS Tax Debt for Less? It's possible to settle your IRS tax debt, but it presents a challenge. Proving you can settle your tax debt for less is a daunting experience. You have to contend with pages of IRS paperwork rife with technical terms. Settling tax debt is indeed a reality and it can be done. However, there's a lot you need to know before you attempt to settle your IRS tax debt. Rebuking the Lies - The

IRS Tax Relief – The Most Popular IRS Tax Relief Solutions Tax law provides many solutions for resolving tax debt. But if you were to contact the IRS directly, they would only alert you to one solution, and that's paying the tax debt in full. Here are five popular IRS tax relief solutions you should know about to be more informed. IRS Tax Settlement It is possible to settle your IRS tax debt. But there are some pitfalls you need to know. Fi

Hire the California Labor Board or California Labor Law Attorneys - You Decide With a downturn in the economy, many employers are cutting back on payroll. Unfortunately, some employers are reducing payroll costs by violating the California overtime laws. When this occurs, employees have essentially two options to recover their California overtime pay: the California labor board, or hiring California labor law attorneys. Although the California Labor Board is a commonly

Hiring a Car At Bangalore - Is More of Necessity Than A Luxury Your sedan is probably the best materialistic thing that you own and while going to a new place, that is what you ought to miss the most but if you are going to Bangalore then you probably have a option of getting a replacement so that you don’t miss it all that most because it will be as comfortable and as obedient as your own car and the Bangalor

How to Choose a Car Rental Company in Bangalore Bangalore is a place that lists one of the best as far as infrastructure is considered in India as it is the IT hub of India and thus the roads to drive is atmost pleasure and thus if Bangalore is the destination that you are planning for next then the best way to move around is by hiring a car. To hire is car is very simple if it is in Bangalore because there are some very good car rental compani

Car Rental Companies in Bangalore If you are travelling to Bangalore and hiring a car is what worrying you then you can be relaxed because this is one service that you will easily get in Bangalore and that too at very affordable and economic prices. Basically there are really good car rental companies in Bangalore available for renting the cars and you can either book in advance or go there and hire a car for yourself. Also, you h

Tips to Hire a Car in Bangalore One thing that most of us agree is that the fact that the most comfortable way to move around at any place is by your own vehicle but what if you are going to a new place, it is not possible to carry your vehicle along with you and you actually cannot trust too much on the public transportation system and at such situation the best possible option is to hire a car for yourself, at some places it c

Hire a Car: Comfortable Way to explore Bangalore If you are out to a new place than the first thing that comes into your mind is a comfortable accommodation and then the second one on the priority list is a comfortable way to move around in the city and if Bangalore is your preferred location, than you’ll be having options for both of the facilities, but if we specifically speak about the second one that is moving comfortably than the best opti

Car Rental – A convenient mode of transport in Bangalore Bangalore, a place which probably is considered one of the best places in India as far as infrastructure is considered and reasons are many for that, one is because of the IT hub that it is and also because it is one of very good places if you are considering holidays and because of this very good facility provided for the people visiting Bangalore is that you have many options in case if you are

Rent a Car in Bangalore: Take the Right Decision In today’s world, time is money; the more you save it better it is for you. And in that case if you are going to another place where you are not too familiar with the surroundings, then instead of wasting time on travelling by locating and travelling by public transport is to hire a vehicle for yourself. This helps in many ways, one it saves on time and also it moves at your pace so you don’t have

Bangalore Car Rental: Save Your Time When you are at an unknown place or for that matter known place and time is your major factor of concern then, the best way to save on time is by having your own vehicle for conveyance. This gives you freedom to move at your own pace and wish. And for that matter if you are at a place like Bangalore where the roads are so beautiful that it is a sheer pleasure to travel through your own rented vehi

Best Package Tours to Kerala Kerala – God’s own country which means heaven for those who appreciate the real untouched, naïve beauty of nature and if you are one of those than consider Kerala as the option for you next holiday. Kerala gives an option to explore the nature to the fullest because it has all the places where you can explore the nature be it scenic beaches or the hill stations or the ethnic culture, just everythi

Kerala Tour: A Getaway from Regular Stress If you are tired of daily stress and meetings and looking for a getaway so that you snatch some time for yourself with your loved one’s than Kerala holidays is the perfect is the perfect thing for you. Its calmness and closeness to nature would give you that much needed peace of mind that you always wanted. Also along with enjoying the beauty of this scenic place on your holidays to Kerala you can

Kerala Tour Packages: Have A Look If holidays are on your mind, then Kerala is one option that you cannot choose to neglect. Because Kerala is one place that offers you all from calm and serene natural places to exciting sports to exotic beaches and also beautiful hill stations, everything provided at one place which is also known as god’s own country. And obviously such wide range of activities would make it a tough job to cover

Categories
Acne
Advertising
Advice
Aerobics-Cardio
Affiliate Programs
Alternative
Arts
Attraction
Auctions
Audio-Streaming
Autos
Awards
Babies-Toddler
Beauty
Blogging-RSS
Book-Marketing
Branding
Breast-Cervical-Ovarian-Cancer
Broadband-Internet
Build-Muscle
Business
Cancer
Careers-Employment
Casino-Gambling
CGI
Coaching
Coffee
College-University
Colon-Rectal-Cancer
Communications
Computers
Cooking-Tips
Copywriting
Crafts-Hobbies
Creativity
Credit
Cruising-Sailing
CSS
Currency-Trading
Customer-Service
Dating
Debt-Consolidation
Debt-Relief
DHTML
Diabetes
Direct Mail
Divorce
Domain Names
EBooks
ECommerce
Education
Elder-Care
Email-Marketing
Email Entertainment
Entrepreneurialism
Environment
Exercise
Ezine-Marketing
Ezine-Publishing
Family
Finance
Fishing
Fitness
Food
Free
Games
Gardening
Goal-Setting
Golf
Government
Grief-Loss
Hair-Loss
Happiness
Hardware
Health
Hobbies
Holidays
Home-Security
Homes
Home Business
Home Repair
HTML
Humanities
Humor
Innovation
Inspirational
Interior-Decorating
Internet-Marketing
Javascript
Kids And Teens
Landscaping-Gardening
Law
Leadership
Leases-Leasing
Legal
Leukemia
Link Popularity
Loans
Lung-Cancer
Lymphoma-Cancer
Management
Marketing
Marriage-Wedding
Martial-Arts
Medicine
Meditation
Men's-Issues
Metaphysical
MLM
Mobile-Cell-Phone
Mortgage-Refinance
Motivational
Multimedia
Music
Negotiation
Network-Marketing
Networking
News-and-Society
Newsletters
Nutrition
Off-Line Promotion
Online Business
Online Promotion
Organizing
Other
Outdoors
Page Rank
Parenting
Personal-Tech
Pets
Photography
Podcasting
Poetry
Politics
Positive-Attitude
PPC-Advertising
Presentation
Prostate-Cancer
Psychology
Public-Speaking
Publishing
Real-Estate
Recipes
Recreation
Reference
Relationships
Religion
Sales
Sales-Management
Sales-Teleselling
Sales-Training
Satellite-Radio
Satellite-TV
Scams
Science
Security
Self Help
Self Improvement
Sexuality
SE Optimization SE Positioning
SE Tactics
Shopping
Site-Promotion
Site Security
Skin-Cancer
Small-Business
Social Issues
Society
Software
Spam
Spirituality
Sports
Stocks-Mutual-Funds
Strategic-Planning
Stress-Management
Structured-Settlements
Success
Supplements
Taxes
Team-Building
Technology
Teleseminars
Time-Management
Traffic-Building
Traffic Analysis
Travel
Uterine-Cancer
Vacation-Rentals
Video-Conferencing
Video-Streaming
Viral Marketing
VOIP
Web-Development
Webmasters
Web Design
Web Hosting
Weight Loss
Wine-Spirits
Women
Writing
Yoga

Copyright © media13.Com  2005. All Rights Reserved.

Sources : SEO India - Internet web directory