C Araç Kutusu: Fare İşlemleri
Giriş
Fare, kullanıcıların grafiksel kullanıcı arayüzleriyle (GUI’ler) etkileşime girmelerine olanak tanıyan önemli bir giriş cihazıdır. C programlama dili, fare olaylarını yakalamak ve işlemek için çeşitli işlevler sağlar. Bu araç kutusu, C’de fare işlemlerini gerçekleştirmek için gerekli bilgileri ve kaynakları içerir.
Fare Olayları
Fare, aşağıdakiler de dahil olmak üzere çeşitli olaylar tetikleyebilir:
- Fare tıklaması: Fare düğmelerinden biri tıklandığında oluşur.
- Fare hareketi: Fare hareket ettirildiğinde oluşur.
- Fare tekerleği kaydırma: Fare tekerleği kaydırıldığında oluşur.
Fare Olaylarını Yakalama
C’de fare olaylarını yakalamak için X11
veya ncurses
gibi bir pencereleme sistemi kullanmanız gerekir. Bu sistemler, fare olaylarını yakalayan ve bunları işletim sistemine ileten olay döngüleri sağlar.
X11 ile Fare Olaylarını Yakalama
X11 ile fare olaylarını yakalamak için aşağıdaki adımları izleyin:
Xlib
başlık dosyasını ekleyin:
“`c
include
“`
-
Bir X penceresi oluşturun ve bağlayın:
c
Display *display = XOpenDisplay(NULL);
Window window = XCreateSimpleWindow(display, root, 0, 0, 640, 480, 1, BlackPixel(display, DefaultScreen(display)), WhitePixel(display, DefaultScreen(display))); -
Fare olaylarını yakalamak için bir olay döngüsü oluşturun:
“`c
while (1) {
XEvent event;
XNextEvent(display, &event);
if (event.type == ButtonPress) {
// Fare düğmesi tıklandığında bu kod çalıştırılır.
} else if (event.type == MotionNotify) {
// Fare hareket ettirildiğinde bu kod çalıştırılır.
} else if (event.type == Scroll) {
// Fare tekerleği kaydırıldığında bu kod çalıştırılır.
}
}
“`
ncurses ile Fare Olaylarını Yakalama
ncurses ile fare olaylarını yakalamak için aşağıdaki adımları izleyin:
ncurses
başlık dosyasını ekleyin:
“`c
include
“`
-
ncurses’i başlatın:
c
initscr(); -
Fare olaylarını etkinleştirin:
c
mousemask(ALL_MOUSE_EVENTS, NULL); -
Fare olaylarını yakalamak için bir olay döngüsü oluşturun:
“`c
while (1) {
MEVENT event;
int n = getmouse(&event);
if (n == BUTTON1_PRESSED) {
// Fare düğmesi tıklandığında bu kod çalıştırılır.
} else if (n == MOTION) {
// Fare hareket ettirildiğinde bu kod çalıştırılır.
} else if (n == WHEEL_EVENT) {
// Fare tekerleği kaydırıldığında bu kod çalıştırılır.
}
}
“`
İlgili Kaynaklar
Önemli Not: Bu yazı Google Gemini yapay zekası tarafından otomatik olarak oluşturulmuştur ve hatalı bilgiler içerebilir. Düzeltmek için iletişim sayfamızdaki formdan veya yine iletişim sayfamızda bulunan eposta adresi yoluyla bizimle iletişime geçebilirsiniz. Hata varsa hemen düzeltilmektedir.