在line.h中定義了一個私有Color成員變數
class line
{
private:
Color line_color; //顏色值
int line_path; //軌道
int line_width; //線寬
public:
vector<int> value;//曲線值
line(void);
~line(void);
line( TCHAR * m_name, float m_min, float m_max,Color m_line_color,int m_line_path,int m_line_width);
void Set_color(Color line_color); //設定顏色
}
在.cpp中對建構式初始化如下:
void line::Set_color(Color m_line_color) //設定顏色
{
this->line_color = m_line_color;
//this->line_color = (m_line_color.Red,m_line_color.Green,m_line_color.Blue);
}
這么寫有沒有問題?我在后面修改物件顏色得時候line.set_color(Color(0,0,0))怎么都不成功~~
uj5u.com熱心網友回復:
1 注意函式呼叫大小寫2 改變顏色后要引發重繪才能看到效果, InvalidateRect RedrawWindow 等
uj5u.com熱心網友回復:
這些應該都沒問題,我還修改了別的都重繪出來了,大小寫也不是問題~~我只想知道這個函式這么寫有沒有問題?因為我發現最開始寫進去得物件得顏色并沒有被替換掉。void line::Set_color(Color m_line_color) //設定顏色
{
this->line_color = m_line_color;
//this->line_color = (m_line_color.Red,m_line_color.Green,m_line_color.Blue);
}
uj5u.com熱心網友回復:
設定斷點 單步除錯看看uj5u.com熱心網友回復:
不成功是什么意思?設定顏色之后,要更新視窗才能看到效果。譬如,呼叫 invalidate()轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/242064.html
標籤:界面
下一篇:C++ 如何批量加載 dll?
