471,079 Members | 969 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 471,079 software developers and data experts.

an application to detect dead pixels of LCD pixel

Hi all,

I am writing an application to detect the dead pixel of LCD panel by using
visual C++ (MFC). My flow is follow:

1. Display a dialog with a start button. When the user press the start
button. The whole screen become black colour.
2. When the user press any key by keyboard. The whole screen changes to red
then green, blue and white.
3. The screen back to "normal display".

I am a newbie in visual c++, so i don't know how to write the code to
achieve points 2 and 3.

Can anyone know how to write code for this application?

Thank a lot.

Apr 10 '08 #1
8 1300
"Kelvin" <Ke****@discussions.microsoft.comwrote in message
news:31**********************************@microsof t.com...
Hi all,

I am writing an application to detect the dead pixel of LCD panel by using
visual C++ (MFC). My flow is follow:

1. Display a dialog with a start button. When the user press the start
button. The whole screen become black colour.
2. When the user press any key by keyboard. The whole screen changes to
red
then green, blue and white.
3. The screen back to "normal display".

I am a newbie in visual c++, so i don't know how to write the code to
achieve points 2 and 3.
Fill screen with red:

CWnd DesktopWnd;
DesktopWnd.Attach(::GetDesktopWindow());
CWindowDC DesktopDC(&DesktopWnd);
CBrush RedBrush(RGB(0xFF,0x00,0x00));
CRect DesktopRect;
DesktopWnd.GetWindowRect(&DesktopRect);
DesktopDC.FillRect(&DesktopRect, &RedBrush);
DesktopWnd.Detach();

Restore screen to normal display:

::InvalidateRect(NULL, NULL, TRUE);
BTW, there's an MFC newsgroup: microsoft.public.vc.mfc

Mark

--
Mark Salsbery
Microsoft MVP - Visual C++

>
Can anyone know how to write code for this application?

Thank a lot.
Apr 10 '08 #2
Mark Salsbery [MVP] wrote:
"Kelvin" <Ke****@discussions.microsoft.comwrote in message
news:31**********************************@microsof t.com...
>Hi all,

I am writing an application to detect the dead pixel of LCD panel by
using visual C++ (MFC). My flow is follow:

1. Display a dialog with a start button. When the user press the
start button. The whole screen become black colour.
2. When the user press any key by keyboard. The whole screen changes
to red
then green, blue and white.
3. The screen back to "normal display".

I am a newbie in visual c++, so i don't know how to write the code to
achieve points 2 and 3.

Fill screen with red:

CWnd DesktopWnd;
DesktopWnd.Attach(::GetDesktopWindow());
CWindowDC DesktopDC(&DesktopWnd);
CBrush RedBrush(RGB(0xFF,0x00,0x00));
CRect DesktopRect;
DesktopWnd.GetWindowRect(&DesktopRect);
DesktopDC.FillRect(&DesktopRect, &RedBrush);
DesktopWnd.Detach();
Don't try to draw on the desktop window, create your own fullscreen window.
>
Restore screen to normal display:
>>InvalidateRect(NULL, NULL, TRUE);


BTW, there's an MFC newsgroup: microsoft.public.vc.mfc

Mark

>>
Can anyone know how to write code for this application?

Thank a lot.

Apr 10 '08 #3
"Ben Voigt [C++ MVP]" <rb*@nospam.nospamwrote in message
news:Ow**************@TK2MSFTNGP05.phx.gbl...
Mark Salsbery [MVP] wrote:
>"Kelvin" <Ke****@discussions.microsoft.comwrote in message
news:31**********************************@microso ft.com...
>>Hi all,

I am writing an application to detect the dead pixel of LCD panel by
using visual C++ (MFC). My flow is follow:

1. Display a dialog with a start button. When the user press the
start button. The whole screen become black colour.
2. When the user press any key by keyboard. The whole screen changes
to red
then green, blue and white.
3. The screen back to "normal display".

I am a newbie in visual c++, so i don't know how to write the code to
achieve points 2 and 3.

Fill screen with red:

CWnd DesktopWnd;
DesktopWnd.Attach(::GetDesktopWindow());
CWindowDC DesktopDC(&DesktopWnd);
CBrush RedBrush(RGB(0xFF,0x00,0x00));
CRect DesktopRect;
DesktopWnd.GetWindowRect(&DesktopRect);
DesktopDC.FillRect(&DesktopRect, &RedBrush);
DesktopWnd.Detach();

Don't try to draw on the desktop window, create your own fullscreen
window.

Sure, take away all my fun. :)
Cheers,
Mark

--
Mark Salsbery
Microsoft MVP - Visual C++
>
>>
Restore screen to normal display:
>>>InvalidateRect(NULL, NULL, TRUE);


BTW, there's an MFC newsgroup: microsoft.public.vc.mfc

Mark

>>>
Can anyone know how to write code for this application?

Thank a lot.

Apr 10 '08 #4
Hi,

Thanks for your help!

Sorry that I still don't know how to "make" the whole screen to become black
when pressing the start button.

Could you told me how to achieve this?

Thanks a lot.
"Mark Salsbery [MVP]" wrote:
"Ben Voigt [C++ MVP]" <rb*@nospam.nospamwrote in message
news:Ow**************@TK2MSFTNGP05.phx.gbl...
Mark Salsbery [MVP] wrote:
"Kelvin" <Ke****@discussions.microsoft.comwrote in message
news:31**********************************@microsof t.com...
Hi all,

I am writing an application to detect the dead pixel of LCD panel by
using visual C++ (MFC). My flow is follow:

1. Display a dialog with a start button. When the user press the
start button. The whole screen become black colour.
2. When the user press any key by keyboard. The whole screen changes
to red
then green, blue and white.
3. The screen back to "normal display".

I am a newbie in visual c++, so i don't know how to write the code to
achieve points 2 and 3.

Fill screen with red:

CWnd DesktopWnd;
DesktopWnd.Attach(::GetDesktopWindow());
CWindowDC DesktopDC(&DesktopWnd);
CBrush RedBrush(RGB(0xFF,0x00,0x00));
CRect DesktopRect;
DesktopWnd.GetWindowRect(&DesktopRect);
DesktopDC.FillRect(&DesktopRect, &RedBrush);
DesktopWnd.Detach();
Don't try to draw on the desktop window, create your own fullscreen
window.


Sure, take away all my fun. :)
Cheers,
Mark

--
Mark Salsbery
Microsoft MVP - Visual C++
>
Restore screen to normal display:

InvalidateRect(NULL, NULL, TRUE);
BTW, there's an MFC newsgroup: microsoft.public.vc.mfc

Mark

Can anyone know how to write code for this application?

Thank a lot.
Apr 11 '08 #5
My code is follow:

void CTestScreenDlg::OnButtonStart()
{
// TODO: Add your control notification handler code here
CWnd DesktopWnd;
DesktopWnd.Attach(::GetDesktopWindow());
CWindowDC DesktopDC(&DesktopWnd);
CBrush RedBrush(RGB(0xFF,0x00,0x00));
CRect DesktopRect;
DesktopWnd.GetWindowRect(&DesktopRect);
DesktopDC.FillRect(&DesktopRect, &RedBrush);
DesktopWnd.Detach();

}

but i cannot make the whole screen become red......

"Kelvin" wrote:
Hi,

Thanks for your help!

Sorry that I still don't know how to "make" the whole screen to become black
when pressing the start button.

Could you told me how to achieve this?

Thanks a lot.
"Mark Salsbery [MVP]" wrote:
"Ben Voigt [C++ MVP]" <rb*@nospam.nospamwrote in message
news:Ow**************@TK2MSFTNGP05.phx.gbl...
Mark Salsbery [MVP] wrote:
>"Kelvin" <Ke****@discussions.microsoft.comwrote in message
>news:31**********************************@microso ft.com...
>>Hi all,
>>>
>>I am writing an application to detect the dead pixel of LCD panel by
>>using visual C++ (MFC). My flow is follow:
>>>
>>1. Display a dialog with a start button. When the user press the
>>start button. The whole screen become black colour.
>>2. When the user press any key by keyboard. The whole screen changes
>>to red
>>then green, blue and white.
>>3. The screen back to "normal display".
>>>
>>I am a newbie in visual c++, so i don't know how to write the code to
>>achieve points 2 and 3.
>>
>Fill screen with red:
>>
>CWnd DesktopWnd;
>DesktopWnd.Attach(::GetDesktopWindow());
>CWindowDC DesktopDC(&DesktopWnd);
>CBrush RedBrush(RGB(0xFF,0x00,0x00));
>CRect DesktopRect;
>DesktopWnd.GetWindowRect(&DesktopRect);
>DesktopDC.FillRect(&DesktopRect, &RedBrush);
>DesktopWnd.Detach();
>
Don't try to draw on the desktop window, create your own fullscreen
window.

Sure, take away all my fun. :)
Cheers,
Mark

--
Mark Salsbery
Microsoft MVP - Visual C++
>
>>
>Restore screen to normal display:
>>
>>>InvalidateRect(NULL, NULL, TRUE);
>>
>>
>BTW, there's an MFC newsgroup: microsoft.public.vc.mfc
>>
>Mark
>>
>>
>>>
>>Can anyone know how to write code for this application?
>>>
>>Thank a lot.
>
>
Apr 11 '08 #6
That code worked for me, but as Ben mentioned, you should create a window,
make it the size of the screen, and do the drawing on that window.

The system refreshes the desktop when you draw on it, at least it did to me
on Vista :)

Mark

--
Mark Salsbery
Microsoft MVP - Visual C++
"Kelvin" <Ke****@discussions.microsoft.comwrote in message
news:CF**********************************@microsof t.com...
My code is follow:

void CTestScreenDlg::OnButtonStart()
{
// TODO: Add your control notification handler code here
CWnd DesktopWnd;
DesktopWnd.Attach(::GetDesktopWindow());
CWindowDC DesktopDC(&DesktopWnd);
CBrush RedBrush(RGB(0xFF,0x00,0x00));
CRect DesktopRect;
DesktopWnd.GetWindowRect(&DesktopRect);
DesktopDC.FillRect(&DesktopRect, &RedBrush);
DesktopWnd.Detach();

}

but i cannot make the whole screen become red......

"Kelvin" wrote:
>Hi,

Thanks for your help!

Sorry that I still don't know how to "make" the whole screen to become
black
when pressing the start button.

Could you told me how to achieve this?

Thanks a lot.
"Mark Salsbery [MVP]" wrote:
"Ben Voigt [C++ MVP]" <rb*@nospam.nospamwrote in message
news:Ow**************@TK2MSFTNGP05.phx.gbl...
Mark Salsbery [MVP] wrote:
"Kelvin" <Ke****@discussions.microsoft.comwrote in message
news:31**********************************@microso ft.com...
Hi all,

I am writing an application to detect the dead pixel of LCD panel
by
using visual C++ (MFC). My flow is follow:

1. Display a dialog with a start button. When the user press the
start button. The whole screen become black colour.
2. When the user press any key by keyboard. The whole screen
changes
to red
then green, blue and white.
3. The screen back to "normal display".

I am a newbie in visual c++, so i don't know how to write the code
to
achieve points 2 and 3.

Fill screen with red:

CWnd DesktopWnd;
DesktopWnd.Attach(::GetDesktopWindow());
CWindowDC DesktopDC(&DesktopWnd);
CBrush RedBrush(RGB(0xFF,0x00,0x00));
CRect DesktopRect;
DesktopWnd.GetWindowRect(&DesktopRect);
DesktopDC.FillRect(&DesktopRect, &RedBrush);
DesktopWnd.Detach();

Don't try to draw on the desktop window, create your own fullscreen
window.
Sure, take away all my fun. :)
Cheers,
Mark

--
Mark Salsbery
Microsoft MVP - Visual C++

Restore screen to normal display:

InvalidateRect(NULL, NULL, TRUE);
BTW, there's an MFC newsgroup: microsoft.public.vc.mfc

Mark

Can anyone know how to write code for this application?

Thank a lot.

Apr 11 '08 #7
Hi Marks,

Thanks a lot. I can use the code to display red color on the entire screen.

But, how to create a window, make the size of the screen and retrieves the
device context (DC) for that window?

Thanks,
Tim
"Mark Salsbery [MVP]" wrote:
That code worked for me, but as Ben mentioned, you should create a window,
make it the size of the screen, and do the drawing on that window.

The system refreshes the desktop when you draw on it, at least it did to me
on Vista :)

Mark

--
Mark Salsbery
Microsoft MVP - Visual C++
"Kelvin" <Ke****@discussions.microsoft.comwrote in message
news:CF**********************************@microsof t.com...
My code is follow:

void CTestScreenDlg::OnButtonStart()
{
// TODO: Add your control notification handler code here
CWnd DesktopWnd;
DesktopWnd.Attach(::GetDesktopWindow());
CWindowDC DesktopDC(&DesktopWnd);
CBrush RedBrush(RGB(0xFF,0x00,0x00));
CRect DesktopRect;
DesktopWnd.GetWindowRect(&DesktopRect);
DesktopDC.FillRect(&DesktopRect, &RedBrush);
DesktopWnd.Detach();

}

but i cannot make the whole screen become red......

"Kelvin" wrote:
Hi,

Thanks for your help!

Sorry that I still don't know how to "make" the whole screen to become
black
when pressing the start button.

Could you told me how to achieve this?

Thanks a lot.
"Mark Salsbery [MVP]" wrote:

"Ben Voigt [C++ MVP]" <rb*@nospam.nospamwrote in message
news:Ow**************@TK2MSFTNGP05.phx.gbl...
Mark Salsbery [MVP] wrote:
>"Kelvin" <Ke****@discussions.microsoft.comwrote in message
>news:31**********************************@microso ft.com...
>>Hi all,
>>>
>>I am writing an application to detect the dead pixel of LCD panel
>>by
>>using visual C++ (MFC). My flow is follow:
>>>
>>1. Display a dialog with a start button. When the user press the
>>start button. The whole screen become black colour.
>>2. When the user press any key by keyboard. The whole screen
>>changes
>>to red
>>then green, blue and white.
>>3. The screen back to "normal display".
>>>
>>I am a newbie in visual c++, so i don't know how to write the code
>>to
>>achieve points 2 and 3.
>>
>Fill screen with red:
>>
>CWnd DesktopWnd;
>DesktopWnd.Attach(::GetDesktopWindow());
>CWindowDC DesktopDC(&DesktopWnd);
>CBrush RedBrush(RGB(0xFF,0x00,0x00));
>CRect DesktopRect;
>DesktopWnd.GetWindowRect(&DesktopRect);
>DesktopDC.FillRect(&DesktopRect, &RedBrush);
>DesktopWnd.Detach();
>
Don't try to draw on the desktop window, create your own fullscreen
window.
Sure, take away all my fun. :)
Cheers,
Mark

--
Mark Salsbery
Microsoft MVP - Visual C++

>
>>
>Restore screen to normal display:
>>
>>>InvalidateRect(NULL, NULL, TRUE);
>>
>>
>BTW, there's an MFC newsgroup: microsoft.public.vc.mfc
>>
>Mark
>>
>>
>>>
>>Can anyone know how to write code for this application?
>>>
>>Thank a lot.
>
>
Jun 27 '08 #8
"Kelvin" <Ke****@discussions.microsoft.comwrote in message
news:82**********************************@microsof t.com...
Hi Marks,

Thanks a lot. I can use the code to display red color on the entire
screen.

But, how to create a window, make the size of the screen and retrieves the
device context (DC) for that window?


Hi Tim,

Sorry for the delayed reply. I was out of town all last week.

If you still need an example of creating a full screen colored window,
here's some code...

//-----------------------------------------------------
// FullScreenColorWnd.h
//-----------------------------------------------------

#pragma once
#include "afxwin.h"
// CFullScreenColorWnd

class CFullScreenColorWnd : public CFrameWnd
{
DECLARE_DYNAMIC(CFullScreenColorWnd)

public:
CFullScreenColorWnd();
virtual ~CFullScreenColorWnd();

protected:
DECLARE_MESSAGE_MAP()
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
public:
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);

CBrush m_BkgndBrush;
};

//-----------------------------------------------------
// FullScreenColorWnd.cpp
//-----------------------------------------------------

#include "stdafx.h"
#include "FullScreenColorWnd.h"
// CFullScreenColorWnd

IMPLEMENT_DYNAMIC(CFullScreenColorWnd, CFrameWnd)

CFullScreenColorWnd::CFullScreenColorWnd()
{
m_BkgndBrush.CreateSolidBrush(RGB(0xFF,0x00,0x00)) ;
}

CFullScreenColorWnd::~CFullScreenColorWnd()
{
}
BEGIN_MESSAGE_MAP(CFullScreenColorWnd, CFrameWnd)
ON_WM_ERASEBKGND()
ON_WM_LBUTTONDOWN()
ON_WM_CREATE()
END_MESSAGE_MAP()

// CFullScreenColorWnd message handlers

BOOL CFullScreenColorWnd::PreCreateWindow(CREATESTRUCT& cs)
{
BOOL ret = CFrameWnd::PreCreateWindow(cs);

cs.style = WS_VISIBLE | WS_POPUP;
cs.dwExStyle = 0;

return ret;
}

int CFullScreenColorWnd::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;

HDC ScreenDC = ::GetDC(NULL);
MoveWindow(0, 0, ::GetDeviceCaps(ScreenDC, HORZRES),
::GetDeviceCaps(ScreenDC, VERTRES));
::ReleaseDC(NULL, ScreenDC);

return 0;
}

BOOL CFullScreenColorWnd::OnEraseBkgnd(CDC* pDC)
{
CRect CliRect;
GetClientRect(&CliRect);
pDC->FillRect(&CliRect, &m_BkgndBrush);

return TRUE;
}

void CFullScreenColorWnd::OnLButtonDown(UINT nFlags, CPoint point)
{
DestroyWindow();
}

//-----------------------------------------------------
// Example creating the window - click on the window to destroy it
//-----------------------------------------------------

CFullScreenColorWnd *pFullScreenColorWnd = new CFullScreenColorWnd();
pFullScreenColorWnd->Create(NULL, _T(""));


Mark

--
Mark Salsbery
Microsoft MVP - Visual C++

Thanks,
Tim


Jun 27 '08 #9

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

2 posts views Thread by The Plankmeister | last post: by
157 posts views Thread by Dennis | last post: by
1 post views Thread by cefrancke | last post: by
6 posts views Thread by Craig Parsons | last post: by
3 posts views Thread by Vrijbuiter | last post: by
6 posts views Thread by sanjay | last post: by
reply views Thread by leo001 | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.