想把按钮设成任意色,并且按钮上是空的,但是当一个对话框里出字的时候,比如:一个对话框里出现abcd1234,那么按钮上也会出现abcd1234。
另:怎么让一个列表框之间的各项有网格分开?

解决方案 »

  1.   

    CRect rect;
    m_list1.GetWindowRect(&rect);
    DWORD dwStyle = GetWindowLong(m_list1.m_hWnd, GWL_STYLE); 
        SetWindowLong( m_list1.m_hWnd, GWL_STYLE, dwStyle | LVS_REPORT);
    DWORD styles = m_list1.GetExtendedStyle();
    m_list1.SetExtendedStyle(styles|LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
    m_list1.InsertColumn(0, "步骤", LVCFMT_LEFT, rect.Width()/3-6);
    m_list1.InsertColumn(1, "编辑位置", LVCFMT_LEFT, rect.Width()/3*2-18);
    用list control控件
      

  2.   

    GetDlgItem(按钮ID)->SetWindowText("字符串");
    颜色的话重载OnCtlColor
    定义全局变量CBrush m_br;
    int nID = pWnd->GetDlgCtrlID();
    if(nID==按钮ID)
    {
    m_br.CreateSolidBrush(RGB(192,192,192));
    hbr = m_br;
    pDC->SetBkMode(TRANSPARENT);
    }
      

  3.   

    要动态修改按钮的颜色,只能从CButton自己派生一个,重载OnDrawItem来自绘。不然直接使用 CButtonST 控件。
    http://codeproject.com/buttonctrl/cbuttonst.asp
      

  4.   

    WM_CTLCOLOR对按钮是无效的,至多给按钮边上加了个框而已,应该要如楼上所说重绘
      

  5.   

    想把按钮设成任意色
    ===============
    派生类,自绘
    关于如何自绘
    Owner Draw Button Step-by-Step 
    http://www.codeguru.com/cpp/controls/buttonctrl/article.php/c5157/以及一个自绘的例子
    http://www.codeguru.com/cpp/controls/buttonctrl/advancedbuttons/article.php/c8395/
    比如:一个对话框里出现abcd1234,那么按钮上也会出现abcd1234
    =======================================
    那这个得在对话框中处理,用SetWindowText设置button上的text
    另:怎么让一个列表框之间的各项有网格分开?
    =============================
    m_list.SetExtendedStyle(m_list.GetExtendedStyle() | LVS_EX_GRIDLINES);
      

  6.   

    重绘吧!WM_CTLCOLOR消息对于按钮无效可用于其他控件!