请各位帮忙
我在程序中重载了onpaint函数,功能是将图片显示在picture控件中,可是运行时调用窗口后,窗口上除了edit控件其他控件都不显示了,请问是怎么回事啊?
我在程序中重载了onpaint函数,功能是将图片显示在picture控件中,可是运行时调用窗口后,窗口上除了edit控件其他控件都不显示了,请问是怎么回事啊?
解决方案 »
- 如何区分中文和全角字符?
- 求助关于多线程访问冲突
- VC6 如何升级 SDK ???
- 各位大哥,问一个获取server 时间的控件CLSID是{ 0x39b21bbd, 0xc62b, 0x11d2, { 0x8f, 0xc8, 0x0, 0x0, 0xe8, 0x40, 0xd1, 0x1e } }
- GetPrivateProfileInt为何不对?
- sql server2000中怎样值备份或者导出数据库表的结构?谢!
- 请教:已知一个ActiveX控件的CLSID,如何知道该控件是否已经安装?
- MFC如何结束AfxBeginThread开辟的线程
- 用CSerialPort类写串口通信程序有时候无返回数据
- 请问在VC下可以调用BCB的静态链接库吗?
- (每天一贴) 天下奇谋 第三章 之 开始行动
- Directshow的图像在Debug下会很卡,直接Go没问题,不卡
把控件属性中的transparent选中试试
{
// TODO: Add your control notification handler code here static char BASED_CODE szFilter[]="jpg Files (*.jpg)|*.jpg|gif file(*.gif)|*.gif|bmp Files (*.bmp)|*.bmp||";
CFileDialog fd(TRUE,NULL,NULL,0,szFilter,this);
if(IDOK!=fd.DoModal())
return;
CFile fileImage;
CFileStatus fileStatus;
fileImage.Open(fd.GetPathName(),CFile::modeRead);
fileImage.GetStatus(fileStatus);
nLen = (UINT)fileStatus.m_size;
hGlobal=GlobalAlloc(GPTR,nLen);
LPSTR lpStr = (LPSTR)GlobalLock(hGlobal);
fileImage.ReadHuge(lpStr,fileStatus.m_size);
}
void CJhgjgjgjjhfDlg::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: Add your message handler code here
if (nLen!=0)
{
LPSTR lpStr=NULL;
CString str;
byte * pStrWithNull;
///////////////////////////////////////////////////////////
lpStr = (LPSTR)GlobalLock(hGlobal);
pStrWithNull = new byte[nLen+1];
memcpy( pStrWithNull,lpStr, nLen );
(m_Pic.LoadPictureData(pStrWithNull, nLen));// ///为了显示图片
pStrWithNull[nLen] = 0; // Set '\0' at end of string
GlobalUnlock(hGlobal);
delete [] pStrWithNull;
pStrWithNull=NULL;
CClientDC dc(GetDlgItem(IDC_PIC));
//CClientDC dc(GetDlgItem(IDC_RICHEDIT));
m_Pic.UpdateSizeOnDC(&dc);
// Get Picture Dimentions In Pixels
CRect rect;
m_photo.GetClientRect(rect);
//m_richedit.GetClientRect(rect);
m_Pic.Show(&dc, rect);//显示出来看看
}
}
CDialog::OnPaint();
...