vc
源代码在线查看: subject_42536.htm
序号:42536 发表者:草叶 发表日期:2003-06-04 08:40:42
主题:如何用图片作为对话框或视图的背景?
内容:如果用图片作为视图的背景,该怎样编程?
返回上页访问论坛
回复者:Half_C 回复日期:2003-06-04 20:42:25
内容:有一个WM_EREASBACK消息,处理函数提供一个CDC指针,你可以在里边处理!
返回上页访问论坛
回复者:草叶 回复日期:2003-06-05 14:32:17
内容:我不知道具体怎样画
返回上页访问论坛
回复者:草叶 回复日期:2003-06-06 13:36:39
内容:欢迎大家来观光
返回上页访问论坛
回复者:MMGG 回复日期:2003-06-06 21:27:08
内容:BitBlt(。。。)函数
返回上页访问论坛
回复者:草叶 回复日期:2003-06-07 09:40:21
内容:能否给段具体代码?谢谢
返回上页访问论坛
回复者:tlw 回复日期:2003-06-07 10:05:09
内容:在view中定义......CBitmap m_back;//背景图片CBrush m_backBrush;//背景刷子......自己做一个背景bitmap:IDB_BITMAP1;......int CBackView::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CView::OnCreate(lpCreateStruct) == -1) return -1; // TODO: Add your specialized creation code here m_back.LoadBitmap(IDB_BITMAP1); m_backBrush.CreatePatternBrush(&m_back); ::SetClassLong(this->m_hWnd, GCL_HBRBACKGROUND, (long) m_backBrush.m_hObject); return 0;}
返回上页访问论坛
回复者:草叶 回复日期:2003-06-07 13:41:49
内容:::SetClassLong(this->m_hWnd, GCL_HBRBACKGROUND, (long) m_backBrush.m_hObject);这一句什么意思?对话框中也可以这样?
返回上页访问论坛
回复者:m_tlwLyn 回复日期:2003-06-07 15:56:26
内容:DWORD ::SetClassLong(HWND hWnd, int nIndex, LONG dwNewLong)修改生成制定窗口的窗口类的指定属性,是window API函数对于对话框:添加:CBitmap m_back;CBrush m_backBrush;...................BOOL CDialogDlg::OnInitDialog(){ ............. m_back.LoadBitmap(IDB_BITMAP1); m_backBrush.CreatePatternBrush(&m_back); .............}................................void CDialogDlg::OnPaint() { if (IsIconic()) { ............................. } else { CRect rect; CPaintDC dc(this); GetClientRect(rect); dc.FillRect(rect, &m_backBrush); CDialog::OnPaint(); }}
返回上页访问论坛
回复者:草叶 回复日期:2003-06-07 16:12:00
内容:谢谢,我先看看那响应WM_EREASBACK消息,行不行?我想知道这个消息里怎样写?
返回上页访问论坛
答案被接受回复者:m_tlwLyn 回复日期:2003-06-07 18:12:05
内容:int CBackView::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CView::OnCreate(lpCreateStruct) == -1) return -1; // TODO: Add your specialized creation code here m_back.LoadBitmap(IDB_BITMAP1); m_backBrush.CreatePatternBrush(&m_back); return 0;}//同上,//在onEraseBkgnd中,提前返回TRUE,就可以了BOOL CBackView::OnEraseBkgnd(CDC* pDC) { // TODO: Add your message handler code here and/or call default CRect rect; GetClientRect(&rect); pDC->FillRect(rect, &m_backBrush); return TRUE; return CView::OnEraseBkgnd(pDC);}
返回上页访问论坛
回复者:草叶 回复日期:2003-06-10 16:16:09
内容:谢谢老兄,已经成功实现以后多指教
返回上页访问论坛