Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Transparent

Postades av 2002-02-12 12:55:09 - André Claesson, i forum visual basic - allmänt, Tråden har 7 Kommentarer och lästs av 496 personer

Har ni tagit upp hur man gör transparenta Forms, här i forumet?

Det går ju med Win2000/WinXP.

/AC


Svara

Sv: Transparent

Postades av 2002-02-12 13:08:40 - Johan Djupmarker

Är du ute efter hur man gör? Kolla i sådana fall på http://www.allapi.net/apilist/example.php?example=AlphaBlend så kanske du kan lista ut hur det fungerar.

/Johan


Svara

Sv: Transparent

Postades av 2002-02-12 19:24:51 - André Claesson

Verkar inte funka.
Koden har ju bara med en massa bilder att göra, dessutom händer det inget med bilderna!

Hur får jag min FORM/MITT FÖNSTER/HELA PROGRAMMET att bli tranparent?


Svara

Sv: Transparent

Postades av 2002-02-12 20:13:24 - Björn Johansson

du får väl kolla på koncepet i koden...och göra om hela koden....

mvh

/bj


Svara

Sv: Transparent

Postades av 2002-02-12 21:11:08 - Johan Djupmarker

Ska se om jag kan sy ihop ett exempel som fungerar på hela formen... Men det krävs Win2000 eller XP (vet inte hur det är med ME).

/Johan


Svara

Sv: Transparent

Postades av 2002-02-12 21:27:41 - Johan Djupmarker

Om du sätter BorderStyle=0 så ska nog detta fungera:

<code>
Option Explicit
Const AC_SRC_OVER = &H0
Private Type BLENDFUNCTION
BlendOp As Byte
BlendFlags As Byte
SourceConstantAlpha As Byte
AlphaFormat As Byte
End Type
Private Declare Function AlphaBlend Lib "msimg32.dll" (ByVal hdc As Long, ByVal lInt As Long, ByVal lInt As Long, ByVal lInt As Long, ByVal lInt As Long, ByVal hdc As Long, ByVal lInt As Long, ByVal lInt As Long, ByVal lInt As Long, ByVal lInt As Long, ByVal BLENDFUNCT As Long) As Long
Private Declare Sub RtlMoveMemory Lib "kernel32.dll" (Destination As Any, Source As Any, ByVal Length As Long)
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long

Private Sub Form_Load()
'KPD-Team 2000
'URL: http://www.allapi.net/
'E-Mail: KPDTeam@Allapi.net
Dim BF As BLENDFUNCTION, lBF As Long, hdcScreen As Long
'Set the graphics mode to persistent
Me.AutoRedraw = True
'API uses pixels
Me.ScaleMode = vbPixels
'set the parameters
With BF
.BlendOp = AC_SRC_OVER
.BlendFlags = 0
.SourceConstantAlpha = 128
.AlphaFormat = 0
End With

hdcScreen = GetDC(0)

'copy the BLENDFUNCTION-structure to a Long
RtlMoveMemory lBF, BF, 4
'AlphaBlend the picture from Picture1 over the picture of Picture2
AlphaBlend Me.hdc, 0, 0, Me.ScaleWidth, Me.ScaleHeight, hdcScreen, Me.Left / Screen.TwipsPerPixelX, Me.Top / Screen.TwipsPerPixelY, Me.ScaleWidth, Me.ScaleHeight, lBF
Call ReleaseDC(0, hdcScreen)
End Sub
</code>

/Johan


Svara

Sv: Transparent

Postades av 2002-02-12 22:30:02 - André Claesson


Det finns ett färdigt api eller nåt till detta. Fenomenet kallas för "Layered Windows" och på MSDN har jag hittat kodexempel för C++ och VB.NET, men det skall fungera med VB6 oxå om man har Win2000/WinXP.


KOLLA DENNA:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwui/html/layerwin.asp
Bläddra ner en bit till bilden.

Man kan göra alla andra program som körs på datorn också transparenta. Inte bara programmets forms.

Eran version funkar ju inte om man flyttar på fönstret. Det går nog fixa. men det STORA problemet är att om man har en knapp (eller annan kontroll på formen), blir ju inte den genomskinlig!!!

/AC


Svara

Sv: Transparent

Postades av 2002-02-12 23:05:47 - André Claesson

OK, nu har jag lyckats med det själv:

<code>
Private Const WS_EX_LAYERED As Long = &H80000
Private Const LWA_ALPHA As Long = &H2

Private Declare Function SetLayeredWindowAttributes Lib "user32" _
(ByVal hWnd As Long, ByVal crKey As Long, _
ByVal bAlpha As Long, ByVal dwFlags As Long) As Long

Private Const GWL_EXSTYLE = (-20)

Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _
(ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _
(ByVal hWnd As Long, ByVal nIndex As Long) As Long

Private Sub Command1_Click()
'// Set WS_EX_LAYERED on this window
Call SetWindowLong(hWnd, GWL_EXSTYLE, GetWindowLong(hWnd, GWL_EXSTYLE) Or WS_EX_LAYERED)

'// Make this window 70% alpha
Call SetLayeredWindowAttributes(hWnd, 0, (255 * 70) / 100, LWA_ALPHA)
End Sub
</code>


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 638
27 953
271 710
8 605
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies