82863 1







Strona: [  >  ]  z  1     









Autor
Temat: Okno półprzeźroczyste











anonim


Typ:
Nie zarejestrowany



Okno półprzeźroczyste
Jak zrobć aby okno i kontrolki w nim się znajdujące były półprzeźroczyste i jak można sterować stopniem przeźroczystości okna. Widziałem coś takiego i bardzo mi się spodobało i chciałbym to wykorzystać w swoich programach.Z góry dziękuję za pomoc.





29-08-2004 16:23


  













hicks
raptor user

Typ:
moderator
Postów: 279
Zarejestrowany: Apr 2003





Wkelj to w kodzie formy i uruchom program (poczym go wyłącz)Const LWA_COLORKEY = &H1Const LWA_ALPHA = &H2Const GWL_EXSTYLE = (-20)Const WS_EX_LAYERED = &H80000Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As LongPrivate Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As LongPrivate Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As LongDim Ret As LongPrivate Sub Form_Load()    Ret = GetWindowLong(Me.hwnd, GWL_EXSTYLE)    Ret = Ret Or WS_EX_LAYERED    SetWindowLong Me.hwnd, GWL_EXSTYLE, Ret    Me.Show    SetLayeredWindowAttributes Me.hwnd, 0, 0, LWA_ALPHA    For petla = 1 To 255        SetLayeredWindowAttributes Me.hwnd, 0, petla, LWA_ALPHA        DoEvents    Next petlaEnd SubPrivate Sub Form_Unload(Cancel As Integer)    For petla = 254 To 0 Step -1        SetLayeredWindowAttributes Me.hwnd, 0, petla, LWA_ALPHA        DoEvents    Next petlaEnd Sub
[Post edytowany dnia 30-08-2004 11:20 przez hicks]_____________________________________________TLHW Clan member




30-08-2004 11:18



 
        

2511367













koala


Typ:
neutral
Postów: 9
Zarejestrowany: Nov 2003





A czy da się zrobić aby tylko okno było półprzeźroczyste a kontrolki nie?





30-08-2004 13:09



 
      

1333014













Chudy
[TLHW]Wiktor

Typ:
moderator
Postów: 574
Zarejestrowany: Aug 2002





Jak przypuszczam, kod napisany przez Hicksa zadziała tylko pod WinXP. Tak więc można napisać ręcznie funkcje która będzie zmieniała formę na przeźroczystą. W VB nie będzie może za szybka ale będzie można zrobić aby kontrolki nie były przeźroczyste. Można to zrobić w taki sposób aby ze zrzutu ekranu pobierany był tylko region formy i żeby program zmieszał odpowiednio kolory. Takie coś widziałem na PSC.
_____________________________________________Projekt "Thunder Cannons" nadchodzi...




02-09-2004 13:49



 
        

1220895













koala


Typ:
neutral
Postów: 9
Zarejestrowany: Nov 2003





Kod działa pod każdym sytemem ale nie w tym rzecz. Widziałem kiedyś taki progrm, coś w rodzaju kalendarz który miał okno przeźdoczyste natomiast pola symbolizujące dzień miesiąca nie były przeźroczyste, przeciwnie niż robi to  powyższy przykład





03-09-2004 13:26



 
      

1333014













andrey
Łódź

Typ:
neutral
Postów: 295
Zarejestrowany: Mar 2003





Witam,Drogi koalo kod hicksa nie działa pod każdym systemem. Używam Windows 98 SE i niestety funkcja API SetLayerdWindowAttributes nieznajduje sie w bibliotece user32.dll dostarczonej z tym systemem. Gdybyś spróbował uzyć powyższego kodu na systemach Win 95, 95 OSR 2, 98, 98 SE, Me edytor Vb podczas uruchamiania projektu wybił by błąd iż nie może odnaleźć wspomnianej funkcji w bibliotece user32.dll. Co do przezroczystości jak chcesz mogę ci podesłać sampel który działa na podobnej zasadzie którą opisał Chudy. Daj znać a sampel zostanie ci wysłany na mail.PozdrawiamAndrzej
_____________________________________________A Methodical Approach to Error Handling: On Error GoTo Hell




11-09-2004 00:16



 
        

3078613













koala


Typ:
neutral
Postów: 9
Zarejestrowany: Nov 2003





Faktycznie pod 9x i NT nie działa, nie wiem dlaczego tak napisałem, coś musiałem pokręcić. Jak byś mógł przesłać mi ten przykład to byłbym wdzięczny, bo chcialbym zakończyć pracę nad moim prgramem.





14-09-2004 09:33



 
      

1333014













andrey
Łódź

Typ:
neutral
Postów: 295
Zarejestrowany: Mar 2003





Witam,Przepraszam koala że tak długo zwlekałem z odpowiedzią na twoje pytanie ale byłem bardzo zapracowany (nadal jestem) i nie miałem jak kiedy spakować odpowiedniego sampla ale podaje ci link do zagranicznego forum VB na którym poruszyłem podobny temat http://www.maxvb.com/viewtopic.php?t=851Postaram sie jak najszybciej spakować ci inne sample i wysłać na email z którego do mnie napisałeśPozdrawiamAndrzej
_____________________________________________A Methodical Approach to Error Handling: On Error GoTo Hell




14-09-2004 23:20



 
        

3078613













Viper87


Typ:
neutral
Postów: 490
Zarejestrowany: Oct 2002





Ja dysponuję przykładem działającym pod wszystkimi Winami i nie mającym półprzeźroczystych kontrolek. Wysyłam na maila.
_____________________________________________Viper "Savoir c`est prevoir, prevoir c`est prevenir".  (Wiedzieć to przewidzieć, przewidzieć to zapobiegać) 




05-10-2004 21:47



 
    












Wszystkich odpowiedzi: 8 :: Maxymalnie na stronę: 20










Strona: [  >  ]  z  1     









Wyszukiwarka