Windows Nasıl Çalışır? Pencereler (window), Hareketler (event) ve Mesajlar (message)



Benzer belgeler
UYGULAMALAR -2 Select case Yapısı: Select Case case case case case case is case Else End Select Örnek:

Uygulamalar 4 IsMissing Fonksiyonlar ve Alt Programlar Prosedür Parametreleri Public Function f(x,y,optional t, Optional k) End Function 1.

Uygulama 1) Aşağıdaki genel (global) değişken tanımlamalarını VB üzerinde yapınız. Süre 10 dak.

Yukardaki gibi sonsuz döngülü programlara Ctrl+Break tuş takımı ile müdahale edilmesi gerekir, aksi halde program sonsuz döngüye girer.

Form Nesnesi. Şekil 1. SDI Form. Şekil 2. MDI Form ve alt (Child) formlar

KONTROL YAPILARI (CONTROL STRUCTURES)

Her Select Case bloğu, mutlaka End Select ile bitmek zorundadır.

OÖ lçu mu Uygulaması

UYGULAMALAR. İkinci liste kutusu (List 2) Birinci liste Kutusu (List 1) Metin Kutusu

Genel Kullanılış 1: [değişken ismi] = [değişken ismi] [işlem] [sayı veya string ifade veya değişken]

Uygulama 1) Tur sayısını 1 den klavyeden girilen n e kadar ekrana yazarak birikimli (kümülatif) toplam alan kaynak kodları yazınız.

INPUTBOX KULLANIMI. Komut Düğmesine uygulanan algoritma örneği

Uygulama 1) Sabit olarak belirlenen sayıda tekrar eden (5 kez) Visual Basic kaynak kodlarını yazınız.

GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 9

'On Adet Tam Sayı Değer Alan Değ. Tanımlanıyor Dim x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, n As Integer Private Sub buton1_click() ' Şans Oyunları

HSancak Nesne Tabanlı Programlama I Ders Notları

ÜNİT E ÜNİTE KONTROL DEYİMLERİ KARAR YAPILARI. IF Deyimi GİRİŞ

SAB104 Bilgisayar Programlama

BİLGİSAYAR PROGRAMLAMA. Algoritma ve Akış Şemaları


-A Grubu- MKT103 Görsel Programlama 2015/2016 Güz Dönemi Final Sınavı

TBP101 (4. Hafta) Alıştırma Soruları ve Cevapları

5. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

Bu gün dersimizde değişik web kontrollerinin kullanımını gösteren birkaç web sitesi hazırlayacağız. Önce Visual Studio 2005 i açalım.

Algoritmalar ve Programlama. Algoritma

BLGM BÖLÜM. Problem Çözme Kavramları (Algoritma ve Akış Şemaları)

Uygulama1) Şart yapısının kullanımı CheckBox1 bileşeninin işaretlendiğinde ekranda Kutu işaretlendi mesajı veren kodları yazınız.

İÇİNDEKİLER 1. BÖLÜM: VISUAL BASIC E İLK ADIM

OPTION BUTTON ve ELSEIF UYGULAMALARI

INPUTBOX() ile Veri Girişi

Diziler İndisli Değişkenler

MT 373 Visual Basic Programlama Dersi

BMT 101 Algoritma ve Programlama I 3. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1

Programlama. Program, belli bir komut ve söz dizimi yapısına uygun olarak, sadece belirtilen işlemlerin yerine getirmesini belirten komut dizisidir.

ORACLE DA KÜRSÖRLER. Gerekli sistem değişkenleri

Algoritma ve Programlama: Karar Yapıları ve Döngüler

Window Script Host. Message Box Kullanımı. Pupup(Acilir)Message Kullanımı. Arslan ACAR

ÖDEV (Vize Dönemi) CEVAPLAR. 1. Ekrana Merhaba Dünya! yazdıran algoritmanın akış diyagramını çiziniz ve sözde kod olarak yazınız.

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

PROGRAMLAMA DİLLERİ I

BİL-142 Bilgisayar Programlama II

3. Aşağıdakilerden hangisi B5 hücresinin değerini getirir (Kopyalar)? a-) =B5 b-) B5 c-) =B(5) d-) =5B

Pascal Programlama Dili


Skecher (Çizim) Komutları

10 LU SAYISAL SİSTEMİ İLE 2 Lİ SAYISAL SİSTEMİ ARASINDA ÇEVİRİM UYGULAMASI

AÇILIŞ EKRANI. Açılış ekranı temelde üç pencereye ayrılır:

Görsel Programlama (Visual Programming) 2.Hafta

GÜMÜŞHANE ÜNĐVERSĐTESĐ MÜHENDĐSLĐK VE DOĞA BĐLĐMLERĐ FAKÜLTESĐ ELEKTRĐK-ELEKTRONĐK MÜHENDĐSLĐĞĐ EEM 114 ALGORĐTMA TASARIMI VE PROGRAMLAMA DĐLLERĐ

Pro/E. Sketch ( Taslak Çizim) Ortamı

Visual Studio 2010 veya 2013, Sharp Develop 3.2 programlarını kurabilirsiniz.

BÖLÜM 5 5. TABLO OLUŞTURMAK

C# Form Uygulamaları. Nesne Tabanlı Programlama I (C#) Ders Notu. S.Ü.Akören A.R.E. Meslek Yüksekokulu C.ÖZCAN- F.SARAY

DIV KAVRAMI <style> position: absolute

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod)

HSancak Nesne Tabanlı Programlama I Ders Notları

Visual Basic Uygulamaları-4. Dİ Zİ LER (ARRAYS) ve Nesne Kü meleri

Akış Kontrol Mekanizmaları

Response : Sunucunun istemciye veri yollamasını

Internet Programming I. Hafta III. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

TEMEL BİLGİSAYAR. Ders Notları. Yrd. Doç. Dr. Seyit Okan KARA

BİLGİ GİRİŞ VE MESAJ PENCERELERİ. 1-Sadece kullanıcıya mesaj vermek için kullanılır.

Döngüler ve Karar Yapıları

De iflken = InputBox Görüntülenecek Metin Bafllık. InputBox tan gelecek cevap, bir de iflkene aktarılmalıdır. End Sub B R SAYI TUT

SolidWorks Macro, SolidWorks API. Yusuf MANSUROĞLU Mühendislik Hizmetleri Müdür Yardımcısı

İŞLEM SAYISI BELLİ OLAN DÖNGÜLER

Açılan programın pencere görünümü aşağıdaki gibidir. 2. Araç Çubuğundan kaydet düğmesi ile

PROGRAMLAMAYA GĐRĐŞ I

VISUAL BASIC DE İŞLETİM SİSTEMİ DENETİM KOMUTLARI VE FONKSİYONLARI

How to ASP Language. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. 29 Eki. 1 Kas. 2013

BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI

DİZİLER. Bu ünitede yapılan örnekler Visual Studio 2010 programındaki Visual Basic programlama diliyle çözülmüştür.

Javascript Ders Örnekleri -2. Tarayıcı Görüntüsü

Timer İle arka plan renk değişimi

HSancak Nesne Tabanlı Programlama I Ders Notları

4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları

Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II. Değişken Tanımlama Ve Akış Kontrol Deyimleri

disp VEYA fprintf KOMUTLARIYLA EKRANA MESAJ YAZDIRMA

Görsel Programlama (Visual Programming) 2.Hafta

YZM 2105 Nesneye Yönelik Programlama

HESAP PLANI DEĞİŞİKLİĞİ

if (ad == "Sabri") Console.WriteLine("Merhaba Sabri. Ne zamandır gözükmüyodun...");

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 5. Bölüm Karar ve Çevrim Kontrol Yapıları

How to ASP Language. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. Hafta V

Android Ders Notları

CAEeda TM GENEL TANITIM. EDA Tasarım Analiz Mühendislik

AOSB 2017 EĞİTİM PROGRAMI

Şekil 2.1. Bu bölümde ASP.Net platformumuzu açtığımızda Toolbox penceresindeki Standart bölümündeki kontrollerden bahsedeceğiz.(şekil 2.2) Şekil 2.

EXCEL 2007 ELEKTRONİK ÇİZELGE

MAT214 BİLGİSAYAR PROGRAMLAMA II DERSİ Ders 12: Grafik Kullanıcı Arayüzü (Graphical User Interface-GUI)

Nesne Yönelimli Programlama

HSancak Nesne Tabanlı Programlama I Ders Notları

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Kod Kavramı Sub End Sub Olay (Event) Kavramı

Program Tercihleri. Bölüm 5 Tercihler

İnönü Üniversitesi Makine Mühendisliği Bölümü

6. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

1. LabVIEW ile Programlama

Transkript:

Windows Nasıl Çalışır? Pencereler (window), Hareketler (event) ve Mesajlar (message) Pencere, hareket ve mesaj, VB ile Windows uygulaması geliştirmek için bu üç temel anahtar kavramı bilmek yeterli olacaktır. Butonlar, simgeler, menü seçenekleri vb. gibi bütün Windows elemanların (istisnalar dışında tümü) birer pencere olmasıdır. Windows işletim sistemi bu pencereleri her birine verdiği tekil (unique) numaralar ile yönetir. -Sözü edilen numaralara window handle veya hwnd denilmektedir

HAREKETLER, kullanıcının faresine tıklaması ya da klavyeden herhangi bir tuşa basmasıyla, program içerisinden yapılan bir kontrol düzeneğiyle ya da başka bir pencerenin neden olacağı bir davranışı nedeniyle oluşmuş olabilir. Herhangi bir hareketin gerçekleştirilmesi, işletim sistemine bir mesaj gönderilmesine neden olur. Sistem mesajı işler ve diğer pencerelere yayımlar. Her pencere özelikle kendi yapısı ile ilgili (aynı zamanda uygun) mesajları yorumlayarak işler. Örneğin, başka bir pencere kendisi üzerinde yer alacaksa ilgili pencere kendi sınırlarını yeniden düzenler.

. Sistem çalışırken pencere, hareket ve mesajlarla ilgili bütün olasılıkları düşünmeye çalışın VB hareket bağımlı (event driven) bir programlama dilidir. Geleneksel ya da procedural uygulamalarda, uygulama kendisini belirli bir sıra ile kontrol etmekte ve işlemektedir. Bu tarzda uygulamalar ilk satırdan çalışmaya başlar ve belirli bir sırayla ilerler ve işlemler (procedure) gerekli oldukça çağırılarak çalıştırılır. Hareket-Bağımlı model uygulamalarda ise uygulama belirli doğrusal bir yol izleyerek çalıştırılmaz. Farklı hareketler için farklı işlemler çalıştırılır ve programın her çalıştırılmasıyla uygulama yeniden farklı farklı yollarla çalışmasını sürdürebilir.

Uygulamanızda, kaynak kodunuz tanımlanmış tetikleme hareketleriyle kontrol edilecek ve çalıştırılacaktır. Örneğin bir TextBox ın içeriğinin değişmesiyle birlikte Change olayı (event procedure) ü gerçekleşecek ve bu değişikliğe bağlı işlem(ler) sırasıyla çalışacaktır ( Text1_Change) Komut butonuna tıklanınca (Commandbutton_Click) Ekrana Merhaba VBasic yazan program; Private Sub Command1_Click () End Sub Print Merhaba VBasic

Özelik, Yöntem ve Hareket (Property, Method,Event) VB Form ve aletleri(kontrolleri); özellikleri, yöntemleri ve hareketleri olan nesnelerdir. Özellikler (Property) nesnenin ayırıcı nitelik ve nicelikleri, Yöntemler (Methods)eylem yetenekleri, Hareketler-(Olaylar) (Event) ise tepkileri olarak düşünülebilir.

Örneğin günlük yaşamdan bir nesne BALON seçelim. ve bu balonun özeliklerini, yöntemlerini ve hareketlerini tanımlamaya çalışalım Özellikleri ; genişliği, yüksekliği, hacmi ve rengi, durumu hakkındaki bilgiler (patlak veya patlamamış olması gibi) Yöntemleri ; Bir balon gerçekleştirebileceği bir takım doğal yöntemlere veya yetilere sahip olacaktır mesela bunlardan (şişirme veya söndürme) bizim seçtiğimiz balonun yöntemleridir. Yine de ayrıca bütün balonlar bu yöntemlere sahiptir. Hareketleri ; Bir balon bir takım durumlara karşılık tepki verirler. İğne batırılırsa yada hava şiştikten sonra hava verilmeye devam edilirse patlayacaktır. Patlama balonun hareketidir.

Eğer bir balon programı yapacak olsaydık yazacağımız VB kaynak kodumuz aşağıdaki gibi olacaktı; Balonun özeliklerini belirlemek için, Balon.Renk = Mavi Balon.Basinc = 5 Balon.Patlak = False

Balonun method ları için, Balon.Sis Balon.Son Balon.Buyu 5 5 birim kadar büyüsün burada 5 argüman olarak anılacaktır

Balonun olası hareketi için, Sub Balon_Patliyor() Balon.Son Balon.SesCikart paaatt Balon.Patlak = True Balon.Basinc = 1 End Sub

VB ile uygulama geliştirmek için dört temel adım vardır. Kullanıcı arayüzü oluşturmak. Özelikleri atamak. Kod yazmak. Test etmek. Private Sub Command1_Click() Text1.Text = Merhaba VB! End Sub Şimdi klavyeden F5 tuşuna basarak yada VB IDE deki run tuşuna basarak uygulamamızı çalıştırıp test edebiliriz. İyi testler

Bir Form Tasarlamak Form Özelikleri. Caption : Pencerenin başlığı. (window title) Icon : Pencerenin simgesi. MaxButton : Pencere büyütme tuşuna sahip mi sorusunun yanıtı. MinButton : Pencere küçültme tuşuna sahip mi sorusunun yanıtı. BorderStyle : Pencerenin tipi. Height : Pencerenin yüksekliği. Width : Pencerenin genişliği. Left : Pencere sol kenarı ile monitörün sol kenarı arasındaki uzaklık. Top : Pencere üst kenarı ile monitörün üst kenarı arasındaki uzaklık. WindowState : Pencere ilk göründüğünde durumu. (Küçük, büyük, normal) Name olacak isim. : Program kaynak kodunda penceremizi tanımamıza da yardımcı Formun Hareketleri Resize : Pencerenin çerçevesinin büyüklüğünün değişmesi ile birlikte çağrılan hareket işlemi (event procedure). Activate : Pencerenin aktif hale gelmesiyle çağrılan hareket işlemi. Deactivate : Pencerenin pasif hale gelmesiyle çağrılan hareket işlemi. Formun Yöntemleri Show : Pencerenin görünmesini sağlayan yöntem. Print : Pencere üzerine yazı bastırmamızı sağlayan yöntem. Line : Pencere üzerine çizgi çizmemizi sağlayan yöntem. Circle : Pencere üzerine çember çizmemizi sağlayan yöntem. Refresh : Pencerenin yeniden boyanmasını sağlayan yöntem.

VBasic de kullanılan veri türleri String Türü Değişkenler: Arasına + veya & sembolü konarak birbirlerine eklenebilirler. Private Sub Command1_Click() Dim x, y, z, c As String x = Niksar " y = Meslek«z = Yüksekokulu«c = x + y & z MsgBox c End Sub

InputBox Fonksiyonu Eğer değişik veri tiplerinde bilgi almak istiyorsak bu aldığımız string türündeki veriyi o veri tipine dönüştürmek zorundayız. Sayısal veri için : i=val(inputbox("yaşınızı giriniz...")) Tarih türü veri için : tarih=datevalue(inputbox("doğum yılınızı girin")) Örnek : Dim s_ad As String Dim l_maas As Long Dim d_dogum As Date s_ad=inputbox("adınızı girin...") l_maas=val(inputbox("adınızı girin...")) d_dogum=datevalue(inputbox("adınızı girin..."))

Girilen üç sayının ortalamasını alan program. ALGORİTMA : AKIŞ ŞEMASI PROGRAM KODU 1.Başla 2.Üç sayı gir (A,B,C) 3.Ortalamayı hesapla (ortalama=(a+b+c)/2) 4.Ortalamayı yaz 5.Dur BAŞLA A,B Ortalama=(a+b+c)/3 ortalama DUR Private Sub Command1_Click() Dim a As Integer Dim b As Integer Dim c As Integer ortalama=0 a = Val(InputBox("1.sayıyı giriniz")) b = Val(InputBox("2.sayıyı giriniz")) c = Val(InputBox( 3.sayıyı giriniz")) ortalama = (a + b + c) / 3 Print "ortalama", ortalama End Sub

Klavyeden girilen 10 adet sayının toplamını bulup ekrana yazdıran program. Akış Şeması Program Kodu BAŞLA Toplam=0 I=1,10,1 sayi Toplam=Toplam+Sayi I Toplam Private Sub Command1_Click() Dim sayi As Integer Dim toplam As Integer toplam=0 For i = 1 To 10 sayi = Val(InputBox("sayıyı giriniz")) toplam = toplam + sayi Next i MsgBox toplam End Sub DUR

FOR NEXT Döngüleri For... Next Belirli sayıda tekrarlanması gereken komutların tekrarlanmasını sağlayan komut bloğu. For Sayaç = İlkdeğer To Sondeğer Step ArtışAralığı... Sayaç sondeğeri alana kadar... tekrarlanacak işlemler Exit For Tercihli çıkış Next Sayaç -- Tekrar sayısı belli olan işlemlerde kullanılır

ÖRNEK: 1 den 50 a kadar olan çift sayıların toplamını hesaplayan program Private Sub Command1_Click() Dim n As Integer Dim toplam As Integer toplam = 0 For i = 0 To 50 Step 2 toplam = toplam + i Print toplam, i Next i MsgBox toplam,, "toplam" End Sub

Dört işlem yapan bir hesap makinesi programı Private Sub Command1_Click() Label1 = "+" Label2 = Val(Text1) + (Text2) End Sub Private Sub Command2_Click() Label1 = "-" Label2 = Val(Text1) - (Text2) End Sub Private Sub Command3_Click() Label1 = "*" Label2 = Val(Text1) * (Text2) End Sub Private Sub Command4_Click() Label1 = "/" Label2 = Val(Text1) / (Text2) End Sub Private Sub Form_Load() Command1.Caption = "+" Command2.Caption = "-" Command3.Caption = "*" Command4.Caption = "/" End Sub

Şarta bağlı işlemler (IF Then.. Else Yapısı ) -- Girilen not değeri 50 den büyükse ekrana Geçti değilse kaldı yazan program. Private Sub Command1_Click() Dim not1 As Integer not1 = Val(InputBox("Notu giriniz")) If not1 >= 50 Then Print "Geçti" Else Print "Kaldı" End Sub if Then yapısı tek satıra sığmıyorsa İf koşul then işlemler End if Şeklinde kullanılır Private Sub Command1_Click() Dim not1 As Integer not1 = Val(InputBox("Notu giriniz")) If not1 >= 50 Then Print "Geçti" End If If not1 < 50 Then Print "Kaldı" End If End Sub

IIF() Fonksiyonu Yapısı: IIF(Koşul,birinci ifade,ikinci ifade) Bir bakıma, IF deyiminin kısıtlı bir şeklidir. Yalnızca iki olasılığın söz konusu olduğu durumlarda IF deyimi yerine IIF fonksiyonu kullanılabilir. Private Sub Command1_Click() Dim ortalama as integer Sonuc as string ortalama=val(inputbox( not ortalamasını giriniz )) sonuc = IIf(ortalama >= 50, "Geçer Not", "Zayıf Not") MsgBox sonuc End Sub

ÖRNEK: Girilen yaş değerine göre kişinin durumunu bulan programı yazınız. Algoritma 1.Başla 2.Değeri al 3.Eğer 0<=yas <= 5 ise Bebek 4.Eğer 5<=yas <= 14 ise Çocuk 5.Eğer 15<=yas <=28 ise Genç 6.Eğer 29<=yas <=39 ise Orta yaş 7.Eğer 40>=yas ise İhtiyar 8.Dur Program Kodu Private Sub Command1_Click() Dim yas As Integer yas = Val(InputBox("Yaşı giriniz")) If yas <= 5 Then MsgBox "Bebek" If yas > 5 And yas <= 14 Then MsgBox "Çocuk" If yas > 15 And yas <= 30 Then MsgBox "Genç" If yas > 30 And yas <= 45 Then MsgBox "Olgun" If yas >= 46 Then MsgBox "İhtiyar" End Sub

Select Case YAPISI Select Case... End Select Değişkenin belirli değerlerine göre yapılacak farklı işlemlerin seçiminde kullanılır. Select Case değişken Case id1 Değişkenin id1 değeri aldığı durumlarda yapılacak işlemler Case id2 Değişkenin id2 değeri aldığı durumlarda yapılacak işlemler case id3 to id9 id3 ve id9 aralığındaki tüm değerler için yapılacak işlemler Case Else Değişkenin id1- id2 - id3 - id4 - id5 - id6 - id7 - id8 - id9 değeri almadığı durumlarda yapılacak işlemler End Select Not: koşul sayısının 5 den fazla olduğu durumlarda bu yapıyı tercih etmek daha iyi olur.

Aynı programı Select Case yapısı ile yapmak Private Sub Command2_Click() Cls Print "YAŞ DEĞERİNİ NEGATİF GİRMEYİNİZ! " yas = Val(InputBox("YAŞ DEĞERİNİ GİRİNİZ=")) Select Case yas Case 0 To 5: MsgBox "BEBEK" Case 6 To 14: MsgBox "ÇOCUK" Case 15 To 29: MsgBox "GENÇ" Case 30 To 45: MsgBox "ORTA YAŞLI" Case Else MsgBox "İHTİYAR" End Select End Sub

Do. Loop Döngüleri Şart gerçekleştiği sürece veya tam tersi (şarta bağlı ) işlemlerin tekrarlandığı döngü Belirli bir koşul gerçekleştiğinde yapılacak işlemlerde kullanılır.

Yapı-1: Bir blok deyimi verilen koşul doğru (True) yada yanlış (False) olduğu sürece işletir. Do [{While Until} koşul] [ifade bloğu] [Exit Do] [ifade bloğu] Loop A=1 Do While A<5 Loop a=a+2 Print a A=1 Do Until A>5 Loop a=a+2 Print a Do While / Loop H KOŞUL E Do Until / Loop KOŞUL E H İŞLEMLER İŞLEMLER Ekrana 5 yazar Ekrana 7 yazar

Yapı-2: Bir blok deyim verilen koşul sağlanıncaya kadar işletilir. Do [ifade bloğu] [Exit Do] [ifade bloğu] Loop [{While Until} koşul] Do / Loop While İŞLEMLER E KOŞUL H Do / Loop Until İŞLEMLER H KOŞUL E Private Sub Command2_Click() Dim no as integer Cls no = 1 Do Print no; no = no+ 1 Loop While no <> 11 End Sub End Sub Ekrana yanyana 1 2 3 4 5 6 7 8 9 10 yazar Private Sub Command2_Click() Dim no as integer Cls no = 1 Do Print no; no = no + 1 Loop Until no = 11

İç içe Döngüler

Örn: Çarpım Tablosu Private Sub Command1_Click() Dim j As Integer, k As Integer Picture1.Cls For j = 1 To 10 For k = 1 To 10 Picture1.Print k; "x"; j; "="; j * k, Next k Picture1.Print Next j End Sub

Visual Basic de Çizim Visual Basic de çizim yapabilmek için Line, Circle, Pset yöntemlerini kullanırız. Bu yöntemler Form ve Printer için kullanılabilir. Form üzerine çizim yapılırken formun AutoRedraw özelliğini True yapmalıyız. Visual Basic de çizim yaparken kordinat sistemini anlamalıyız. Çizim yaparken X ve Y koordinatlarını kullanırız. Y koordinatının yukarıdan aşağı inerken artar ve başlangıç değeri 0 dır. X koordinatı ise soldan sağa giderken artar ve başlangıç değeri 0 dır. Formun sol üst köşesi koordinatları 0,0 dır. Form üzerinde çizim yapılacak alan formun iç kısımlarıdır. Width ve Height özellikleri ise formun çerçeveler ve başlık çubuğu dahil olmak üzere genişlik ve yüksekliğini verir. Formun iç yükseklik ve genişliğini ise ScaleWidth ve ScaleHeight özelliklerini kullanarak öğrenebiliriz. DrawWidth; Çizgi kalınlığını belirler.

Line Yönetimi Line (X1,Y1) - (X2,Y2), renk;line yöntemi form üzerine çizgi çizmek için kullanılır. X1 ve Y1 başlangıç, X2 ve Y2 bitiş noktasını belirler. Renk paramtresi seçimlidir. Eğer istenirse ForeColor özelliğine değer atayarakda renkli çizimler yapılabilir. Private Sub Form_Load() DrawWidth = 5 For i = 0 To Form1.ScaleHeight Step Form1.ScaleHeight / 10 Line (0, i)-(form1.scalewidth, i), vbred Next End Sub

Circle Yönetimi Circle (MX,MY), R, renk; Circle yöntemi merkezi MX ve MY olan çemberi R yarıçapında verilen renkte çizer. FillStyle özelliği 0 yapıldıktan sonra ve FillColor özelliğini kullanılarak içleri renklendirilebilir. Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) For i = 1 To 5 Circle (X, Y), i * 100, vbred Next End Sub Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) FillStyle = o FillColor = Rnd * 16777216 Circle (X, Y), 500 End Sub

Pset Yönetimi Pset(X,Y), renk; Pset yöntemi X ve Y olarak verilen koordinatlara bir nokta koyar. Private Sub Form_Load() Dim x, y, i, r r = ScaleHeight / 2 While r > 0 i = (i + 1) Mod 360 r = r - 1 'Yarıçağı sürekli azalt y = ScaleHeight / 2 + r * Sin(i * 3.1415 / 180) x = ScaleWidth / 2 + r * Cos(i * 3.1415 / 180) PSet (x, y) Wend End Sub

Merkezi (7, 6) ve yarıçapı 3 olan çember çizen program Private Sub cmddraw_click() picture1.cls picture1.scale (-2, 12)-(12, -2) 'Özel koordinat sistemi picture1.line (-2, 0)-(12, 0) Çiz x-eksenini picture1.line (0, -2)-(0, 12) Çiz y-eksenini picture1.pset (7, 6) Çiz Nokta picture1.circle (7, 6), 3 Çiz çember End Sub

Popup Menüler Windows ta sağ düğmeye bastığımızda çıkan menülere popup menüler adını veririz. Visual Basic de hazırladığımız projelerde de popup menüler oluşturabiliriz. Popup menü tasarımı normal menü tasarımı gibi gerçekleşir. Sadece bu menünün visible özelliğine false değeri verilir ve açılması istenilen yerde PopupMenu yöntemi kullanılır. PopupMenu MenüAdı,Flags, X, Y, Bold

Popup Menüler MenüAdı; Menü Editörde tasarlanan menünün adı Flags; X parametresinin nasıl kullanılacağını ve açılan menüde farenin hangi tuşunun click olayını gerçekleştireceğini belirler. Flags parametresi aşağıdaki gibi kullanılır; Flags=KoorX + Fare KoorX aşağıdaki değerleri alır 0: Menü X kordinatının solunda yer alır 4: Menü X kordinatını ortalayacak 8: Menü X kordinatının sağında yer alır Fare aşağıdaki değerleri alır 0: Sol fare tuşu ile menüden eleman seçilebilecek 2: Sağ fare tuşu ile menüden eleman seçilebilecek

Bir Forma Menü Eklemek Bir forma menü eklemek için Tools-Menü Editor komutunu veririz. Bu komut verildikten sonra karşımıza yandaki gibi Menü Editor penceresi gelir. Oluşturmak istediğimiz menünün başlığını Caption adlı bölüme gireriz. Name kısmına ise bu menü için bir ad yazarız. İlk menümüzü belirledikten sonra Next düğmesine basarız. Visual Basic Caption ve Name kutucuklarını bir sonraki menüyü ilave edebilmemiz için boşaltır. Yeni menü öğeleri oluşturuldukça, aşağıda bulunan liste kutusunda listelenirler. Alt menüleri oluşturmak için ise Next düğmesinin sol tarafında bulunan ok düğmelerini kullanırız. Var olan bir menünün silinmesi için liste kutusundan menüyü seçer ve Delete butonuna tıklarız. Yeni menüler ilave ederken ise Insert butonundan faydalanırız

Popup Menü Bold; Bu parametre ile menüdeki elemanlardan biri kalın yapılabilir Private Sub Text1_MouseDown(Button As Integer,Shift As Integer, X As Single, Y As Single) 'Sağ fare düğmesine basıldı ise If Button = 2 Then PopupMenu mnuduzen, 4, Text1.Left + X, Text1.Top + Y End If End Sub