Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Tab Sheet

Posted on 1999-07-29
9
Medium Priority
?
265 Views
Last Modified: 2010-04-04
My problem is how I can add a new tab sheet to Screen Property (with Background, Screen Saver, Web and other tabs)?
I want made a program that stay there so i can call it when i do a right click on desktop and choose Screen Propetry menu.

What is the RIGHT and WORKING code?

I'll give 100 pt at who can solve it.

Remember: only you can save my Project, please help me!

P.S. Sorry for my English, I hope U understand! :))

SerJ
0
Comment
Question by:PSerJ
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
  • 2
  • +1
9 Comments
 
LVL 13

Expert Comment

by:Epsylon
ID: 1391933
I know how to add a page to a propertysheet of for example an exe file but I never tried to add on to control panel items.
0
 
LVL 13

Expert Comment

by:Epsylon
ID: 1391934
on = one
0
 

Author Comment

by:PSerJ
ID: 1391935
I see that Voodoo2, Matrox and some other driver can do this. Maybe you need to use a particular Interface?
0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
LVL 1

Expert Comment

by:rpo
ID: 1391936
I think You have to set a system hook ( SetWindowsHookEx with WH_SHELL parameter ) and monitor the appearence of specific window (Screen Property Sheet in your case). When the window appears, inject your page(s) into window's tabcontrol using Win32 API ( remember that original property sheet was not created with Delphi :( ).
Delete your page when the Property Sheet is being destroyed.

It's not easy, it's difficult to debug under Delphi, but it should work.
0
 
LVL 13

Expert Comment

by:Epsylon
ID: 1391937
Roman, that could work but it's definitly not the proper way.
0
 
LVL 1

Expert Comment

by:rpo
ID: 1391938
Yes, the proper way to make property sheets is using IShellPropExt interface, but how to hook into existing property sheet or how to display (using API) system property sheets (like Display Properties)?
0
 
LVL 1

Expert Comment

by:rpo
ID: 1391939
A little mistake, the interface name is IShellPropSheetExt and it definitely should be used to add pages to system property sheets.
The information about what exactly should be done can be found in cplext.h and regstr.h files shipped with Visual C++.

There is also some piece of information in IShellPropSheetExt::ReplacePage description in Win32 API help file which is shipped with Delphi 4.
0
 

Author Comment

by:PSerJ
ID: 1391940
Increase points to 200!!!
0
 
LVL 12

Accepted Solution

by:
rwilson032697 earned 400 total points
ID: 2038245
I think this should do it:

http://www.ee.ed.ac.uk/~wfy/delphi/PropertySheet.zip // D3 version

http://www.ee.ed.ac.uk/~wfy/delphi/D2PropertySheet.zip // D2 version

Cheers,

Raymond.
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article explains how to create forms/units independent of other forms/units object names in a delphi project. Have you ever created a form for user input in a Delphi project and then had the need to have that same form in a other Delphi proj…
Objective: - This article will help user in how to convert their numeric value become words. How to use 1. You can copy this code in your Unit as function 2. than you can perform your function by type this code The Code   (CODE) The Im…
In this video, Percona Solution Engineer Dimitri Vanoverbeke discusses why you want to use at least three nodes in a database cluster. To discuss how Percona Consulting can help with your design and architecture needs for your database and infras…
In this video, Percona Solutions Engineer Barrett Chambers discusses some of the basic syntax differences between MySQL and MongoDB. To learn more check out our webinar on MongoDB administration for MySQL DBA: https://www.percona.com/resources/we…
Suggested Courses

671 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question