www.digitalmars.com         C & C++   DMDScript  

c++.windows.32-bits - Strange transparent pixel line if compiled with DMC

reply "Luna Kid" <lunakid neuropolis.org> writes:
Just noticed a weird phenomenon...

I have a dumb testbed framework lib, which I used to
compile with LCC. It creates an application window with
a dummy menu.

If compiling the same thing with DMC, though, there
appears a one-pixel gap, a "kind of" transparent line
just below the menu bar, above the client area.
The otherwise white window has some garbage from the
overlapped screen area there, whenever the window is
painted (so minimizing & maximizing will not clear
that line!

See the attached shot (sorry about posting that 30K).

A strange off-by-one problem? Anyone seen this?
Or any idea?

Thanks,
Sz.
May 14 2003
parent reply "Walter" <walter digitalmars.com> writes:
The only way you're going to find this is to instrument the code to print
out the appropriate values, and compare the results side-by-side with LCC
till you find out where they diverge.

"Luna Kid" <lunakid neuropolis.org> wrote in message
news:b9tu91$1qup$1 digitaldaemon.com...
 Just noticed a weird phenomenon...

 I have a dumb testbed framework lib, which I used to
 compile with LCC. It creates an application window with
 a dummy menu.

 If compiling the same thing with DMC, though, there
 appears a one-pixel gap, a "kind of" transparent line
 just below the menu bar, above the client area.
 The otherwise white window has some garbage from the
 overlapped screen area there, whenever the window is
 painted (so minimizing & maximizing will not clear
 that line!

 See the attached shot (sorry about posting that 30K).

 A strange off-by-one problem? Anyone seen this?
 Or any idea?

 Thanks,
 Sz.

May 14 2003
parent reply "Rajiv Bhagwat" <dataflow vsnl.com> writes:
I have faced this same problem. The program, when run on 98SE does not show
the line, but it surfaces up when the same exe is run on XP. So, I concluded
this to be a problem with XP. Incidentally, this is a simple app (non-MFC),
if that has any connection with the problem... (MFC somehow corrects this?
As no-one else has experienced it..)
- Rajiv

"Walter" <walter digitalmars.com> wrote in message
news:b9u9o4$27oi$1 digitaldaemon.com...
 The only way you're going to find this is to instrument the code to print
 out the appropriate values, and compare the results side-by-side with LCC
 till you find out where they diverge.

 "Luna Kid" <lunakid neuropolis.org> wrote in message
 news:b9tu91$1qup$1 digitaldaemon.com...
 Just noticed a weird phenomenon...

 I have a dumb testbed framework lib, which I used to
 compile with LCC. It creates an application window with
 a dummy menu.

 If compiling the same thing with DMC, though, there
 appears a one-pixel gap, a "kind of" transparent line
 just below the menu bar, above the client area.
 The otherwise white window has some garbage from the
 overlapped screen area there, whenever the window is
 painted (so minimizing & maximizing will not clear
 that line!

 See the attached shot (sorry about posting that 30K).

 A strange off-by-one problem? Anyone seen this?
 Or any idea?

 Thanks,
 Sz.


May 15 2003
parent reply chris elliott <biol75 york.ac.uk> writes:
I have seen this on XP with several compilers using thw wxWindows 
toolkit. It seems to be an XP feature

chris

Rajiv Bhagwat wrote:
 I have faced this same problem. The program, when run on 98SE does not show
 the line, but it surfaces up when the same exe is run on XP. So, I concluded
 this to be a problem with XP. Incidentally, this is a simple app (non-MFC),
 if that has any connection with the problem... (MFC somehow corrects this?
 As no-one else has experienced it..)
 - Rajiv
 
 "Walter" <walter digitalmars.com> wrote in message
 news:b9u9o4$27oi$1 digitaldaemon.com...
 
The only way you're going to find this is to instrument the code to print
out the appropriate values, and compare the results side-by-side with LCC
till you find out where they diverge.

"Luna Kid" <lunakid neuropolis.org> wrote in message
news:b9tu91$1qup$1 digitaldaemon.com...

Just noticed a weird phenomenon...

I have a dumb testbed framework lib, which I used to
compile with LCC. It creates an application window with
a dummy menu.

If compiling the same thing with DMC, though, there
appears a one-pixel gap, a "kind of" transparent line
just below the menu bar, above the client area.
The otherwise white window has some garbage from the
overlapped screen area there, whenever the window is
painted (so minimizing & maximizing will not clear
that line!

See the attached shot (sorry about posting that 30K).

A strange off-by-one problem? Anyone seen this?
Or any idea?

Thanks,
Sz.



May 15 2003
parent reply "Phill" <phillbert pacific.net.au> writes:
Yep I have this problem on WinXP with MFC.

Phill.

"chris elliott" <biol75 york.ac.uk> wrote in message
news:b9vm0n$hrb$1 digitaldaemon.com...
 I have seen this on XP with several compilers using thw wxWindows
 toolkit. It seems to be an XP feature

 chris

 Rajiv Bhagwat wrote:
 I have faced this same problem. The program, when run on 98SE does not


 the line, but it surfaces up when the same exe is run on XP. So, I


 this to be a problem with XP. Incidentally, this is a simple app


 if that has any connection with the problem... (MFC somehow corrects


 As no-one else has experienced it..)
 - Rajiv

 "Walter" <walter digitalmars.com> wrote in message
 news:b9u9o4$27oi$1 digitaldaemon.com...

The only way you're going to find this is to instrument the code to



out the appropriate values, and compare the results side-by-side with



till you find out where they diverge.

"Luna Kid" <lunakid neuropolis.org> wrote in message
news:b9tu91$1qup$1 digitaldaemon.com...

Just noticed a weird phenomenon...

I have a dumb testbed framework lib, which I used to
compile with LCC. It creates an application window with
a dummy menu.

If compiling the same thing with DMC, though, there
appears a one-pixel gap, a "kind of" transparent line
just below the menu bar, above the client area.
The otherwise white window has some garbage from the
overlapped screen area there, whenever the window is
painted (so minimizing & maximizing will not clear
that line!

See the attached shot (sorry about posting that 30K).

A strange off-by-one problem? Anyone seen this?
Or any idea?

Thanks,
Sz.




May 17 2003
parent Richard Grant <fractal clark.net> writes:
In article <ba72mi$22fh$1 digitaldaemon.com>, Phill says...
Yep I have this problem on WinXP with MFC.

Yes, the window on startup appears to be capturing whatever was behind the window as part of the 2(3?) pixel area between the menu bottom and the top of the toolbar/client window. This seems to happen in a somewhat random fashion. Usually the first time the window is loaded, the line is not there, and the second time it appears. I think the line appears because the window size of the menu frame window is smaller than the system wide minimum displayed window size (27 pixels?). I think the line appears on XP and not 98SE because the system wide minimum displayed window size is smaller on 98SE than XP. I think it appears the second time because XP is reusing the context, but the actual rect is too small, and whatever garbage is in the bottom of the cached context rect gets included as the actual rect. This does not explain all the behavior, but some of it. In any case, I have not been able to figure out how to increase the size of the menu window frame to test the theory. If someone knows how to do that.. Richard
May 22 2003