Tekil Mesaj gösterimi
Alt 08-01-2007, 06:26 PM   #1 (permalink)
CENGiZ1
CSI USLANMAM
 
CENGiZ1 - ait Kullanıcı Resmi (Avatar)
 
Üyelik Bilgileri
Üyelik tarihi: Jun 2007
Nerden: Loading....
Mesajlar: 1.575
Rep Bilgileri
Rep Puanı : 1326
Rep Derecesi : CENGiZ1 has much to be proud of CENGiZ1 has much to be proud of CENGiZ1 has much to be proud of CENGiZ1 has much to be proud of CENGiZ1 has much to be proud of CENGiZ1 has much to be proud of CENGiZ1 has much to be proud of CENGiZ1 has much to be proud of CENGiZ1 has much to be proud of CENGiZ1 has much to be proud of
Standart Visual Basic'te resim işleme, resim oluşturma ve çizim ile ilgili fonksiyonlar, metot

Resim kutusunun diğer kullanım yerleri
Resim kutusu sahip olduğu birkaç metottan dolayı farklı amaçlar için kullanılabilir. Resim kutusunu boyama yapabileceğimiz , resim çizebileceğimiz yada çıktı alabileceğimiz bir tuval olarak düşünebiliriz. Tek bir kontrol yazıları ve grafikleri görüntülemek için kullanılabilir. Hatta basit animasyonlar bile görüntülenebilir.
Print (çıktı) metodu yazıların çıktısını resim kutusunda sanki bir printer (yazıcı) imiş gibi göstermeye olanak sağlar. Print metodu sayesinde yazı çıkışındaki karakterleri kontrol etmek için birkaç font kullanılabilirdir; cls metoduda çıkışı silmek için kullanılabilir.
Circle , Line , Point and Pset metodları resim kutusu üzerinde grafikler çizmek için kullanılabilir. Drawwidth , Fillcolor ve Fillstyle gibi özelliklerde grafiklerin dış görünümünü istediğimiz şekilde ayarlamamıza olanak sağlar.
Animasyonda paintpicture metodunun kullanımı ve resimlerin resim kutusu içerisinde hareket etmesiyle ve hızlı bir şekilde farklı birkaç resim arasında geçiş olmasıyla oluşturulabilir.
Daha Fazla Bilgi için resim kutusunun üzerindeki ilave kontroller ve bilgiler için "Using Visual Basic's Standard Controls." e göz atabilirsiniz.
Visual Basic Genel kavramları
Resim Kutusu Kontrolünü kullanmak
Ayrıca bakınız
Resim kutusu kontrolü grafikleri görüntülemek , diğer kontroller için bir kap olarak kullanılmak , grafik metotlarında çıkışı görüntülemek ya da print metodunda yazıyı görüntülemek için kullanılır.
Resim 7.41 Resim Kutusu Kontrolü

Picture box kontrolü image kontrolüyle aynıdır. Her ikisi de uygulamanızdaki grafikleri görüntülemek için kullanılabilir. Her ikisi de aynı formatları destekler. Bununla beraber Picture box kontrolü image kontrolünde olmayan bazı fonksiyonlar içerir. Örneğin Picture box kontrolü diğer kontroller için kap olarak kullanılabilir ve grafik metotlarını destekler image kontrolünden fazla olarak.
Daha Fazla Bilgi için "Working with the Picture Box Control" "Formlar, Controller, ve Menuler" e bakınız
Desteklenen grafik formatları
Picture box Bitmap,cursor,icon,:-):-):-):-)file,enchanced :-):-):-):-)file , JPEG yada GIF dosyalarını görüntüleyebilir.
Daha fazla bilgi için Bu grafik formatlarının daha ayrıntılı tanımlamaları için daha önceki konuda geçen “Resim kontrolünün kullanımı”na bakınız.


Resim kutusu kontrolüne bir grafik yüklemek
Resimler Picture Box(Resim Kutusu) nun içine tasarım anında Picture özelliği, nin Kontrol özellik penceresinden seçilmesiyle ya da çalışma anında Picture özelliğinin ve resim yükle fonksiyonun kullanılmasıyla yüklenebilir.
Set Picture1.Picture = _
LoadPicture("c:\Windows\Winlogo.cur", vbLPLarge, vbLPColor)
Bir dizi görüntü aygıtlarını desdeklemek için farklı renk derinklerinde farklı ebatlarda farklı resimler içeren ikon(.ico) vecursor (.cur)dosyalarını görüntülemek isteyebilirsiniz. LoadPicture fonksiyonunun ayarları icon ve cursor dosyalarından istenilen ebatta ve renk derinliğinde resimler seçmenize olanak sağlar .İstenildiği şekilde bir uyuşma sağlanmadığı taktirde LoadPicture fonksiyonu en yakın uyuşma olan dosyayı yükler
Picture box kontrolünden grafiği temizlemek için Load Picture fonksiyonunu bir dosya adı kullanmdan kullanınız. Örneğin :
Set Picture1.Picture = LoadPicture
Bu Picture özelliğine tasarım anında bir resim yüklenmişse bilede bu resmi temizler.
Clipboardın kullanımı
Ayrıca Picture box a tasarım anında başka uygulamalardan kestiğimiz resimleri yapıştırarak da grafik
ekleyebiliriz. Örneğin paint te yapılmış bir Bitmap resmi ekemek isteyebilirsiniz. İlk önce resmi clipboarda
kopyalayın ,Picture box kontrolünü seçin klavyeden CTRL+V ya da edit menüsünden yapıştır komutunu
kullanınız.
Resmi boyutlandırma
Varsayılan sayesinde grafikler orijinal boyutlarında Picture boxa yüklenir yani eğer grafik kontrolden daha büyükse resim kesilecektir-picture box kontrolü kaydırma çubuklarını desteklemez.picture box kontrolünü otomatik olarak yeniden boyutlandırılması ve ve girilen grafiği göstermek için autosize özelliğini True olarak ayarlayın.Kontrol grafiği büyütecek yada küçültecektir ondan sonra.
İmage kontrolünden farklı olarak ,Picture box kontrolü ,resmin kontrole uyması için resmi büyütemez.
Daha fazla bilgi için "Scroll Bar kontrolleri Senaryosu: kayabilir grafik kontrolleri tasarlamak"
Daha fazla bilgi için Bu grafik formatlarının daha ayrıntılı tanımlamaları için daha önceki konuda geçen “Resim kontrolünün kullanımı”na bakınız.


Resim kutusu kontrolüne bir grafik yüklemek
Resimler Picture Box(Resim Kutusu) nun içine tasarım anında Picture özelliği, nin Kontrol özellik penceresinden seçilmesiyle ya da çalışma anında Picture özelliğinin ve resim yükle fonksiyonun kullanılmasıyla yüklenebilir.
Set Picture1.Picture = _
LoadPicture("c:\Windows\Winlogo. cur", vbLPLarge, vbLPColor)

Bir dizi görüntü aygıtlarını desdeklemek için farklı renk derinklerinde farklı ebatlarda farklı resimler içeren ikon(.ico) vecursor (.cur)dosyalarını görüntülemek isteyebilirsiniz. LoadPicture fonksiyonunun ayarları icon ve cursor dosyalarından istenilen ebatta ve renk derinliğinde resimler seçmenize olanak sağlar .İstenildiği şekilde bir uyuşma sağlanmadığı taktirde LoadPicture fonksiyonu en yakın uyuşma olan dosyayı yükler
Picture box kontrolünden grafiği temizlemek için Load Picture fonksiyonunu bir dosya adı kullanmdan kullanınız. Örneğin :
Set Picture1.Picture = LoadPicture
Bu Picture özelliğine tasarım anında bir resim yüklenmişse bilede bu resmi temizler.
Clipboardın kullanımı
Ayrıca Picture box a tasarım anında başka uygulamalardan kestiğimiz resimleri yapıştırarak da grafik
ekleyebiliriz. Örneğin paint te yapılmış bir Bitmap resmi ekemek isteyebilirsiniz. İlk önce resmi clipboarda
kopyalayın ,Picture box kontrolünü seçin klavyeden CTRL+V ya da edit menüsünden yapıştır komutunu
kullanınız.
Resmi boyutlandırma
Varsayılan sayesinde grafikler orijinal boyutlarında Picture boxa yüklenir yani eğer grafik kontrolden daha büyükse resim kesilecektir-picture box kontrolü kaydırma çubuklarını desteklemez.picture box kontrolünü otomatik olarak yeniden boyutlandırılması ve ve girilen grafiği göstermek için autosize özelliğini True olarak ayarlayın.Kontrol grafiği büyütecek yada küçültecektir ondan sonra.
İmage kontrolünden farklı olarak ,Picture box kontrolü ,resmin kontrole uyması için resmi büyütemez.
Daha fazla bilgi için "Scroll Bar kontrolleri Senaryosu: kayabilir grafik kontrolleri tasarlamak"

Picture box kontrolünün kap olarak kullanılması
picture box kontrolünü diğer kontroller için bir kap olarak kullanabilirsiniz. Örneğin ,picture box bir MDI formun iç bölgesinde yerleştirildikten sonra genellikle manual olarak araç çubuğu yada konum çubuğu tasarlamak için kullanılır.
Daha fazla bilgi için "araç çubuğu yaratmak" içinde "kullanıcı arayüzü yaratmak" konularına bakınız
Grafik yöntemleri
Resim kutuları formlar gibi daire gibi, satır ve nokta gibi grafik yöntemlerinin çıkışını almak için kullanılabilir. Örneğin Circle (daire) metodunu, kontrollerin autoredraw özelliğini true yaparak picture box içinde bir daire çizmek için kullanabilirsiniz.
Picture1.AutoRedraw = True
Picture1.Circle (1200, 1000), 750
Autoredraw ayarını true olarak ayarlamak başka bir obje tarafından gizlenen resimlerin tekrar boyutlandırıldığında ya da tekrar gösterildiğinde çizilmesine olanak sağlar
Daha fazla bilgi için “grafiklerle ve tektlerle çalışma” belgelerine bakınız
Yazdırma yöntemini kullanmak
Picture box kontrolünü print metodunu kullanarak ve autoredraw özelliğini true olarak ayarlayarak yazıların çıktısını alabilirsiniz. Örneğin:

Picture1.Print "A text string"
Print metodu kullanılınca ayrıca font stilini, boyutunu düzenleyebilirsiniz yada currentx, currenty, height,width özelliklerini picture box ın içindeki yazıyı hizalamak için kullanabilirsiniz.
Daha fazla bilgi için “yazı ve grafikle çalışmak” ve "yazma metodu" konularına bakınız
Lightweight Grafik kontrolleri
İmage, Shape ve line kontrolleri lightweight kontrolleri olarak hesaba katılır. Onlar sadece özelliklerin bir
subseti olarak desteklenir. Metodlar ve olaylar picture box kontrolünün içinde bulunur.
Image kontrollerinin picture boxlar yerine kullanımı
Image kontrolü aynı picture box kontrolü gibidir fakat sadece resimleri görüntülemek için kullanılır.Diğer kontroller için kap olarak davranamaz ve picture box ın gelişmiş özelliklerini desteklemez.
Resimler sanki picture box ın içindeymiş gibi image kontrolünün içine yüklenir: tasarım anında ,picture özelliğini bir resim yolu ya da oadını ayarlayabilirsiniz. Çalışma anında ise loadpicture fonksiyonunu kullanınız
Image kontrolünün picture boxtan farklı olan yanı boyutlandırma hareketidir. Picture box kontrolü autosize özelliğine sahip olduğu müddetçe germe özelliğide vardır.Autosize özelliğini true ya ayarlamak picture box ın resim boyutlarını tekrar boyutlandırmasına sebep olur; varsayılan olan false ayarlayınca ise resmin kırpılmasına neden olur. False olarak kurulması halinde ,image kontrolünün stretch(germe ) özelliği resmin boyutlarını tekrar boyutlandırır. Germe özelliği true ya ayarlanırsa image kontrolünün boyutuna ayarlanmasına neden olur resmin boyutlarının. Ve bu da resmin bazı kısımlarının gösterilmemesine neden olabilir.
Daha fazla bilgi için image kontrolü için ek bilgileri "Using Visual Basic's Standard Controls." Da bulabilirsiniz.
Kendi butonlarınızı oluşturmak için bir image kontrolünün kullanımı
İmage kontrolü ayrıca tıklama olayını fark edebilir, böylece her nerde bir command butonukullanmak isterseniz bu kontrolü kullanabilirsiniz. Bu bir başlık yerine bir resimle buton yaratmanın en uygun yoludur. Birkaç resmi ekranın yüksekliğinin tersine yatay olarak gruplamak -genellikle bir picture box ın içinde – uygulamalarınızda bir araç çubuğu yaratmanıza olanak sağlar.
Örnek olarak, test butonları örneği kullanıcıların bir image kontrolünü commanda kontrolünü seçiyormuş gibi seçmelerini gösterir. Form ilk görüntülendiğinde vb kütüphanesinde bulunan üç trafik ışığından birisi görüntülenir. Image kontrolü her tıklandığında farklı bir ikon görüntülenir.
Eğer tasarım anında forma göz atarsanız gerçektende üstünde istif edilmiş 3 tane ikon göreceksiniz. image kontrolünün başındaki resmin görünürlük özelliğini false olarak değiştirerek sonraki resmin başta gösterilmesini sağlayabilirsiniz
Resim 3.17 trafic ikonlarından birisi

İmage kontrolünün etrafında bir sınır yaratmak için, BorderStyle özelliğini 1-Fixed Single olarak ayarlayınız.
Not command butonlarından farklı olarak, image kontrolleri tıklandığında içeri doğru çekilmezler. Yani mousedown olayına değişik bir resim koymadığınız sürece tıklandığında basılmış hissi vermeyecektir.


Shape ve line kontrollerini kullanmak
Bir formun üzerinde grafiksel elemanlar çizmek için shape(şekil) ve line(çizgi) kontrolleri çok kullanışlıdırlar. bu kontroller olayları desteklemezler sırf dekoratif amaçlar içindirler.
Shape kontrolünün görünüşünü birkaç özellikle temin edebilirsiniz. Shape özelliğini ayarlamakla, dörtgen, daire, oval, çember, köşeli dörtgen, ya da köşeli kare şekillerini elde edebilirsiniz. Sınır rengi ve doldurma rengi özellikleri rengi değiştrecek şekilde ayralanabilir. Borderstyle, borderwidth, fillstyle ve drawmode özellikleri şeklin nasıl çizileceğini kontrol eder.
Line kontrolü shape kontrolüne benzer fakat sadece düz çizgiler çizmek için kullanılır.
Grafik kontrollerini kullanmak
Visual basic uygulamada grafik efektleri yaratmak için 3 kontrol sunar :
• image control
• line control
• shape control
Grafik Kontrolünün avantajları
Image, line ve shape kontrolleri tasarım anında grafik oluşturmak için çok kullanışlıdırlar. Diğer bir avantajıda diğer VB kontrollerine göre daha az sistem kaynağı kullanmasıdır ki böylece uygulamanız daha performanslı olur.
Grafik kontrollerinin diğer bir avantajı ise grafik metodlarından daha az bir kodla grafik oluşturabilirsiniz.
Örneğin circle ve shape metodlarından her birisini formun üzerine bir daire koymak için kullanabilirsiniz. Circle
Metodu çalışma anında kodla daire oluşturmayı gerektirir, basitçe formun üzerine shape kontrolü çizerek ve,
Tasarım anında uygun özellikleri ayarlayarak.
Grafik kontrollerinin sınırlamaları
Grafik kontrolleri minimum isteklerde maksimum performans için tasarlanırken, bunu diğer özellikleri kısıtlayarak başarırlar. Grafik kontrolleri:
• Diğer kontrollerin üzerinde beliremez
• Çalışma anında odaklanma yapılamaz.
• Diğer kontroller için kap olarak kullanılamaz
• Hwnd özellğine sahip değildir.
Daha fazla bilgi için "Using the Graphics Methods" ,l "Using the Image Control," "Using the Line Control," , "Using the Shape Control" , "Using Visual Basic's Standard Controls." , "Cutting Back on Graphics" , "Designing for Performance and Compatibility." e bakınız
Grafik metodlarını kullanmak
Grafik kontrolerine ek olarak, visual basic grafik oluşturmak için birkaç yöntem daha sağlar. Grafik metodları aşağıda listelenmiştir.
Method Description
Cls Bütün grfaikleri siler.
PSet Pixelin rengini ayarlar
Point Belirtilen noktanın rengini verir.
Line Dörtgen , çizgi ve içi dolu kutu çizer.
Circle Daire , açı ve elips çizer
PaintPicture Seçime bağlı konumlardaki grafikleri boyar.

Not print metodu ayrıca bir grafik metodu olarakta düşünülebilir çünkü tıpkı pset, line ve cirle metodları gibi
Çıkışı objeye yazılır ve hafızadaki resme kaydedilir.
Grafik metodunun avantajları
Grafik metodları çalışmak için grafik komutlarının çok gerekli olduğu yerlerde çok iyi çalışırlar. Örneğin ızgara çizgileri oluşturmak bir yığın çizgi kontrolü gerektirir bunu birkaç satır grafik komutuyla oluşturabiliriz. Formun değişik boyutlarında line kontrolünün pozisyonunu izlemek line metoduyla tkrar çizmekten daha çok iş gerektirir.
Bir formun üzerinde kısaca bir görsel efektin ortaya çıkmasını istediğimizde, bir diyalog görüntülenince çıkan renk çubuğu gibi, başka bir kontrol elemanı kullanmak yerine bu geçici efekt için bir çift kod yazabilirsiniz.
Grafik metodları, grafik kontrollerinde etkin olmayan bazı görsel efektler sunar. Örneğin grafik metodlarını kullanarak sadece bölünemez pixelleri boyayabilir ya da yaylar oluşturabilirsiniz. Grafik metodlarıyla oluşturduğunuz grafikler formun üstünde kendi katmanı içinde ortaya çıkar. Bu katman formun üzerindeki bütün kontrollerin aşağısındadır bu yüzden her şeyin arkasında bir grafik çizmek istediğinizde büyük kolaylık sağlar.
Daha fazla bilgi için "Layering Graphics with AutoRedraw and ClipControls" e bakınız
Grafik metodunun sınırlamaları
Grafik metodlarıyla grafikler oluşturmak kod sayfasında yer alır, yani grafik metodunun etkilerini görmek için
Uygulamanızı çalıştırmalısınız. Grafik metodları bu yüzden bir arayüzün dizaynında basit elementlerin
Oluşturulmasında grafik kontrolleri kadar iyi çalışmazlar
Tasarım anında grafik kontrollerinin dış görünümünü değiştirmek kodları grafik metodları için test etmek ve
modifiye etmekten daha kolaydır.
Daha fazla bilgi için "The MouseDown Event," "The MouseMove Event" "Using Button to Enhance Graphical Mouse Applications" "Responding to Mouse and aaaboard Events." Konularına bakınız
Resim objesini kullanmak
Resim objesi bazı yönleriyle printer objesine benzer. Bunu göremezsiniz fakat yinede kullanışlıdır. Picture boxı resimleri görüntülediğin görünmez bir sahne olarak düşünebilirsiniz. Örneğin aşağıdaki kod bir Bitmap resim yükler ve picture box kontrolünün picture özelliğini ayarlamak için kullanılır:
Private Sub Command1_Click()
Dim objPic As Picture
Set objPic = LoadPicture("Butterfly. gif")
Set Picture1.Picture = objPic
End Sub
Picture objesi bitmaps, GIF, JPEG i, :-):-):-):-)files, icon, Dosyalarını destekler
Resim objelerinin sıralarını kullanmak
Çoklu picture kutuları ya da image kontrolleri içeren formlar kullanmadan bir grafik serisini hafızada tutmak için Picture objesinin sıra, dizin özelliğini kullanabilirsiniz. Bu animasyon sırası oluşturmak ya da hızlı resim değişiminin gerekli olduğu yerlerde kullanmak için uygundur. Modül seviyesinde deklare edilen dizi :
Dim objPics(1) As Picture
Aşağıdaki kodu Form_Load olayına ekleyiniz:
' Load bitmaps int the Picture object array.
Set objPics(0) = LoadPicture("Butterfly1.gif")
Set objPics(1) = LoadPicture("Butterfly2.gif")
Sonrada time olayında resimleri değiştrebilirsiniz:
Static intCount As Integer
If intCount = 0 Then
intCount = 1
Else
intCount = 0
End If
' Use the PaintPicture method to display the bitmaps
' on the form.
PaintPicture objPics(intCount), 0, 0
X ve y koordinatlarına artma ilmikleri ekleyerek kolayca formda karşıdan karşıya uçan kelebek resimleri
Oluşturabilirsiniz
Windows APIsi yerine Picture Objesini kullanımı
Windows apilerinde bitmaplar, ikonlar, :-):-):-):-)filesler ile birçok şey yapılabilir fakat picture objesi bunların birçoğunu sizin için zaten yapar. Yani her nezaman mümkünse siz en iyisi picture nesnesini kullanın Windows API leri yerine. Ayrıca picture nesnesi Windows API lerin desteklemediği. jpg ve. gif leride kullanmanıza olanak sağlar.
Picture handle ve picture box arasında direkt bir ilişki yoktur. Resim kutusunun hDC özelliği, picture box kontrolünün aygıt içeriği ne işletim sistemi tarafından sağlanan bir kimliktir. Picture nesnesinin handle özelliği aslında GDI nesnesinin picture özelliğinide kapsayan özelliğidir.
Bir pencere üzerindeki resimleri boyamak için birbirinde tamamen farklı iki yol vardır. Bir nesnenin hDC si üzerinde bitblt ya da stretchblt yöntemlerini uygulayabilirsiniz. Eğer bir image kontrolünüz varsa sadece paintpicture yöntemini kullanabilirsiniz çünkü image kontrollerinin bir hDC si yoktur.
Daha fazla bilgi için "Accessing DLLs and the Windows API" ya bakınız
Yazı ve Grafikleri clipboard nesnesi ile transfer etmek
Clipboard nesnesinin özelliği ya da olayı yoktur fakat sahip olduğu birkaç metod sayesinde çevre elemanlarından dataları alıp klipboarda transfer etmeye olanak sağlar. Clipboard nesneleri 3 bölüme ayrılır. Gettext ve Settext metodları yazı transfer etmek için kullanılır. Getdata ve setdata meodlarıda grafik transfer etmek için kullanılır. Getformat ve Clear metodları ise her ikisiylede çalışır.
Clipboard hakkında daha fazla öğrenmek için aşağıdaki konulara bakınız:
• Kesme, kopyalama ve yapıştırma: GetText and SetText metodları hakkındadır
• Clipboard da çoklu tektlerle çalışma: tekst dışındaki formatlar hakkındadır
• Clipboarddaki veri fromatlarını kontrol etmek: GetFormat metodu ile klipboarddaki datanın silinmesi hakkındadır
Daha fazla bilgi için "OLE Drag and Drop" "Responding to Mouse and aaaboard Events." Konularına bakınız.
Clipboard da birçok formatla çalışmak
Aslında farklı formatlardaki her parçayı uzunluğu kadar clipboard üzerinde aynı zamnda yerleştirebilirsiniz dataların paçaları olarak. Bu kullanşlıdır çünkü hangi uygulamanın datayı yapıştırıyor olacağını bilemezsiniz, farklı formatlardaki veriyi desteklemesi diğer uygulamaların kullanabileceği bir formatta ortaya çıkarma şansını çoğaltır. Diğer clipboard metodları - GetData, SetData ve GetFormat — formatı belirlenmiş bir numaranın desteklendiği daha çok datalarla çalışmanıza olanak sağlar. Bu formatlar aşağıdaki tabloda ugun numaralarla tanımlanmıştır.
Sabit Tanımlama
vbCFLink Dinamik veri takas bağlantısı
vbCFText Text. Examples earlier in this chapter all use this format.
vbCFBitmap Bitmap.
vbCF:-):-):-):-)file :-):-):-):-)file.
vbCFDIB Device-independent bitmap.
vbCFPalette Renk paleti

Son 4 formatı picture boxtan kesilen ve yapıştırılan bilgiler için kullanabilirsiniz. Aşağıdaki kod genellikle standart kontrollerle çalışan kes, yapıştır ve kopyala komutlarının çalışmasına olanak sağlar.
Private Sub mnuCopy_Click ()
Clipboard. Clear
If TypeOf Screen. ActiveControl Is TextBox Then
Clipboard. SetText Screen. ActiveControl. SelText
ElseIf TypeOf Screen. ActiveControl Is ComboBox Then
Clipboard. SetText Screen. ActiveControl. Text
ElseIf TypeOf Screen. ActiveControl Is PictureBox _
Then
Clipboard. SetData Screen. ActiveControl. Picture
ElseIf TypeOf Screen. ActiveControl Is ListBox Then
Clipboard. SetText Screen. ActiveControl. Text
Else
' No action makes sense for the other controls.
End If
End Sub

Private Sub mnuCut_Click ()
' First do the same as a copy.
mnuCopy_Click
' Now clear :-):-):-):-):-):-):-)s of active control.
If TypeOf Screen. ActiveControl Is TextBox Then
Screen. ActiveControl. SelText = ""
ElseIf TypeOf Screen. ActiveControl Is ComboBox Then
Screen. ActiveControl. Text = ""
ElseIf TypeOf Screen. ActiveControl Is PictureBox _
Then
Screen. ActiveControl. Picture = LoadPicture()
ElseIf TypeOf Screen. ActiveControl Is ListBox Then
Screen. ActiveControl. RemoveItem Screen. ActiveControl. ListIndex
Else
' No action makes sense for the other controls.
End If
End Sub

Private Sub mnuPaste_Click ()
If TypeOf Screen. ActiveControl Is TextBox Then
Screen. ActiveControl. SelText = Clipboard. GetText()
ElseIf TypeOf Screen. ActiveControl Is ComboBox Then
Screen. ActiveControl. Text = Clipboard. GetText()
ElseIf TypeOf Screen. ActiveControl Is PictureBox _
Then
Screen. ActiveControl. Picture = _
Clipboard. GetData()
ElseIf TypeOf Screen. ActiveControl Is ListBox Then
Screen. ActiveControl. AddItem Clipboard. GetText()
Else
' No action makes sense for the other controls.
End If
End Sub
Boyama grafiklerin isteğe bağlı konumlarda kullanılması
Formun üzerindeki ya da picture box un üzerindeki grafikleri isteğe bağlı olarak boyayabilirsiniz. Ve paintpicture metodu ilede printere a gönderbilirsiniz. Paintpicture metodu için söz dizimi şöyledir:
[object.]PaintPicture pic, destX, destY[, destWidth[, destHeight[, srcX _
[, srcY[, srcWidth[, srcHeight[, Op]]]]]]]
Hedef nesnesi, pic resminin sunulduğu form, picture box ya da yazıcı nesnesidir. Eğer obje atlanırsa, aktif form varsayar. Pic argumenti formun ya da kontrolün picture özelliğinden olan i resim nesnesi olmalıdır.
Destx ve DestY argumentleri resmin sunulacağı objenin scalemodunda yatay ve diaaa olarak konumlandırılırlar. Destwidth ve destheight argumentleri resmin içinde sunulacağı hedef nesnesinin genişliğini ve yüksekliğini ayarlar.
SrcX ve srcY argumentleri opsiyoneldir ve resmin üst sol köşesinin kesilen kısmının x ve y koordinatlarını tanımlar.
Opsiyonel op argumenti raster operasyon tanımlar ( AND ve XOR gibi) ki bu sanki hedef nesnenin üzerinde ücra ediliyormuş gibi gözükür.
Paint picture metodu bir dörtgen grafik bloğunu bir pozisyondan diğerine taşırken geniş bir tür bit operasyonunu icra etmek için Bitblt Windows API sinin yerine kullanılır.
Örneğin, pintpicture metodunu kullanarak aynı bitmapin çoklu kopyalarını oluşturabilir ve onları form üzerinde döşeyebilirsiniz. Bu metodu kullanmak resim kontrollerini bir form üzerinde taşımaktan daha hızlıdır. Aşağıdaki kod bir rsim kontrolünün 100 tane kopyasını döşer ve her resmin destwidth için bir negatif kopyasını destekleyerek yatay olarak döndürür.
For i = 0 To 10
For j = 0 To 10
Form1.PaintPicture picF. Picture, j * _
picF. Width, i * picF. Height, _
picF. Width, -picF. Height
Next j, i
Daha fazla bilgi için "PaintPicture Method" belgesine başvurunuz
PaintPicture Metodu
Forma, picturebaxa yada printer a bir grafik dosyasının içeriğini çizer (.bmp, .wmf, .emf, .cur, .ico, or. dib)
Sözdizilimi
object. PaintPicture picture, x1, y1, width1, height1, x2, y2, width2, height2, opcode
PaintPicture metodunun sözdizilimi şu parçalardan oluşur:
Parça Tanımlama
Nesne Seçime bağlıdır
Resim Gereklidir. Grafik kaynağı nesnenin üzerine çizilecektir. Bir formun ya da picture box ın picture özelliği olmalıdır
x1, y1 Gereklidir. Tek doğrulu değerler nesnenin üzerinde çizilecek resmin hedef kordinatları nı gösterir.
Genişlik1 Seçime bağlıdır. Tek doğrulu değerler resmin hedef genişliğini gösterir
Yükseklik1 Seçime bağlıdır. Tek doğrulu değerler resmin hedef yüksekliğini gösterir
x2, y2 Seçime bağlıdır. Resmin içinde kesilecek olan yerlerin tek doğrulu koordinatlarını gösterir.
Genişlik2 Seçime bağlıdır. Resmin içinde kesilen bölgenin kaynak genişliğini tek doğrulu değerlerle gösterir.
Yükseklil2 Seçime bağlıdır. Resmin içinde kesilen bölgenin kaynak yüksekliğini tek doğrulu değerlerle gösterir.
Opcode Seçime bağlıdır. Sadece bitmapler ile kullanılan uzun bir değer ya da koddur. Opkodların kullanımında bazı sınırlamalar vardır. Mesela eğer kaynak resim icon ya da :-):-):-):-)file ise vbSrcCopy den başka bir opcode kullanamazsınız.

Görüşler
Hedef yükseklik (yükseklik1) ve veyada hedef genişlik( genişlik1) için negatif değerler kullanarak bir bitmapi yatay ya da diaaa olarak döndürebilirsiniz.
İstediğin kadar çok argümentin kuyruğunu yok sayabilirsiniz. Eğer bir argumenti ya da argumentleri yok sayarsanız en son belirttiğinizle arasına virgül koymamalısınız.
Şunuda bilin ki picturebox kontrolünü kullanrak bir bmp yüklemekle, Windows API function BitBlt() u kullanıp

Bir resmi eklemek arasında fark vardır. Bir resmi bitblt yaptığımızda picturebox kontrolü sanki loadpicture

Metodunu kullanıyormuşuz gibi resmi yeniden boyutlandıramaz. Ayrıca resmin boyutlarına ayarlamak için

scalewidth ve scaleheight metodlarıda çalışmaz. Eğer picturebox kontrolünün bitblt den sonra resmi yeniden

boyutlandırmasını istiyorsanız bunu elle kod yazarak yapmalısınız. Aşağıda buna bir örnek vardır:

Sub ResizePictureBoxToImage(pic as PictureBox, twipWd _
As Integer, twipHt as Integer)
' This code assumes that all units are in twips. If
' not, you must convert it to twips before calling
' this routine. This also assumes that the image
' was blt'ed to 0,0.
Dim BorderHt as Integer, BorderWd as Integer
BorderWd = Pic. Width - Pic. ScaleWidth
BorderHt = Pic. Height - Pic. ScaleHeight
pic. Move pic. Left, pic. Top, twipWd + BorderWd, _
twipHt + BorderHt
End Sub

__________________

Benim yaradılışımda bir fevkalâdelik varsa, o da Türk olarak dünyaya gelmemdir.
Mustafa Kemal Atatürk

Tarihini bilmeyenin coğrafyasını başkaları ÇİZER...

CENGiZ1 isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla