VC++中将对话框的背景设为自己想要的图片,增加打开文件按钮

本文介绍了如何使用Windows画图工具创建.bmp图片,并通过对话框编程技术实现图片资源的显示与文本文件内容的读取和显示。包括在VC环境下处理大于256色的图片、在对话框中添加按钮和编辑框控件,以及通过按钮操作打开并显示文本文件内容的方法。

(1)用Windows画图工具将图片另存为.bmp图片,现在测试支持16色图片,24色图片可以支持,256色未测试。

1、把你的图包含到程序的“Bitmap资源”里,提示说该资源使用了大于256色的调色板,在VC里无法编辑等等,点确定就可以 


2、定位到   void CXXXDlg::OnPaint(),在if()...else()中的else()下添加如下代码   
   else   
   {   
           //CDialog::OnPaint();//要禁止这个调用   或则放到最后 
           CPaintDC   dc(this);   
           CRect   rect;   
           GetClientRect(&rect);   
           CDC   dcMem;   
           dcMem.CreateCompatibleDC(&dc);   
           CBitmap   bmpBackground;   
           bmpBackground.LoadBitmap(IDB_BITMAP);   
                   //IDB_BITMAP是你自己的图对应的ID   
           BITMAP   bitmap;   
           bmpBackground.GetBitmap(&bitmap);   
           CBitmap   *pbmpOld=dcMem.SelectObject(&bmpBackground);   
           dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,   
         bitmap.bmWidth,bitmap.bmHeight,SRCCOPY);   

 

   }

 

(2)在对话框上增加一个按钮ID_Button1,以及一个编辑框控件ID_Editpoints,为编辑框控件添加一个成员变量,m_Editpoints,实现按下按钮ID_Button1,就可以打开文本文件,并将文本文件的内容显示到编辑框中。

在OnButton1()添加如下的代码:

       void CBitmap_DLgDlg::OnButton1() 
{
// TODO: Add your control notification handler code here
    //CColorDialog dlg;
//dlg.DoModal();
CString filter;
filter="文本文件(*txt)|*.txt|GoCAD文件(*.pl,*.ts)|*.pl;*.ts||";
CFileDialog dlg (TRUE,NULL,NULL,OFN_HIDEREADONLY,filter);
if (IDOK==dlg.DoModal())
{
    CString s;
s=dlg.GetPathName();
AfxMessageBox(s);
CFile file(s,CFile::modeRead);
char *pBuff;
DWORD dwFileLen;
dwFileLen=file.GetLength();
pBuff=new char[dwFileLen+1];
pBuff[dwFileLen]=0;
file.Read(pBuff,dwFileLen);
file.Close();
UpdateData();
m_Editpoints=pBuff;
UpdateData(false);
}

如果您觉得这篇博文有用,请访问我的个人站:http://www.stubbornhuang.com,更多博文干货等着您。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HW140701

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值