C++ School Assignment? Project Due Tomorrow? Chat LIVE With A Programming Expert!

Welcome to Dream.In.Code
Become a C++ Expert!

Join 300,499 C++ Programmers for FREE! Get instant access to thousands of C++ experts, tutorials, code snippets, and more! There are 1,869 people online right now. Registration is fast and FREE... Join Now!




MFC Dialog change background colour

 

MFC Dialog change background colour

deery5000

3 Jul, 2009 - 01:15 PM
Post #1

D.I.C Regular
***

Joined: 9 May, 2009
Posts: 353



Thanked: 20 times
My Contributions
Hey guys im been trying this all day now and just cant seem to get this right! I have looked at loads of tutorials

ok my code


CODE


// InterfaceDlg.h : header file
//

#pragma once


// CInterfaceDlg dialog
class CInterfaceDlg : public CDialog
{
// Construction
public:
    CInterfaceDlg(CWnd* pParent = NULL);    // standard constructor

// Dialog Data
    enum { IDD = IDD_INTERFACE_DIALOG };

    protected:
    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support


// Implementation
protected:
    HICON m_hIcon;
    
    CBrush m_brush; // creating brush
    HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);

    // Generated message map functions
    virtual BOOL OnInitDialog();
    afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
    afx_msg void OnPaint();
    afx_msg HCURSOR OnQueryDragIcon();
    DECLARE_MESSAGE_MAP()
public:
    afx_msg void OnBnClickedButton2();
    afx_msg void OnBnClickedButton1();
};





CODE


// InterfaceDlg.cpp : implementation file
//

#include "stdafx.h"
#include "Interface.h"
#include "InterfaceDlg.h"
#include "LoginClass.h"
#include "pictureBox.h"
#include "AddMovie.h"



#ifdef _DEBUG
#define new DEBUG_NEW
#endif


// CAboutDlg dialog used for App About

class CAboutDlg : public CDialog
{
public:
    CAboutDlg();

// Dialog Data
    enum { IDD = IDD_ABOUTBOX };

    protected:
    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support

// Implementation
protected:
    DECLARE_MESSAGE_MAP()
    
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
    CDialog::DoDataExchange(pDX);
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
END_MESSAGE_MAP()


// CInterfaceDlg dialog




CInterfaceDlg::CInterfaceDlg(CWnd* pParent /*=NULL*/)
    : CDialog(CInterfaceDlg::IDD, pParent)
{
    m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CInterfaceDlg::DoDataExchange(CDataExchange* pDX)
{
    CDialog::DoDataExchange(pDX);
}

BEGIN_MESSAGE_MAP(CInterfaceDlg, CDialog)
    ON_WM_SYSCOMMAND()
    ON_WM_PAINT()
    ON_WM_QUERYDRAGICON()
    //}}AFX_MSG_MAP
    ON_BN_CLICKED(IDC_BUTTON2, &CInterfaceDlg::OnBnClickedButton2)
    ON_BN_CLICKED(IDC_BUTTON1, &CInterfaceDlg::OnBnClickedButton1)
END_MESSAGE_MAP()


// CInterfaceDlg message handlers

BOOL CInterfaceDlg::OnInitDialog()
{
    CDialog::OnInitDialog();
    
    //BRUSH // AM I PUTTING THIS IN THE CORRECT PLACEa
     m_brush.CreateSolidBrush(RGB(255, 255, 255)); // color white brush

     // Add "About..." menu item to system menu.

    // IDM_ABOUTBOX must be in the system command range.
    ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
    ASSERT(IDM_ABOUTBOX < 0xF000);

    CMenu* pSysMenu = GetSystemMenu(FALSE);
    if (pSysMenu != NULL)
    {
        CString strAboutMenu;
        strAboutMenu.LoadString(IDS_ABOUTBOX);
        if (!strAboutMenu.IsEmpty())
        {
            pSysMenu->AppendMenu(MF_SEPARATOR);
            pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
        }
    }

    // Set the icon for this dialog.  The framework does this automatically
    //  when the application's main window is not a dialog
    SetIcon(m_hIcon, TRUE);            // Set big icon
    SetIcon(m_hIcon, FALSE);        // Set small icon



    // TODO: Add extra initialization here

    return TRUE;  // return TRUE  unless you set the focus to a control


}

void CInterfaceDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
    if ((nID & 0xFFF0) == IDM_ABOUTBOX)
    {
        CAboutDlg dlgAbout;
        dlgAbout.DoModal();
    }
    else
    {
        CDialog::OnSysCommand(nID, lParam);
    }
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CInterfaceDlg::OnPaint()
{
    if (IsIconic())
    {
        CPaintDC dc(this); // device context for painting

        SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);

        // Center icon in client rectangle
        int cxIcon = GetSystemMetrics(SM_CXICON);
        int cyIcon = GetSystemMetrics(SM_CYICON);
        CRect rect;
        GetClientRect(&rect);
        int x = (rect.Width() - cxIcon + 1) / 2;
        int y = (rect.Height() - cyIcon + 1) / 2;

        // Draw the icon
        dc.DrawIcon(x, y, m_hIcon);
    }
    else
    {
        CDialog::OnPaint();
    
        
        
    }

    
}

// The system calls this function to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CInterfaceDlg::OnQueryDragIcon()
{
    return static_cast<HCURSOR>(m_hIcon);
}


void CInterfaceDlg::OnBnClickedButton2()
{
    exit(1);
}

void CInterfaceDlg::OnBnClickedButton1()
{
    ShowWindow(SW_HIDE);

    LoginClass loginWnd;
    loginWnd.DoModal();

}

HBRUSH CInterfaceDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)    
{
    
    return m_brush;
}



InterfaceDlg was one of the main files when i create the project along with "about"

The code above compiles with no errors or warning but the colour does not change at all.

I dont think ive the code in the correct place so could some quide me threw the process, im still very raw at MFC

Thanks in advance
Kevin

This post has been edited by deery5000: 3 Jul, 2009 - 01:18 PM

User is offlineProfile CardPM
+Quote Post


deery5000

RE: MFC Dialog Change Background Colour

6 Jul, 2009 - 02:17 PM
Post #2

D.I.C Regular
***

Joined: 9 May, 2009
Posts: 353



Thanked: 20 times
My Contributions
never mind i fixed it myself

Kevin

used this link
http://msdn.microsoft.com/en-us/library/6skhh669(VS.80).aspx
User is offlineProfile CardPM
+Quote Post

ImaSexy

RE: MFC Dialog Change Background Colour

6 Jul, 2009 - 02:43 PM
Post #3

D.I.C Addict
Group Icon

Joined: 9 Jun, 2009
Posts: 784



Thanked: 53 times
Dream Kudos: 75
My Contributions
if your going to waste an entire thread, you should post how you solved your problem for reference
User is offlineProfile CardPM
+Quote Post

deery5000

RE: MFC Dialog Change Background Colour

7 Jul, 2009 - 02:35 AM
Post #4

D.I.C Regular
***

Joined: 9 May, 2009
Posts: 353



Thanked: 20 times
My Contributions
well if you took the time to look at the link, it couldnt be explaind any better that what msdn have done.

kevin
User is offlineProfile CardPM
+Quote Post

Reply to this topicStart new topic

Time is now: 11/8/09 04:59AM

Live C++ Help!

Be Social

Dream.In.Code RSS Feed Dream.In.Code LinkedIn Group Follow Us On Twitter Fan Us On Facebook

C++ Tutorials

Reference Sheets

C++ Snippets

DIC Chatroom

Bye Bye Ads

Monthly Drawing

Thumb Drive

Top Contributors

Top 10 Kudos This Month