Transparenter Hintergrund bei Steuerelement
- cloidnerux
- Moderator
- Beiträge: 3125
- Registriert: Fr Sep 26, 2008 4:37 pm
- Wohnort: Ram (Gibts wirklich)
Transparenter Hintergrund bei Steuerelement
Ich habe 2 selbstgezeichnete Steuerelemente, die sich zum Teil überdecken.
Da die Steuerelemnte Polygone sind, will ich das in den Flächen, wo quasi nichts sein sollte, das überlappte Steuerlement angezeigt wird.
Also habe ich den Hintergrund Transparent gezeichnet, trotztdem wird der überdeckte Teil des zweiten Steuerelements abgeschnitten und der Hintergrund des übergeordneten Controls gezeichnet.
Wie schaffe ich es nun mit GDI+, den Überlappten Teil anzuzeigen, anstatt den Hintergrund des übergeordneten Controls.
Da die Steuerelemnte Polygone sind, will ich das in den Flächen, wo quasi nichts sein sollte, das überlappte Steuerlement angezeigt wird.
Also habe ich den Hintergrund Transparent gezeichnet, trotztdem wird der überdeckte Teil des zweiten Steuerelements abgeschnitten und der Hintergrund des übergeordneten Controls gezeichnet.
Wie schaffe ich es nun mit GDI+, den Überlappten Teil anzuzeigen, anstatt den Hintergrund des übergeordneten Controls.
Redundanz macht wiederholen unnötig.
quod erat expectandum
quod erat expectandum
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Transparenter Hintergrund bei Steuerelement
Reden wir von GDI+ oder von .NET Controls?cloidnerux hat geschrieben:Wie schaffe ich es nun mit GDI+, den Überlappten Teil anzuzeigen, anstatt den Hintergrund des übergeordneten Controls.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
- cloidnerux
- Moderator
- Beiträge: 3125
- Registriert: Fr Sep 26, 2008 4:37 pm
- Wohnort: Ram (Gibts wirklich)
Re: Transparenter Hintergrund bei Steuerelement
Reden wir von GDI+ oder von .NET Controls?
Code: Alles auswählen
class EigenesSteuerElement : Control
{
...
protected override void OnPaint(PaintEventArgs e)
{
e.Grafics.Fillrectangle(...);
}
}
Redundanz macht wiederholen unnötig.
quod erat expectandum
quod erat expectandum
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Transparenter Hintergrund bei Steuerelement
e.Graphics ist nicht GDI... wird vielleicht über GDI abgebildet, aber Du bleibst erstmal in .NET.cloidnerux hat geschrieben:Reden wir von GDI+ oder von .NET Controls?Es ist ein eigenes Steuerlelement, abgeleitet von Control, zeichnet sich aber mit GDI+ komplett selbst.Code: Alles auswählen
class EigenesSteuerElement : Control { ... protected override void OnPaint(PaintEventArgs e) { e.Grafics.Fillrectangle(...); } }
Wie hast Du den Hintergrund transparent gezeichnet?
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
- cloidnerux
- Moderator
- Beiträge: 3125
- Registriert: Fr Sep 26, 2008 4:37 pm
- Wohnort: Ram (Gibts wirklich)
Re: Transparenter Hintergrund bei Steuerelement
Wie hast Du den Hintergrund transparent gezeichnet?
Code: Alles auswählen
private void PaintTransparentBackground(Graphics graphics)
{
graphics.FillRectangle(Brushes.Transparent, this.ClientRectangle);
}
Ich rede von GDI+, die .NET Erweiterung von GDI.e.Graphics ist nicht GDI... wird vielleicht über GDI abgebildet, aber Du bleibst erstmal in .NET.
Redundanz macht wiederholen unnötig.
quod erat expectandum
quod erat expectandum
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Transparenter Hintergrund bei Steuerelement
Wie auch immer...cloidnerux hat geschrieben:Ich rede von GDI+, die .NET Erweiterung von GDI.
Schaumal zwei Threads weiter in C#....
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
- cloidnerux
- Moderator
- Beiträge: 3125
- Registriert: Fr Sep 26, 2008 4:37 pm
- Wohnort: Ram (Gibts wirklich)
Re: Transparenter Hintergrund bei Steuerelement
Selber effekt. Die Ränder sind Schwarz, das Überlappte Element wird nicht angezeigt.Schaumal zwei Threads weiter in C#....
Ich habe mal mein Projekt angehangen, dann kann man sich ein Bild davon machen.
Es geht konkret um die SimpleCadTabMenuItem.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Redundanz macht wiederholen unnötig.
quod erat expectandum
quod erat expectandum
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Transparenter Hintergrund bei Steuerelement
Ich habe kein C# hier, das kann ich mir frühstens am Donnerstag auf meinem Firmenrechner kurz anguckencloidnerux hat geschrieben:Selber effekt. Die Ränder sind Schwarz, das Überlappte Element wird nicht angezeigt.Schaumal zwei Threads weiter in C#....
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
- cloidnerux
- Moderator
- Beiträge: 3125
- Registriert: Fr Sep 26, 2008 4:37 pm
- Wohnort: Ram (Gibts wirklich)
Re: Transparenter Hintergrund bei Steuerelement
Ich habe den Fehler, bzw die Lösung gefunden:
JEDES Grafisches Steuerelement zeichnet seinen komplettn Hintergund neu, und der ist schließlich eine Box. Bei normalen Steuerelementan macht das nichts, da sind nur mal die Ecken etwas abgerundet, nicht das ganze Objekt. Um jetzt, alle Elemente richtig zu Zeichnenm müssen sie von einer Übergeordnten Verwalter aufgertufen werde, um dann gemeinsam OHNE Hintergrund gezeichnet werden, quasi als 1 Element.
JEDES Grafisches Steuerelement zeichnet seinen komplettn Hintergund neu, und der ist schließlich eine Box. Bei normalen Steuerelementan macht das nichts, da sind nur mal die Ecken etwas abgerundet, nicht das ganze Objekt. Um jetzt, alle Elemente richtig zu Zeichnenm müssen sie von einer Übergeordnten Verwalter aufgertufen werde, um dann gemeinsam OHNE Hintergrund gezeichnet werden, quasi als 1 Element.
Redundanz macht wiederholen unnötig.
quod erat expectandum
quod erat expectandum