İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Transparent Forms ?!

A

Anonymous

Misafir
Selam arkadaslar,

ben bir resim design edip formun backgroundu olarak o resmi koymak istiyorum, fakat formun geri kalani transparent olmasi gerek ki sanki resim formmus gibi gozuksun..

formu nasil transparent yapabilecegim hakkinda bilgisi olan varmi??
simdiden tesekkurler!
 
A

Anonymous

Misafir
Option Explicit
Public Declare Function BitBlt Lib "gdi32" (ByVal hDCDest As Long, _
ByVal XDest As Long, ByVal YDest As Long, _
ByVal nWidth As Long, ByVal nHeight As Long, _
ByVal hDCSrc As Long, ByVal XSrc As Long, _
ByVal YSrc As Long, ByVal dwRop As Long ) As Long

'alt çizgiler devam anlamında sanırım biliyorsundur

Public Const SRCCOPY = &HCC0020
Public Declare Function GetDesktopWindow Lib "user32" () As Long
Public Declare Function GetWindowDC Lib "user32" ( ByVal hwnd As Long ) As Long
Public Declare Function ReleaseDC Lib "user32" ( ByVal hwnd As Long, _
ByVal hdc As Long ) As Long
Dim hwnddesk As Long
Dim hdcdesk As Long

Public Sub makeTransparent(FormToBePainted As Form)
FormToBePainted.AutoRedraw = True
hwnddesk = GetDesktopWindow()
hdcdesk = GetWindowDC(hwnddesk)
Call BitBlt(FormToBePainted.hdc, 0, 0, FormToBePainted.Width / Screen.TwipsPerPixelX, _
FormToBePainted.Height / Screen.TwipsPerPixelY, hdcdesk, _
FormToBePainted.Left / Screen.TwipsPerPixelX, _
FormToBePainted.Top / Screen.TwipsPerPixelY, SRCCOPY)
Call ReleaseDC(hwnddesk, hdcdesk)
End Sub

Private Sub Form_Load()
MakeTransparent Me
End Sub


çalışır sanırım
kolay gelsin
 
A

Anonymous

Misafir
tesekkur ederim arkadasim ama bu kod vb.net'te calismadi.. bazi nesnelerin bazi attributes'lari farkli yada hic yok.. mesela

FormToBePainted.hdc
formtobepainted'in hdc diye bi nesnesi yok diyor, yukarda declare etmis olmana ragmen.. sanirim vb.Net deki degisikliklerden olacak. cikamadim icinden.. .net'e gore bi kod varmi??
 
A

Anonymous

Misafir
su andaki sistemim xp 'yi birde onun uzerine .net i
kaldıracak durumda değil yani .net hakkında hic bir
fikrim yok ve bir kac yıl daha da edinmeyi
dusunmuyorum

kolay gelsin
 
A

Anonymous

Misafir
yine de tesekkurler..

baska bana bu konuda yardim edebilecek arkadas??
 
A

Anonymous

Misafir
sorumun cevabini buldum arkadaslar yinede sagolun..

.net'de formun constructor kismina su kodu ekliyorsunuz, formun transparency key'ini "control" yapiyorsunuz, ve tabiiki adobe'da arkasi transparent olan bir resiim hazirlayip onu formun backgroundimage;i olarak koyuyorsunuz bu kadar basitmis

SetStyle(ControlStyles.SupportsTransparentBackColor, True)
BackColor = System.Drawing.Color.FromArgb(0, System.Drawing.Color.Transparent)
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst