我在对话框上拖了一个Button控键,在设置它的属性的时候看到Sytles->BitMap这一属性,该怎么使用它啊,图片怎么加上去的啊

解决方案 »

  1.   


    首先,设置按钮的图标属性。然后,当对话初始化时调用CButton: : SetIcon。注意:下例用图标代替位图,使用位图时要小心,因为不知道背景所有的颜色——并非每个人都使用浅灰色。
    BOOL CSampleDlg : : OnInitDialog ( )
    {
    CDialog : : OnInitDialog ( )
    //set the images for the push buttons .
    BOOL CSampleDlg : : OnInitDialog ( )
    {
    CDialog : : OnInitDialog ( )
    //set the images for the push buttons .
    m_wndButton1.SetIcon (AfxGetApp ( ) —> LoadIcon (IDI _ IPTION1))
    m_wndButton2.SetIcon (AfxGetApp ( ) —> LoadIcon (IDI _ IPTION2))
    m_wndButton3.SetIcon (AfxGetApp ( ) —> LoadIcon (IDI _ IPTION3))
     return TRUE

      

  2.   

    定要使用位图的按钮(以OK按钮为例,假设其标识符为IDC_BtonOK),选其属性中的Owner draw选项,此时,在对话框编辑器中就可看到原先显示在按钮上的字符都消失了。将按钮的Caption改为OK(必须为大写)。打开Insert菜单,单击其中的Resource选项,随后选择Bitmap。再按下Import(导入)按钮,将所需位图导入项目(Project)。可以在Resource View窗口中通过右键单击刚才导入的位图,将其ID(标识符)改为"OKU",注意:字符必须为大写,双引号及字母U必不可少。字母U代表的按钮为按下状态时所显示的位图。此外还可使用后缀D、F、X,分别表示按下、拥有输入焦点时、按钮处于无效状态时所显示的位图。通过对同一个按钮的不同状态使用不同的位图,很容易做出具有动态效果的按钮。   当将按钮所需使用的位图导入到项目中后,就应该在使用位图按钮的那个对话框的类声明文件中加入位图按钮变量的定义CBitmapButton m_BtonOK。同时,在适当的位置(一般是在对话框的OnInitDialog()函数中)加入如下语句:m_BtonOK.AutoLoad(IDC_BtonOK),使程序在运行时将位图装入内存并显示。至此,创建位图按钮的整个步骤即告结束。   上述方法不仅限于创建位图按钮,还可用于在对话框上显示简单的位图。嘘,告诉你一个小秘密,位图按钮所使用的颜色最多可达256种,而非位图编辑器中的16种。但对于256色位图,当在导入VC++的位图编辑器后就不能使用该编辑器作任何修改。否则在编译连接后,原先256色位图就变成16色位图了。