Reklamlar
Resmi Kaydırmak

Resmi Kaydırmak » İlk program örneğimiz bir okuyucumuzun sorusu üzerine düşünüldü. Bu okuyucumuz büyük bir resmi kaydırma çubukları yardımıyla form üzerinde görmek

Gönderen Konu: Resmi Kaydırmak  (Okunma sayısı 2701 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı administrator

  • Administrator
  • General
  • *****
  • İleti: 24517
  • Karma: +3/-1
    • Profili Görüntüle
    • Toplist Ekle Site Ekle

Resmi Kaydırmak
« : Nisan 30, 2009, 06:27:34 ÖÖ »
İlk program örneğimiz bir okuyucumuzun sorusu üzerine düşünüldü. Bu okuyucumuz büyük bir resmi kaydırma çubukları yardımıyla form üzerinde görmek istiyor ve bunu başaramadığından yakınıyordu. İşte sorunun çözümü:

Bir form yaratın ve 1. resimde olduğu gibi kontrolleri üzerine yerleştirin. Dikkat etmeniz gereken konu, içinde resim bulunan resim kutusunun arkasında bir resim kutusu daha olduğudur. Yani formun üzerine büyükçe bir resim kutusu çizdikten sonra bunun içine ikinci bir resim kutusu çizip buna sabit diskinizdeki bir resmi koymalısınız. (Resmi programın çalıştırma aşamasında da yükletebilirsiniz). İşte kodlar...

Sub Form_Load()

 
 
Const PIXEL = 3
Const NONE = 0
Form1.ScaleMode = PIXEL:  Picture1.ScaleMode = PIXEL
 
' İkinci resim kutusu yüklenen resmin büyüklüğünü alıyor.
   Picture2.AutoSize = True
 
' Çerçevelerden kurtulalım...
   Picture1.BorderStyle = NONE
   Picture2.BorderStyle = NONE
 
' İki resim kutusunu da resmi göstermek için hazırla
  Picture1.Move 0, 0, ScaleWidth - VScroll1.Width, ScaleHeight - HScroll1.Height
  Picture2.Move 0, 0
 
   ' Yatay kaydırma çubuğunu ayarla
   HScroll1.Top = Picture1.Height : HScroll1.Left = 0
   HScroll1.Width = Picture1.Width
 
   ' Dikey kaydırma çubuğunu ayarla
   VScroll1.Top = 0 : VScroll1.Left = Picture1.Width
   VScroll1.Height = Picture1.Height
 
   ' Kaydırma çubuklarını resmin büyüklüğüne göre ayarla
   HScroll1.Max = Picture2.Width - Picture1.Width
   VScroll1.Max = Picture2.Height - Picture1.Height
 
   ' Eğer içinde resim olan kutucuk büyük kutucuğun
   ' boyunu geçmiyorsa kaydırma çubuğuna gerek yok
   VScroll1.Visible = (Picture1.Height < Picture2.Height)
   HScroll1.Visible = (Picture1.Width < Picture2.Width)
End Sub
 
Sub Form_Resize()
   ' Form’un büyüklüğü değiştiğinde resmin de
   ' büyüklüğünü forma göre ayarla
   Picture1.Height = Form1.Height
   Picture1.Width = Form1.Width
 
  ' Kaydırma çubuklarını ve resmi tekrar ayarla
   Picture1.Move 0, 0, ScaleWidth - VScroll1.Width, ScaleHeight - HScroll1.Height
   Picture2.Move 0, 0 : HScroll1.Top = Picture1.Height
   HScroll1.Left = 0 : HScroll1.Width = Picture1.Width
   VScroll1.Top = 0 : VScroll1.Left = Picture1.Width
   VScroll1.Height = Picture1.Height
   HScroll1.Max = Picture2.Width - Picture1.Width
   VScroll1.Max = Picture2.Height - Picture1.Height
   ' Kaydırma çubuklarına gerek var mı?
   VScroll1.Visible = (Picture1.Height < Picture2.Height)
   HScroll1.Visible = (Picture1.Width < Picture2.Width)
End Sub
Sub HScroll1_Change()
' ikinci resim eksi değer almaktadır çünkü kaydırma
' çubuğunu sağa kaydırdığınızda resim sola kaymalıdır



Not: Konular İnternet Sitelerinden derlenerek alıntı yapılmıştır.








BilX.Net

 

Related Topics

  Konu / Başlatan Yanıt Son İleti
1 Yanıt
2288 Gösterim
Son İleti Nisan 30, 2009, 02:26:15 ÖS
Gönderen: *Candy_Girl*