实现对话框背景图像

时间:2013-05-09 13:22:02

标签: visual-studio-2010 visual-c++

在visual studio 2010下使用c ++。

我有一个对话框创建部分

IDD_LOGON DIALOGEX 0, 0, 265, 70
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION
CAPTION "Log On to Windows"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN 
  EDITTEXT        IDC_NAME,61,9,127,14,ES_AUTOSCROLL
  EDITTEXT        IDC_PASSWORD,61,29,127,14,ES_PASSWORD | ES_AUTOSCROLL
  EDITTEXT        IDC_DOMAIN,61,49,127,14,ES_AUTOSCROLL
  DEFPUSHBUTTON   "OK",IDOK,204,8,50,14
  PUSHBUTTON      "Cancel",IDCANCEL,204,25,50,14
  LTEXT           "Domain:",IDC_STATIC,21,52,27,8
  LTEXT           "Password:",IDC_STATIC,21,32,34,8
  LTEXT           "User Name:",IDC_STATIC,17,12,38,8
  PUSHBUTTON      "Shutdown",IDC_SHUTDOWN,204,49,50,14
END

我想在此对话框的背景中显示图像。

我将如何执行此操作?

谢谢

3 个答案:

答案 0 :(得分:3)

OnInitDialog()使用中:

this->SetBackgroundImage(IDB_BITMAP1, BACKGR_TOPLEFT, TRUE);

有关详细信息,请参阅:CDialogEx::SetBackgroundImage

答案 1 :(得分:1)

无法通过对话框模板/设计器执行此操作。您需要在对话框中处理WM_ERASEBKGND消息并自己绘制背景。

以下是一些信息: http://www.codeproject.com/Articles/18967/Bitmap-Backgrounds-For-Dialog-Boxes

答案 2 :(得分:0)

快速回答...我将图像控件放在对话框上,设置图像......然后......我进入代码并将其放置在堆栈的顶部,并且它没有任何问题。其他控件的透明部分失败,所以我将它们全部分组到图像上相同背景颜色的区域,并且walla - 全部完成。谢谢