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

Ausgedruckt am: 21.11.2024 um 16:11 Uhr

Logan000
Logan000 12.01.2011 um 09:43:05 Uhr
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 12.01.2011 um 13:39:35 Uhr
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 12.01.2011 um 13:50:38 Uhr
Goto Top
Moin

Dann müstest du mit dem TransparencyKey arbeiten.

Was ist "trasparen"?
face-wink

Gruß L.
mathe172
mathe172 12.01.2011 um 14:01:57 Uhr
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 12.01.2011 um 15:12:18 Uhr
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 12.02.2011 um 18:48:50 Uhr
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