1. 程式人生 > >VC++對話方塊(CDialog)新增背景圖片

VC++對話方塊(CDialog)新增背景圖片

在對話方塊(CDialog)程式中,為了讓程式看上去漂亮一些,我們可以為對話方塊新增一個好看的背景圖片,要想完成這個目標,可以利用afx_msg BOOLOnEraseBkgnd (CDC* pDC) 這個函式。

(1)找來一張合適的BMP格式的背景圖片,將其放在工程的res目錄下,然後在程式的資源檢視中,將這張圖片匯入進來(假設匯入後其ID為:IDB_BITMAP1)。

(2)在對話方塊的.h檔案中新增函式宣告:

afx_msg BOOL OnEraseBkgnd (CDC* pDC);

(3)在對話方塊的.cpp檔案中新增其訊息對映巨集:

BEGIN_MESSAGE_MAP(CPoint22Dlg, CDialog)
	ON_WM_ERASEBKGND()//訊息對映巨集
END_MESSAGE_MAP()

(4)在對話方塊的.cpp檔案中實現該函式功能:

BOOL CPoint22Dlg::OnEraseBkgnd(CDC* pDC) //為對話方塊新增背景圖片
{
	CDialog::OnEraseBkgnd(pDC);	
	CBitmap m_bitmap;
	m_bitmap.LoadBitmap (IDB_BITMAP1);

	if (!m_bitmap.m_hObject)
		return true;

	CRect rect;
	GetClientRect(&rect);
	CDC dc;
	dc.CreateCompatibleDC(pDC);
	CBitmap* pOldBitmap = dc.SelectObject(&m_bitmap);
	int bmw, bmh ;
	BITMAP bmap;
	m_bitmap.GetBitmap(&bmap);
	bmw = bmap.bmWidth;
	bmh = bmap.bmHeight;
	int xo=0, yo=0;

        /*函式從源矩形中複製一個位圖到目標矩形,必要時按目前目標裝置設定的模式進行影象的拉伸或壓縮。*/
	pDC->StretchBlt(xo, yo, rect.Width(),rect.Height(), &dc,0, 0,bmw,bmh, SRCCOPY);

	dc.SelectObject(pOldBitmap);

	return true;
}

相關推薦

VC++對話方塊CDialog新增背景圖片

在對話方塊(CDialog)程式中,為了讓程式看上去漂亮一些,我們可以為對話方塊新增一個好看的背景圖片,要想完成這個目標,可以利用afx_msg BOOLOnEraseBkgnd (CDC* pDC) 這個函式。 (1)找來一張合適的BMP格式的背景圖片,將其放在工程的r

VC++對話方塊CDialog的全屏顯示及控制元件居中顯示

在編寫一些軟體時,我們會比較偏向於比較簡潔、清新的使用者介面,同時為了避免其它程式或者桌面等影響使用者的注意力等,我們通常習慣將軟體介面全屏,佈滿整個顯示螢幕,與此同時,我們也將對介面中的控制元件位置進行相應的調整,讓它們按螢幕的大小和其在對話方塊中的相對位置,居中顯示。

對話方塊CDialog中使用分割窗CSplitterWnd

原文見:   可以使用以下三個步驟在對話方塊中建立分割窗: 1. In the OnCreate function or your CDialog, register a new WindowClass by calling "AfxRegisterWndClass".

四種對話方塊dialog的簡單使用方法

有普通對話方塊,單選對話方塊,複選對話方塊,進度條的兩種實現方法話不多說,直接上程式碼 activity_main.xml:   1 <?xml version="1.0" encoding="utf-8"?> 2 <android.support.constra

Android中的對話方塊AlertDialog

建立android中分體式對話方塊需要四個步驟: 第一:獲得AlertDialog的靜態內部類Builder物件,有該類建立對話方塊。 第二:通過Builder物件設定對話方塊的標題,按鈕UI及將要響應的事件。、 第三:呼叫Builder的Create()方法建立對對話方塊 第四

android模式進度對話方塊ProgressDialog的呼叫方法

public class MainActivity extends AppCompatActivity {     @BindView(R.id.button2)     Button button2;     @BindView(R.id.button1)     TextView

PyQt5 筆記6 -- 對話方塊QDialog

PyQt5 筆記6 – 對話方塊(QDialog) 1、主視窗彈出對話方塊 import sys from PyQt5.QtWidgets import QApplication, QMainWin

GUI之練習——列出指定目錄下的內容和對話方塊Dialog

package myclass; import java.awt.; import java.awt.event.; import java.io.*; class MyWindowDemo { private Frame f; private TextFiel

android 實現點選輸入框彈出日期選擇對話方塊DatePickerDialog

前言 這裡我們實現一個功能,點選日期輸入框(EditText),即可彈出日期選擇對話方塊(DatePickerDialog),等使用者選擇日期後,將使用者選擇的日期顯示在日期輸入框。 1.activity_main.xml 這裡只有一個TextView和EditText。

Java-記事本程式、檔案選擇對話方塊JFileChooser

基本的GUI基礎和IO基礎 核心程式碼 JFileChooser jfc = new JFileChooser(); jfc.setDialogTitle("另存為..."); // jfc.showOpenDialog(null); // 顯示開啟檔案

MFC 對話方塊視窗透明

程式的實現步驟基本就是這樣,當然也有其他方法。希望大家能積極開拓,展示更多方法。 SetWindowLong(this->GetSafeHwnd(), GWL_EXSTYLE, GetWindowLong(this->GetSafeHw

androdi簡單的密碼輸入對話方塊Dialog

加入: compile 'com.flyco.dialog:FlycoDialog_Lib:[email protected]' Dialog程式碼: package com.influx.kalyke.component; /** * Created

jquery 對話方塊Dialog外掛

<!doctype html> <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <

win7訪問xp的共享,彈出重輸入密碼的對話方塊NTLM

最近在研究 NTLM 的東東,無意發現一博文,實乃 NTLM 應用之例項, 故轉之,再次感謝原創者! --------------------------------------------------------------------------------------

QT學習 之 對話方塊 字型對話方塊、訊息對話方塊、檔案對話方塊、程序對話方塊

QMessageBox類: 含有Question訊息框、Information訊息框、Warning訊息框和Critical訊息框等 通常有兩種方式可以來建立標準訊息對話方塊: 一種是採用“基於屬性”的API,一種是使用QMessageBox的靜態方法。 後者書寫容易,但缺

QT學習 之 對話方塊 可擴充套件對話方塊

QT中的對話方塊是QDialog類 下面是三個主要的視窗的區別: QWidget類是所有使用者介面物件的基類。 視窗部件是使用者介面的一個基本單元:它從視窗系統接收滑鼠、鍵盤和其它事件,並且在螢幕上繪製自己。每一個視窗部件都是矩形的,並且它們按Z軸順序排列。一個視窗部件可以

標準對話方塊QMessageBox

    所謂標準對話方塊,是 Qt 內建的一系列對話方塊,用於簡化開發。事實上,有很多對話方塊都是通用的,比如開啟檔案、設定顏色、列印設定等。這些對話方塊在所有程式中幾乎相同,因此沒有必要在每一個程式

android 8種對話方塊Dialog使用方法彙總

目錄 1.寫在前面2.程式碼示例 2.1 普通Dialog(圖1與圖2) 2.2 列表Dialog(圖3) 2.3 單選Dialog(圖4) 2.4 多選Dialog(圖5) 2.5 等待Dialog(圖6) 2.6 進度條Dialog(圖7) 2.7 編輯Dialog(圖8) 2.8 自定義Dialo

【轉】鏈接偽類:hoverCSS背景圖片有閃動BUG

ref 重新 常用 底部 例如 ecc html 鏈接 cache 來源:http://www.css88.com/archives/744 -----------------------------------------------------------------

簡潔風個人主頁3 js背景圖片隨機切換

靜態頁面做完了,現在用js做一個背景圖片隨機切換的效果。 1.點選‘個人網站'這個字樣,實現body背景的切換。所以,首先獲取這兩個節點。 var body = document.body; var change_btn = document.getElementById("change