Visual Studio 2010 を初めて使用します。C++ でフォームの背景色をグラデーション カラーに設定する方法を知りたいです。オンラインでいくつかのソースを見ましたが、それは Visual Basic .NET 用のものでした。
あなたの助けに感謝 :)
Visual Studio 2010 を初めて使用します。C++ でフォームの背景色をグラデーション カラーに設定する方法を知りたいです。オンラインでいくつかのソースを見ましたが、それは Visual Basic .NET 用のものでした。
あなたの助けに感謝 :)
vb.net または C# 構文で .NET サンプル コードを見つけることに慣れる必要があります。C++/CLI で Winforms コードを記述することはあまりありません。翻訳はかなり機械的なものなので、C++/CLI プログラミングに関する適切な本を必ず入手して、自分でガタガタと理解できるようにしてください。
とにかく、コードは非常に単純です。サイズが変更されるたびにフォームが再描画されるように、OnPaintBackground メソッドをオーバーライドしてコンストラクターを変更するだけです。
protected:
virtual void OnPaintBackground(PaintEventArgs^ e) override {
System::Drawing::Drawing2D::LinearGradientBrush brush(Point::Empty, Point(this->ClientSize.Width, this->ClientSize.Height), Color::Yellow, Color::Blue);
e->Graphics->FillRectangle(%brush, 0, 0, this->ClientSize.Width, this->ClientSize.Height);
}
コンストラクタ:
Form1(void) {
InitializeComponent();
SetStyle(ControlStyles::ResizeRedraw, true);
}