當前位置:首頁 » 背景圖片 » vc對話框背景圖片
擴展閱讀
瘋女人的圖片 2024-11-05 22:08:33
觀音佛像高清圖片 2024-11-05 21:40:43
憂傷的人物女圖片素材 2024-11-05 21:32:55

vc對話框背景圖片

發布時間: 2022-06-16 14:58:25

1. c++ 怎麼給對話框添加背景圖片

用CImage類.

在onpaint()中
if(IsIconic())
{
.......//系統代碼,不修改
}
else//在else中增加如下代碼,對JPG,BMP,PNG(背景透明圖片)有效
{
CRectrc;
GetClientRect(rc);
CImageimage;
image.Load(_T("c:\1.jpg"));//圖片文件路徑
if(image.GetBPP()==32)
{
inti;intj;
for(i=0;i<image.GetWidth();i++)
{
for(j=0;j<image.GetHeight();j++)
{
byte*pByte=(byte*)image.GetPixelAddress(i,j);
pByte[0]=pByte[0]*pByte[3]/255;
pByte[1]=pByte[1]*pByte[3]/255;
pByte[2]=pByte[2]*pByte[3]/255;
}
}
}
image.Draw(GetDC()->m_hDC,rc);
}

2. 怎麼給MFC的對話框加背景圖片

1、新建MFC應用程序。

3. VC++的MFC中,如何給基本對話框加上JPG格式的背景圖片

在這個對話框類里添加相應wm_paint的消息處理用BitBlt(。。。)或者stretchblt(。。。)貼圖
具體查看msdn

4. vc怎麼在工具欄加背景圖片

先從CToolBar派生一個類CSXBar(名字隨便取啊)

頭文件里(CSXBar.h)

classCSXBar:publicCToolBar

{

public:

...

protected:

//{{AFX_MSG(CSXBar)

afx_msgBOOLOnEraseBkgnd(CDC*pDC);//聲明消息相應函數

//}}AFX_MSG

}

源文件里(CSXBar.cpp)

添加消息

BEGIN_MESSAGE_MAP(CSXBar,CToolBar)

//{{AFX_MSG_MAP(CSXBar)

ON_WM_ERASEBKGND()

//}}AFX_MSG_MAP

END_MESSAGE_MAP()

添加消息相應函數

BOOLCSXBar::OnEraseBkgnd(CDC*pDC)

{

//TODO:/orcalldefault

CBitmapm_bk;

m_bk.LoadBitmap(IDB_BK);

CDCm_dcbk;

m_dcbk.CreateCompatibleDC(pDC);

BITMAPm_bkInfo;

m_bk.GetBitmap(&m_bkInfo);

m_dcbk.SelectObject(&m_bk);

CRectrect;

GetClientRect(&rect);

pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&m_dcbk,0,0,m_bkInfo.bmWidth,m_bkInfo.bmHeight,SRCCOPY);

return1;

}

一個新的類就做好了

然後在MainFrame頭文件里包涵自己的類頭文件

#include"SXBar.h"

最後一步,將原來的

CToolBarm_wndToolBar;

改成

CSXBarm_wndToolBar;

就完工了

記住了,分四步:

派生新的類

添加消息響應

編寫消息相應函數

調用新的類

5. vc++如何給窗體添加背景圖片

三步。
第一步:
選好.bmp的類型的圖片。在資源視圖中導入。隨便復制到.res文件夾下。
第二步。在對話框上添加picture控制項,調整到大小。右擊屬性選擇Type選擇Bitmap.
Image下拉組合框選擇你導入的圖片。運行時即可顯示圖片。
如果要設置和窗體一樣的大小SetWindowPos就可以了。查查這個函數的作用

6. Vc怎麼把mfc,win32對話框背景,換成圖片,JPG格式,png格式的

JPEG是一種圖像壓縮標准,很多精美的圖片都是採用這種格式標准,其特點是文件體積較小,而且支持24位色深。但是,Windows9x只支持點陣圖文件(即以bmp為擴展名的文件)的牆紙。下面這個程序就是將以jpg或jpeg為擴展名的圖片文件轉化為點陣圖文件,並通過修改注冊表的鍵值來通知Windows更換牆紙。本程序使用了一個Tform;一個OpenPictureDialog用來讓用戶選擇圖片;三個SpeedButton;分別用來打開OpenPictureDialog對話框,確定更換牆紙,退出程序。程序全部代碼如下:unitUnit1;interfaceusesWindows,Messages,SysUtils,Classes,Graphics,Controls,Forms,Dialogs,jpeg,registry,ExtDlgs,StdCtrls,Buttons;typeTForm1=class(TForm)SpeedButton1:TSpeedButton;SpeedButton2:TSpeedButton;SpeedButton3:TSpeedButton;OpenPictureDialog1:TOpenPictureDialog;procereSpeedButton1Click(Sender:TObject);procereSpeedButton2Click(Sender:TObject);procereSpeedButton3Click(Sender:TObject);private{Privatedeclarations}public{Publicdeclarations}end;varForm1:TForm1;implementation{$R*.DFM}procereTForm1.SpeedButton1Click(Sender:TObject);beginopenpicturedialog1.execute;{打開OpenPictureDialog對話框}end;procereTForm1.SpeedButton2Click(Sender:TObject);varreg:tregistry;{Tregistry對象在Registry單元中聲明,需要在Uese中引用Registry單元}jpeg:tjpegimage;{Tjpegimage對象在Jpeg單元中聲明,需要在Uese中引用Jpeg單元}bmp:tbitmap;beginif(openpicturedialog1.filename=``)then{判斷OpenPictureDialog1中有無文件被選中}messagedlg(`請選擇一張圖片`,mtinformation,[mbOK],0)elsebeginjpeg:=tjpegimage.Create;jpeg.LoadFromFile(openpicturedialog1.filename);{載入被用戶選中的文件}bmp:=tbitmap.Create;bmp.assign(jpeg);bmp.savetofile(`c:\windows\wall.bmp`);{將轉換成功的文件保存的路徑及文件名}reg:=tregistry.Create;reg.rootkey:=hkey_current_user;{設置根鍵名稱}reg.openkey(`controlpanel\desktop`,false);{打開ControlPanel\Desktop路徑對應的主鍵}reg.writestring(`tilewallpaper`,`0`);reg.writestring(`wallpaper`,`c:\windows\wall.bmp`);{覆蓋並寫入新值TileWall-paper和Wallpaper串}systemparametersinfo(spi_setdeskwallpaper,0,nil,spif_sendchange);{通知win-dows更換牆紙}reg.closekey;{寫入更改內容並關閉注冊表}reg.Free;{釋放對象}close;end;end;procereTForm1.SpeedButton3Click(Sender:TObject);beginclose;end;end.此程序只能將以jpg或jpeg為擴展名的圖片文件轉化為Windows的牆紙,因此應在OpenPictureDialog控制項的Filter屬性中篩選顯示文件的類型,最好設置為JPEGImageFile(*.jpg)和JPEGImageFile(*.jpeg)文件。程序在中文Windows98,Delphi4.0下編譯通過

7. VC怎麼給簡單對話框應用程序添加背景圖片

//在public中定義如下: CBrush m_brBk; CBitmap bmp;2. TestDlg.cpp文件中 構造函數CBkcolorDlg::CBkcolorDlg(CWnd* pParent /*=NULL*/) : CDialog(CBkcolorDlg::IDD, pParent)中,添加如下代碼: //用CBitmap ::LoadBitmap載入點陣圖資源 ,IDB_BITMAP_BKBMP是點陣圖資源的ID標識 bmp.LoadBitmap(IDB_BITMAP_BKBMP); 在初始化對話框的函數CBkcolorDlg::OnInitDialog()中添加如下代碼 m_brBk.CreatePatternBrush(&bmp); //創建具有指定點陣圖模式的邏輯刷子 bmp.DeleteObject();3. 最後在打開類向導,找到 WM_CTLCOLOR 消息,重載得對應函數 OnCtlColor(), if (pWnd == this){return m_brBk;}return hbr;}這樣做就可以給對話框添加簡單的背景圖片了,此代碼經過測試。

8. VC6.0MFC中怎樣給對話框添加背景圖片

你添加的這個不是bmp點陣圖文件
附加點陣圖的時候,不能單單是把文件後綴改成.bmp
你可以用畫圖,或者其他看圖工具,打開圖片後另存為bmp格式
再插入的時候,就會變成點陣圖附加到項目中了
附加了以後,圖片的id會變成IDB_BITMAP1,你可以改成自己想要的名字

9. vc++如何添加背景圖片

方法有很多種,這里簡單介紹三種,以修改對話框的背景為例。

方法一:
1、聲明成員變數CBrush m_brush;
2、在InitDialog中添加代碼:
CBitmap bmp;
bmp.LoadBitmap(IDB_BITMAP1); //這個IDB_BITMAP1要自己添加
m_brush.CreatePatternBrush(&bmp);
3、重載對話框的OnCtlColor,改最後的返回值:
return (HBRUSH)m_brush;

方法二:
把下面這段代碼加進OnPaint()里就行了
CPaintDC dc(this);
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1); //這個IDB_BITMAP1要自己添加
CBrush brush;
brush.CreatePatternBrush(&bitmap);
CBrush* pOldBrush = dc.SelectObject(&brush);
dc.Rectangle(0,0,200,200); // 這些參數可以調整圖片添加位置和大小
dc.SelectObject(pOldBrush);

方法三:使用StretchBlt()函數,具有圖像自適應窗體功能
CPaintDC dc(this);
CBitmap m_bmpBK;
m_bmpBK.LoadBitmap(IDB_BITMAP1);
CRect rect;
GetClientRect(&rect);//獲得目標尺寸,即窗口客戶區的坐標
BITMAP bitMap;//點陣圖結構體
m_bmpBK.GetBitmap(&bitMap);//獲得原圖片尺寸
CDC dcMem; //目標DC
dcMem.CreateCompatibleDC(&dc); //創建與dc兼容的內存DC
dcMem.SelectObject(&m_bmpBK);//將點陣圖對象m_bmpBK選入內存DC
dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,bitMap.bmWidth,bitMap.bmHeight,SRCCOPY);

10. VC++中MFC的對話框插入背景圖片後怎麼讓空間和圖片看起來比較融合

可以設置控制項透明度,這樣"融合"效果可能好看點

VC++開發環境右側屬性有個屬性Transparent=設置成true;大部分控制項都可以設置成透明的,

按鈕呢比較特出,需要重繪。