8 个解决方案
#1
我想你一定是在CPropertyPage里的对话框上设置背景图的,那样当然覆盖不到CPropertyPage控件了.
你需要在CPropertyPage对象里设置了, 你可以重载CPropertyPage类,也可以通过截获CPropertyPage对象的消息来处理.
你需要在CPropertyPage对象里设置了, 你可以重载CPropertyPage类,也可以通过截获CPropertyPage对象的消息来处理.
#2
我就是在CPropertyPage对象里设置的,设置完后,显示出来位图不能靠近左边和上边,有框框,风格也设了this->m_psp.dwFlags|= PSH_NOAPPLYNOW;
不知道什么原因?期待解决!
#3
可能刚才没有描述清楚,通俗说如下:
我在属性页加入一张图片,不过显示的时候图片跟属性页边框有一段距离,如何叫图片跟属性页边框紧贴着
有高手知道吗?
我在属性页加入一张图片,不过显示的时候图片跟属性页边框有一段距离,如何叫图片跟属性页边框紧贴着
有高手知道吗?
#4
把你的代码贴出来!
#5
// Page.cpp : implementation file
//
#include "stdafx.h"
#include "test.h"
#include "Page.h"
#include "Sheet.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CPage property page
IMPLEMENT_DYNCREATE(CPage, CPropertyPage)
CPage::CPage() : CPropertyPage(CPage::IDD)
{
//{{AFX_DATA_INIT(CPage)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
CPage::~CPage()
{
}
void CPage::DoDataExchange(CDataExchange* pDX)
{
CPropertyPage::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CPage)
DDX_Control(pDX, IDC_BUTTON1, m_btnTest);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CPage, CPropertyPage)
//{{AFX_MSG_MAP(CPage)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CPage message handlers
void CPage::OnSysCommand(UINT nID, LPARAM lParam)
{
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
{
// CAboutDlg dlgAbout;
// dlgAbout.DoModal();
}
else
{
CDialog::OnSysCommand(nID, lParam);
}
}
BOOL CPage::OnSetActive()
{
// TODO: Add your specialized code here and/or call the base class
CSheet* p=(CSheet*)GetParent();
p->SetWizardButtons(PSWIZB_NEXT);
return CPropertyPage::OnSetActive();
}
BOOL CPage::OnInitDialog()
{
CPropertyPage::OnInitDialog();
// TODO: Add extra initialization here
CRect rect;
AfxGetApp()->GetMainWnd()->ModifyStyle(WS_CAPTION|WS_THICKFRAME|WS_POPUP,0,SWP_NOMOVE);
GetClientRect(&rect);
MoveWindow(0,0,20,20);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
BOOL CPage::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Add your specialized code here and/or call the base class
//
// SetWindowLong(this->m_hWnd,// HWND hWnd, // handle of window
// GWL_STYLE,//int nIndex, // offset of value to set
// //LONG dwNewLong // new value
// 0);
// ShowWindow(SW_MAXIMIZE);
return CPropertyPage::PreCreateWindow(cs);
}
void CPage::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: Add your message handler code here
// Do not call CPropertyPage::OnPaint() for painting messages
}
在此例子中我想把BUTT ON按钮搞到最左上角
#6
我没有看到你在哪儿贴的图!你贴图的代码在?
#7
就是有贴图后有个边框,对话框border设为none的代码是什么?
#8
建议贴图的时候,用GetWindosRect
#1
我想你一定是在CPropertyPage里的对话框上设置背景图的,那样当然覆盖不到CPropertyPage控件了.
你需要在CPropertyPage对象里设置了, 你可以重载CPropertyPage类,也可以通过截获CPropertyPage对象的消息来处理.
你需要在CPropertyPage对象里设置了, 你可以重载CPropertyPage类,也可以通过截获CPropertyPage对象的消息来处理.
#2
我就是在CPropertyPage对象里设置的,设置完后,显示出来位图不能靠近左边和上边,有框框,风格也设了this->m_psp.dwFlags|= PSH_NOAPPLYNOW;
不知道什么原因?期待解决!
#3
可能刚才没有描述清楚,通俗说如下:
我在属性页加入一张图片,不过显示的时候图片跟属性页边框有一段距离,如何叫图片跟属性页边框紧贴着
有高手知道吗?
我在属性页加入一张图片,不过显示的时候图片跟属性页边框有一段距离,如何叫图片跟属性页边框紧贴着
有高手知道吗?
#4
把你的代码贴出来!
#5
// Page.cpp : implementation file
//
#include "stdafx.h"
#include "test.h"
#include "Page.h"
#include "Sheet.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CPage property page
IMPLEMENT_DYNCREATE(CPage, CPropertyPage)
CPage::CPage() : CPropertyPage(CPage::IDD)
{
//{{AFX_DATA_INIT(CPage)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
CPage::~CPage()
{
}
void CPage::DoDataExchange(CDataExchange* pDX)
{
CPropertyPage::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CPage)
DDX_Control(pDX, IDC_BUTTON1, m_btnTest);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CPage, CPropertyPage)
//{{AFX_MSG_MAP(CPage)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CPage message handlers
void CPage::OnSysCommand(UINT nID, LPARAM lParam)
{
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
{
// CAboutDlg dlgAbout;
// dlgAbout.DoModal();
}
else
{
CDialog::OnSysCommand(nID, lParam);
}
}
BOOL CPage::OnSetActive()
{
// TODO: Add your specialized code here and/or call the base class
CSheet* p=(CSheet*)GetParent();
p->SetWizardButtons(PSWIZB_NEXT);
return CPropertyPage::OnSetActive();
}
BOOL CPage::OnInitDialog()
{
CPropertyPage::OnInitDialog();
// TODO: Add extra initialization here
CRect rect;
AfxGetApp()->GetMainWnd()->ModifyStyle(WS_CAPTION|WS_THICKFRAME|WS_POPUP,0,SWP_NOMOVE);
GetClientRect(&rect);
MoveWindow(0,0,20,20);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
BOOL CPage::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Add your specialized code here and/or call the base class
//
// SetWindowLong(this->m_hWnd,// HWND hWnd, // handle of window
// GWL_STYLE,//int nIndex, // offset of value to set
// //LONG dwNewLong // new value
// 0);
// ShowWindow(SW_MAXIMIZE);
return CPropertyPage::PreCreateWindow(cs);
}
void CPage::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: Add your message handler code here
// Do not call CPropertyPage::OnPaint() for painting messages
}
在此例子中我想把BUTT ON按钮搞到最左上角
#6
我没有看到你在哪儿贴的图!你贴图的代码在?
#7
就是有贴图后有个边框,对话框border设为none的代码是什么?
#8
建议贴图的时候,用GetWindosRect