mathe172
Goto Top

Fenster komplett im Win7 Style bzw einfach durchscheinend mit nichttransparenten Controls

Hallo zusammen!

Ich arbeite im Moment an einem Programm,das mir ähnlich wie z.B. das Dock von Dell Shortcuts zur Verfügung stellen soll.
Jetzt wollte ich Fragen, ob es möglich ist, das ganze Fenster halbtransparent zu machen (so in der Art der Windows 7 Titelleisten), aber die Conrols darauf nicht.

Im Internet finde ich leider nichts passendes.

Bespielbild:
9fb187a5cfd085c8c07884b577eab8d5

Mathe172

Content-ID: 158413

Url: https://administrator.de/contentid/158413

Printed on: November 9, 2024 at 08:11 o'clock

Logan000
Logan000 Jan 12, 2011 at 08:43:05 (UTC)
Goto Top
Moin Moin

Verräts du uns auch, unter welcher Sprache du das jetzt genau machen möchtest?
Unter .Net gibts z.B.:
Me.Opacity = 0.5

Gruß L.
mathe172
mathe172 Jan 12, 2011 at 12:39:35 (UTC)
Goto Top
Hallo Logan!

Sorry habs vergessen ich benutze vb.net.
Den Befehl Me.Opacity kenn, aber der macht auch die Controls trasparent, und da will ich genau nicht.

Mathe172
Logan000
Logan000 Jan 12, 2011 at 12:50:38 (UTC)
Goto Top
Moin

Dann müstest du mit dem TransparencyKey arbeiten.

Was ist "trasparen"?
face-wink

Gruß L.
mathe172
mathe172 Jan 12, 2011 at 13:01:57 (UTC)
Goto Top
Hallo Logan!

Was ist "trasparen"?
...face-smile

Kann ich das auch so umstellen, dass die Form nur halbtransparent ist? Weil in dem Beispiel ist sie ja ganz unsichtbar...

Mathe172
Logan000
Logan000 Jan 12, 2011 at 14:12:18 (UTC)
Goto Top
Moin

Zitat von @mathe172:
Kann ich das auch so umstellen, dass die Form nur halbtransparent ist? Weil in dem Beispiel ist sie ja ganz unsichtbar...

Ich fürchte genau hier kann ich Dir nicht wirklich weiter helfen und für Dich beginnt hier der "kreative Teil" der Programmierertätigkeit.
Viel Erfolg

Gruß L.
mathe172
mathe172 Feb 12, 2011 at 17:48:50 (UTC)
Goto Top
Hallo zusammen,

an alle, die das mal lesen:
Ich habs geschaft, hier der Code:
Imports System.Runtime.InteropServices
¨    Public Declare Sub GlassStyle Lib "dwmapi" Alias "DwmExtendFrameIntoClientArea" (ByVal hWnd As System.IntPtr, ByRef pMargins As Margins)  
    Public Declare Sub CheckGlassStyle Lib "dwmapi" Alias "DwmIsCompositionEnabled" (ByRef IsIt As Boolean)  
    Private inset As Margins = New Margins
    Public Structure Margins
        Public Left As Integer
        Public Right As Integer
        Public Top As Integer
        Public Bottom As Integer
    End Structure

    Public Sub New()
        InitializeComponent()
        inset.Top = -1
        inset.Left = -1
        inset.Right = -1
        inset.Bottom = -1
        Dim isit As Boolean = False
        CheckGlassStyle(isit)
        If isit Then
            GlassStyle(Me.Handle, inset)
        Else
            MessageBox.Show("DWM isn't enabled")  
        End If
    End Sub

Mathe172