cursor etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
cursor etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

17 Ağustos 2020 Pazartesi

QuickBasic - 23: Fare (mouse) kullanımı-4

Yayınlama: 17 Ağustos 2020

2) Metin ekranda fare imleç görüntüsünü değiştirme

Metin ekranda (SCREEN 0) fare imlecini değiştirmek için yazmaçlara aktarılacak değerler:
AX = &HA
BX = imleç tipi:
0: Yazılım imleci,
1: Donanım imleci

a)Yazılım imleci

AX = &HA
BX = 0
CX = AND maskesi. Varsayılan değer = &HFFFF
DX = XOR maskesi. Varsayılan değer = &H7700
CX ve DX yazmaçlarına aktarılan INTEGER değerin(2 bayt);
alt baytı(low byte): Karakter kodu,
üst baytı(high byte): Zemin rengi ve karakter rengini ayarlar.

Üst baytdaki;
1. karakter: Zemin rengini,
2. karakter: karakter rengi içindir.

Zemin rengi için 7'den büyük sayılar imlecin yanıp sönmesini sağlar(blinking)
alt bayt: 16'lık sayıda sağdaki 2 karakter. örneğin &H2FA3 için alt byte A3 dür.
alt baytı elde etmek için formül: SAYI AND &HFF
üst baytı elde etmek için formül: SAYI AND &HFF00
üst bayt: 16'lık sayıda soldaki 2 karakter. örneğin &H2FA3 için üst byte 2F dir.

Örnek 1:
DX = &H2F58

Kodların açılımı:
2: Yeşil zemin. 2=Yeşil renk
F: Beyaz yazı rengi. &HF=15=Beyaz renk
58: &H58 = 88 = X karakteri

Örnek 2:
DX = &H9E18
9: Mavi zemin.1+8=9. 1=Mavi renk. 7'den büyük renk kodları yanıp sönen imleç içindir.
E: Sarı yazı rengi. &HE=14=Sarı renk
18: &H18 = 24 = Yukarı ok karakteri

15 Ağustos 2020 Cumartesi

QuickBasic - 22: Fare (mouse) kullanımı-3

Yayınlama: 15 Ağustos 2020
Güncelleme: 22 Ağustos 2020

Fare imleç görüntüsünü değiştirme

Varsayılan fare(mouse) imleç(cursor) görüntüsü grafik ekranda standart ok şeklinde(yandaki resim), metin(text) ekranda ise içi dolu dikdörtgen kutu karakteri(karakter kodu=219) şeklindedir.
İstenirse grafik ve/veya metin ekranda imleç görüntüsü değiştirilebilir.
İşlemler ve yazmaçlara aktarılacak değerler farklı olduğu için iki ayrı başlık altında açıklama yapılacaktır.

1) Grafik ekranda fare imleç görüntüsünü değiştirme

Yazmaçlara aktarılacak değerler:
AX = &H9
BX = Etkin nokta X değeri (Hot Spot)
CX = Etkin nokta Y değeri
DX = Görüntü bilgilerini içeren bellek adresi (64 bayt)

İmleç görüntüsü bilgileri 64 bayt uzunluğundadır. 32 baytlık 2 set halinde hazırlanır. Her set 16x16 bitlik bir desende oluşturulur. Örneğin 16 satır ve her satırda 2 baytlık(16 bit) veri.

İlk desen 32 baytlık veri AND maskesi içindir.
İkinci desen 32 baytlık veri XOR maskesi içindir.

Bu iki desen, iki grafik düzlemi oluşturur. İki grafik düzleminde oluşan grafik görüntü ekrana önce AND ile sonra onun üzerine XOR ile basılır. Böylece nihai fare imleci görüntüsü oluşur.

İlk ve ikinci desendeki 0 ve 1 bit değerlerin çakıştırılmasıyla ekranda 4 farklı durum oluşur.
00: Siyah
01: Beyaz
10: Şeffaf (Transparan)
11: Zemin zıt rengi