System :: Windows :: Forms :: Form을 가지고 있으며 배경을 투명하게 설정하려고합니다. 이 양식에는 다른 구성 요소가 들어 있으며 배경 이미지가 있습니다.시스템의 투명한 배경 :: windows :: forms :: form
나는 인터넷에서 볼 수있는 많은 솔루션을 시도하지만 아무 것도 작동하지 않습니다.
- 불투명도를 0으로 설정 - 전체 양식을 투명하게 만듭니다.
- 사용 색상 : 투명 ->이
- 사용 TransparencyKey을 작동하는 것 같다하지 않는다 ->는 ... 너무
- 재정 OnPaintBackground 또는의 OnPaint 이벤트를 작동하는 것 같다하지 않습니다 -> 이벤트가 될 것으로 보인다되지 않습니다 당신의 도움에 대한
public ref class Form : public System::Windows::Forms::Form { public: Form(void) { InitializeComponent(); } public: void InitializeComponent(void) { SetStyle(ControlStyles::SupportsTransparentBackColor, true); this->TransparencyKey = System::Drawing::Color::Fuchsia; this->BackColor = System::Drawing::Color::Fuchsia; // or ... this->BackColor = System::Drawing::Color::Transparent; } protected: virtual void OnPaint(PaintEventArgs e)override {} protected: virtual void OnPaintBackground(PaintEventArgs e)override {} }
감사 :
일러스트 코드 ...라고. Cyrbil
편집 : 먼저 재정을 위해, 그것의, 해결
문제 :
protected: virtual void OnPaint(PaintEventArgs^ e)override {}
protected: virtual void OnPaintBackground(PaintEventArgs^ e)override {}
난 그냥^잊어. 그렇다면 왜 그런지 모르겠지만 새 프로젝트를 시작하고 다른 방법을 시도해 보면 잘 작동합니다. 그래서 지금부터 나는이 새로운 프로젝트와 모든 것을 잘 사용한다. 나는 Visual C++에 임의의 문제가있는 것 같아요.
* InitializeComponent()를 편집하지 * 마십시오. 디자이너가 자동 생성합니다. 디자이너가 코드를 다시 생성하면 거기에 쓰는 내용이 무작위로 사라집니다. ** InitializeComponent() 호출 후 코드를 생성자로 이동합니다. –