我有一個C++/CLI System::Windows::Forms::UserControl
派生的控制,它應該只是重新繪製(一小部分)本身,因爲新的數據被送入它。出於某種原因,OnPaint機制即使在沒有任何內容導致它在應用程序外部被調用時也是如此。如何阻止System :: Windows :: Forms :: UserControl擦除背景?
這裏有一個片段:
void Spectrogram::OnPaint(System::Windows::Forms::PaintEventArgs ^e)
{
// Overidden to stop the background being painted(?)
}
void Spectrogram::AddNewFFTData(float* data, int fataWidth)
{
Graphics^ gfx = CreateGraphics();
//now do some drawing
gfx->Dispose();
}
因此,我調用add數據的方法增加理論上應該寫在一個條目(這將清除一些突出),並寫入新的條目一些新的數據。
早在我用來開發MFC/OpenGL應用程序的時候,我會做的第一件事就是覆蓋OnEraseBackground
方法。據我所知,沒有明顯的辦法可以阻止它被抹去。我錯過了什麼?
+1:我剛剛測試過,你說得對,設置停止背景被刪除 - 我希望我可以接受這兩個答案! – 2009-07-10 08:22:37
+1:酷,不知道那個。 :) – 2009-07-10 10:50:47