Solved

Using AlphaBlend

Posted on 2002-07-22
6
603 Views
Last Modified: 2013-11-20
Hi,
I want to make my modeless dialog semi transparent, This dialog contains buttons and not bitmaps. Is there a way out to make it semitransparent. I know i need to use alphablend function, but can u help me out in using this function for the whole dialog which does not contain bitmap. I also can not use SetLayeredWindowAttributes function because i have windows 98.

does anyone has any ideas

prakash
0
Comment
Question by:prakashsl
[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
6 Comments
 
LVL 8

Accepted Solution

by:
fl0yd earned 100 total points
ID: 7171534
This is not possible in windows prior to nt5.0
0
 
LVL 1

Author Comment

by:prakashsl
ID: 7171562
Hi,

can you suggest me an idea of actually implementing setlayeredwindowattributes function itself. i know its got to do something with mixing of the desktop pixel and my modelless dialog pixel.
would be happy if i could get to know how are layered window functions implemented.

prakash
0
 
LVL 8

Expert Comment

by:fl0yd
ID: 7171660
You cannot.
0
 
LVL 8

Expert Comment

by:fl0yd
ID: 7171683
A bit of explanation: Once your dialog is displayed the windows below it will clip any drawing that may occur within the dialog window rectangle since it is obscuring that part. Since windows prior to nt5 did not plan on having translucent windows the GDI doesn't have facilities to handle those. That means, when a window handles a WM_PAINT message the area obscured by any other windows is clipped and those pixels are discarded before anyone can lay hands on them. In short, they are lost.

If you try really hard you can hack the system. If you know what you are doing, you could even get it to work. But you will have to be prepared for dealing with totally undocument function calls. You can hope to have the function names if you install the debug symbols but that is about as much help as you can expect. The rest you will have to find out for yourself. I have never put this under any of my pervious posts. This time, however, I will: GOOD LUCK.
0

Featured Post

Percona Live Europe 2017 | Sep 25 - 27, 2017

The Percona Live Open Source Database Conference Europe 2017 is the premier event for the diverse and active European open source database community, as well as businesses that develop and use open source database software.

Question has a verified solution.

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

Introduction: Dialogs (2) modeless dialog and a worker thread.  Handling data shared between threads.  Recursive functions. Continuing from the tenth article about sudoku.   Last article we worked with a modal dialog to help maintain informat…
Exception Handling is in the core of any application that is able to dignify its name. In this article, I'll guide you through the process of writing a DRY (Don't Repeat Yourself) Exception Handling mechanism, using Aspect Oriented Programming.
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.
There are cases when e.g. an IT administrator wants to have full access and view into selected mailboxes on Exchange server, directly from his own email account in Outlook or Outlook Web Access. This proves useful when for example administrator want…

617 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