Program açılışı için asimetrik form ?

Başlatan EMG81, 09 Ocak 2011, 23:25:42

EMG81

Öncelikle herkese selam arkadaşlar.

Bu gün Visual studio 2010 u tıklayınca aklıma geldi. Solidworks, altium vs programların hepsi bu tarz açılıyor. Bundan sonra vb projelerime bende bu tarz açılış formları eklemek istiyorum. Bu konuda bana yardımcı alabilirmisiniz...

Tagli

Asimetrik açılış formu ne demek? Bir resimle göstermen mümkün mü?
Gökçe Tağlıoğlu

lojikmemo1


Yeni bir uygulama oluşturun

using System.Drawing.Drawing2D;  // eklemeyi unutmayın


form1(yada ismi ne ise) load olayına aşşağıdaki kodu yazın.


            GraphicsPath s = new GraphicsPath();
            s.AddEllipse(0, 0, this.Width, this.Height);

            Region a = new Region(s);
            this.Region = a;
İnsanlara Akılları Ölçüsünde Söz Söyleyiniz.

EMG81

C bilmiyorum Basic ile program yazıyorum...

Asimetrik form kare dikdörtgen değil, Kenarları 1-1.5 cm yuvarlanmış dikdörgen, kare nin bi kenarına sanki bi yarım daire eklenmiş gibi vs şeyler...

genelde resim şekline büründürüyorlar formu.

Burak B

"Using Shaped Windows in Visual Basic" diye google da bir arat.

Mesela bu aratma sonuçu çıkan bir link;
http://msdn.microsoft.com/en-us/library/aa289517%28v=vs.71%29.aspx
"... a healthy dose of paranoia leads to better systems." Jack Ganssle

EMG81

#5
Imports System.Drawing.Drawing2D


        Dim s As New GraphicsPath()
        s.AddEllipse(0, 0, Me.Width, Me.Height)

        Dim a As New Region(s)
        Me.Region = a


Translate ile çevirdim bu kod çıktı ve yaptım... Fakat ben daha çok oval, yanları oval vs gibi geometrik formlar yerine tabiricaize yamuk formlar elde etmek istiyorum. örneğin;
[IMG]http://img84.imageshack.us/img84/7861/adszlu.png[/img]

RcALTIN

#6
FormBorderStyle = BackGroundImageLayout = None
BackColor = TransparencyKey = Color.White
daha sonra forma arkaplan olarak png formatındaki ( o asitmeriyi oluşturan bölgeler transparan olacağı için png) form kaplamanızı atayın... Yalnız çerçeveler kalktığından artık sürükleme v.b işlemleri yapmak isterseniz ekstradan kodlar yazmanız gerekecek...
KİMSEYİ ENGELLEDİĞİM YOK, ÖZEL İLETİ DEVRE DIŞI !

Burak B

#7
Al seni isteğinin son noktasına götüreyim. :) Per Pixel Alpha Blending. ;)

http://www.codeproject.com/KB/GDI-plus/perpxalpha_sharp.aspx?msg=853306

http://www.codeproject.com/KB/dialog/SplashScreen.aspx

Gerisi sana kalmış PNG formatı alfa kanalınıda barındırır. Bu bilgiyi PPA için kullanınca ve PNG deki resmide üzerine koyunca o istediğin işlem oluyor.

Bunun Win API karşılığı UpdateLayeredWindow dur.
"... a healthy dose of paranoia leads to better systems." Jack Ganssle

EMG81

Evvet tam anlamıyla aradığım buydu. :D teşekkür ederim ama çok karmaşık gözüküyor.. İnş üstesinden gelebilirim. haa bu arada bu gün  çok uğraştım ve beceremedim. Vb6 daki gibi 2010 da Formu yazdıramıyormuyuz ? bu gün textbox label resim yazdırdım ama form u yazdırmayı başaramadım. 2008 e göre bi örnek buldum. oda 2010 a uymadı.  ???

EMG81

#9
Değerli yanıtın için çok teşekkür ederim Recep bey ama şu linkteki domates ve biberler gibi bi görüntü elde edemiyorum... Transparanlığa geçişte renk sorunları oluyor...

http://www.codeproject.com/KB/GDI-plus/perpxalpha_sharp.aspx?msg=853306

RcALTIN

Alıntı yapılan: EMG81 - 11 Ocak 2011, 00:46:01
Değerli yanıtın için çok teşekkür ederim Recep bey ama şu linkteki domates ve biberler gibi bi görüntü elde edemiyorum... Transparanlığa geçişte renk sorunları oluyor...

http://www.codeproject.com/KB/GDI-plus/perpxalpha_sharp.aspx?msg=853306

Alpha blending olayından anlamam ama saydam olsun diyorsan Formun Opacity değeriyle oynayabilirsin...
KİMSEYİ ENGELLEDİĞİM YOK, ÖZEL İLETİ DEVRE DIŞI !

EMG81

Sizin yönteminiz kısmen başarılı fakat şöyle bir sorun var.

[IMG]http://img714.imageshack.us/img714/543/forumoe.png[/img]



Bu çizgiyi sizin yazınızı okuduktan sonra hemen paint te çizdim.Png olarak kaydettim ve formun arka planına atadım.
Sonuç: Masaüstü arka planı siyah iken Bizim png resmimizin başlangıç noktalarında beyaz belirgeler var.!

RcALTIN

paint'in transparan özelliği yok diyebiliyorum, beyaz zemine çizdiğinizden png olarak kaydetsenizde öyle beyaz lekeler kalması normal gibi. fireworks veya photoshop ile transparan zemin üzerine çizim yapın ve png olarak kaydedin, mesela benim profil resmim o şekilde, indirip deneyebilirsiniz...
KİMSEYİ ENGELLEDİĞİM YOK, ÖZEL İLETİ DEVRE DIŞI !

EMG81

Forum daki profil resminizi sağtuş --> resmi farklı kaydet ---> png olarak kaydedip denedim. sonuç yine aynı...

Belkide benim sistemimden kaynaklı bir sorundur..

işletim sistemim ;
Win 7 home
masa üstü arka planı;
Benim resmim


yarın photoshop ile denemeler yapıcam.

Sizin böyle bir çalışmanız varsa incelememiz amaçlı resmini koyabilirmisiniz?


haa bu arada Form u Vb6 daki print etme konusunda halen hüsranlardayım ... !

ErsinErce