Solved

Change the colour of the whole wnidow.

Posted on 2004-08-19
11
206 Views
Last Modified: 2010-04-05
Hi all

I want to change the colour of the whole screen red.  Basically, I want to be able to use my laptop for Astronomy, and need to get the screen so that it only ever outputs in red, regardless of what program I've got loaded.

I need to hook into the screen output, and change the screen into black and red (similar to black and white).

How can I do this?

Regards
0
Comment
Question by:Colin_Dawson
[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
  • 4
  • 2
  • 2
  • +3
11 Comments
 
LVL 1

Expert Comment

by:dragontron3k
ID: 11839913
so basically you want a two-bit color depth, but wit black and red instead of black and white?
0
 
LVL 4

Author Comment

by:Colin_Dawson
ID: 11840291
What I want an effect that's the same as placing a piece of red plastic over a black and white TV Screen.
0
 
LVL 17

Expert Comment

by:Wim ten Brink
ID: 11840424
Windows won't allow you to do this, sorry.
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 13

Expert Comment

by:BlackTigerX
ID: 11841153
just go to the control panel and change all the colors to red... =o)
0
 
LVL 1

Expert Comment

by:dragontron3k
ID: 11841856
I think the best thing to do is to search for a program that cand get your display settings down to monochrome (unless you're using an older windows, in which case you can use the display properties) then get a program (if your monitor doesn't support it in it's options menu) to adjust your gamma settings so that you only get red. Of course, I have no idea how to do this programatically, so I can't show you.
0
 
LVL 2

Expert Comment

by:Molando
ID: 11843127
You will probably need to place a thin sheet of clear red plastic/film over the screen.
you could see if your graphics card supports colour management, then drop the green and blue values out of the equation. Also some monitors let you set the amount of red/green/blue on the screen. There is no way that I know of to do this with code.
0
 
LVL 4

Author Comment

by:Colin_Dawson
ID: 11843885
It is possible to do this with somesuccess.  I've seen it done with RedShift 5.
0
 
LVL 3

Accepted Solution

by:
Tyrsis earned 500 total points
ID: 11844202
The closest I could come to this was to set a Form red, make it a bsNone style window, and a top most window.  Then set it's Alpha Blending (windows 2000 minimum) property to true and set AlphaBlendValue to 200, then do a SetWindowLong(Handle, GWL_EXSTYLE, AStyle or WS_EX_TRANSPARENT);  This makes your windows look like you have a piece of red plastic over your screen.
0
 
LVL 4

Author Comment

by:Colin_Dawson
ID: 11844593
Tyrsis,

That's cool.   I've got the transparency implemented and am making real progress with this.   This is almost there.
The transparent window won't stay over the Start menu.   I think this is the last issue that needs to be sorted.

Regards

Colin.
0
 
LVL 3

Expert Comment

by:Tyrsis
ID: 11845076
Unfortunately you can't push ahead of popup menus and the start menu in the Z order once they want to push past your window.  At least I wasn't able to easily find a way to change the Z order of the window to get ahead of these items.  Perhaps you could play around with Window positions and see if it's possible?

The only other hunch I would try to do everything you wanted, is trying to get a bitmap of the entire screen (you can do this with CreateDC("display"...)), then blitting that to a canvas of a form that has the WS_EX_TRANSPARENT flag set, then shifting that to monochrome using a monochrome function (There are many out there).  Then placing the red translucent form on top of that or just having an Alpha Blending function that you use after you shifted the first form to monochrome.  And then just use a timer to constantly do this over and over as updates occur.  This may be extremely slow, but it may work.  Unfortunately I don't have a lot of time to try it all out, but hopefully it's something you can look into.

Good luck!

Tyrsis  
0
 
LVL 4

Author Comment

by:Colin_Dawson
ID: 11920932
As usual, the questions that I ask here are beyond what other people are able to do/or are willing to share (is there a difference?)

Tyrsis has helped a little with this, but there's not been any solution that I'm happy with.  I'd be extremely surprised if it's not possible to turn the screen into a black and white (err I mean red) using some kind of program.
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

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

Suggested Solutions

A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
Have you ever had your Delphi form/application just hanging while waiting for data to load? This is the article to read if you want to learn some things about adding threads for data loading in the background. First, I'll setup a general applica…
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…
This video shows how to use Hyena, from SystemTools Software, to update 100 user accounts from an external text file. View in 1080p for best video quality.

759 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