Python
27.07.2021
Yazar: Admin
Python genel amaçlı, yüksek seviyeli, yorumlanan, dinamik algılama yapısına sahip ve nesneye dayalı olarak kullanılabilen bir programlama dilidir. Bazı gelişim ve güvenlik güncellemeleri ile piyasaya sürülen Python 3.9.6 sürümü, yeni modüller, mevcut modüllerin geliştirilmiş sürümünü ve yeni özellikler içermektedir.
Debian tabanlı Linux dağıtımının çoğunda, Python'ın eski sürümleri otomatik olarak yüklü bir şekilde gelir. MX Linux 19.4.1 sürümü ile birlikte gelen Python'ın 2.7.16 sürümüdür.
Bu yazıda, Python 3.9.6 sürümünü kaynak koddan derleyerek, Debian tabanlı bir sistem olan MX Linux işletim sisteminde sistemlere kurmayı anlatmaya çalışacağız:
MX Linux 19.4.1 işletim sisteminde Python 3.9.6 kurulumu gerçekleştirmek için:
Sistemi hazırlama
1. Sudo ayrıcalıklı hesap erişimiyle MX Linux işletim sistemine giriş yapalım. Ctrl + Alt + T tuş bileşeni ile bir terminal penceresi açalım ve sistemde yüklü paketlerin güncellenmesi ve son sürümlerine yükseltilmesi için aşağıdaki komutu çalıştıralım:
$ sudo apt update && sudo apt upgrade
2. Python kaynak kodlarının derlenmesinde kullanılacak paketlerin kurulması için aşağıdaki komutu çalıştıralım:
$ sudo apt install wget build-essential libreadline-gplv2-dev libncursesw5-dev \
libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev
Python 3.9.6 sürümünü kaynak kodu ile kurma
1. Bu bağlantıya tıklayarak veya aşağıda gösterilen komutu çalıştırarak Python 3.9.6 kaynak kod dosyasını indirelim:
$ wget https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tgz
2. Bilgisayarımıza indirdiğimiz dosyayı üzerine çift tıklayarak veya aşağıda gösterilen komutu çalıştırarak açalım:
$ tar xzf Python-3.9.6.tgz
3. Aşağıdaki komut ile dosyayı açtığımız dizine geçiş yapalım:
$ cd Python-3.9.6
4. Aşağıdaki komut ile Python kaynak kodunu sistemimizde derlemek üzere hazırlayalım:
$ ./configure --enable-optimizations
5. Aşağıdaki komut Python kurulumunu gerçekleştirelim:
$ make altinstall
Bu işlem biraz zaman alabilir. İşlem sürecini terminal penceresinden takip edebiliriz.
6. Terminal penceresinde sadece python ifadesini kullandığımızda, sistem Python 2.7.16 sürümünün ortamına geçiş yapar. Python 3.9.6 sürümünün ortamına geçiş yapmak için aşağıdaki komutu kullanmamız gerekir:
$ python3.9
CodeBlocks
26.07.2021
Yazar: Admin
CodeBlocks, farklı derleyicilerle birlikte kullanılabilen açık kaynak kodlu bir C ve C++ programlama dilleri ile yazılım geliştirmek için tasarlanmış tümleşik geliştirme ortamıdır. wxWidgets (Çoklu platform uygulamaları için GUI oluşturmak için kullanılan C++ ile geliştirilmiş bir araç) tabanlı olan olan IDE, GNU/Linux, Microsoft Windows, MacOS platformlarında rahatça kullanılabilmektedir.
MX Linux, kararlı Debian'a dayanan ve MX topluluğu tarafından oluşturulan veya paketlenen ek yazılımlarla birlikte temel olarak antiX bileşenlerini kullanan orta ağırlıkta bir GNU/Linux işletim sistemidir.
Bu yazımızda, MX Linux 19.4.1 işletim sisteminde CodeBlocks IDE 17.12 sürümü ile bir C Programlama Dili uygulaması oluşturup çalıştırmayı anlatmaya çalışacağız:
MX Linux 19.4.1 işletim sisteminde CodeBlocks IDE 17.12 sürümü ile bir C Programlama Dili uygulaması oluşturup çalıştırmak için:
1. Masaüstünün sol alt köşesinde bulunan Applications Menu butonuna tıklayalım. Açılan pencerede arama bölümüne codeblocks yazdığımızda karşımıza gelen Code::Blocks IDE seçeneğine tıklayarak CodeBlocks IDE'yi çalıştıralım:
2. Codeblocks IDE ana penceresi karşımıza gelecektir:
3. Codeblocks IDE ana penceresinde Create a new project seçeneğine tıklayarak veya menüden File - New - Project menü seçeneğini seçerek şablon penceresini açalım:
4. Şablon penceresinde Console application seçeneğini seçtikten sonra Go butonuna tıklayalım:
5. Karşımıza gelen pencerede C seçeneğini seçtikten sonra Next butonuna tıklayalım:
6. Kullanıcı adının altında /home/Mehmet/MyCProgs/ adlı bir dizin oluşturalım:
7. Proje adının yer aldığı ilk bölüme deneme yazalım. Projenin oluşturulacağı dizini gösteren ikinci bölümde, kullanıcı adının altında daha önce oluşturduğumuz MyCProgs adlı dizini seçelim. Proje dosya adının yer aldığı üçüncü ve dördüncü bölümler otomatik olarak doldurulacaktır. Sonra, Next butonuna tıklayalım:
8. Derleyicinin seçildiği pencerede Finish butonuna tıklayalım:
9. Oluşturulan deneme adlı proje ve proje içinde yer alan main.c dosyası ekranda gösterilecektir:
10. Menüden Build - Build menü seçeneğini seçerek, Ctrl-F9 tuş bileşimine basarak veya Build butonuna tıklayarak projemizi derleyelim:
11. Derleme sonuçları IDE'nin alt bölmesinde yer alan Build log sekmesinde gösterilir:
12. Menüden Build - Run menü seçeneğini seçerek, Ctrl-F10 tuş bileşimine basarak veya Run butonuna tıklayarak projemizi derleyelim:
13. Projemizin çalışarak ekrana bir karakter dizisi yazdığı pencere açılarak karşımıza gelir:
İlgili yazılar
Window 10 işletim sisteminde Oracle VirtualBox 6.1.24 kurulumu
Window 10 işletim sisteminde VirtualBox ile MX Linux 19.4 kurulumu
MX Linux 19.4 önyüklenebilir (bootable) USB oluşturma
MX Linux 19.4.1 işletim sisteminde CodeBlocks 17.12 kurulumu
CodeBlocks
25.07.2021
Yazar: Admin
CodeBlocks, farklı derleyicilerle birlikte kullanılabilen açık kaynak kodlu bir C ve C++ programlama dilleri ile yazılım geliştirmek için tasarlanmış tümleşik geliştirme ortamıdır. wxWidgets (Çoklu platform uygulamaları için GUI oluşturmak için kullanılan C++ ile geliştirilmiş bir araç) tabanlı olan olan IDE, GNU/Linux, Microsoft Windows, MacOS platformlarında rahatça kullanılabilmektedir.
MX Linux, kararlı Debian'a dayanan ve MX topluluğu tarafından oluşturulan veya paketlenen ek yazılımlarla birlikte temel olarak antiX bileşenlerini kullanan orta ağırlıkta bir GNU/Linux işletim sistemidir.
Bu yazımızda, CodeBlocks 17.12 sürümünün MX Linux 19.4.1 işletim sisteminde kurulumunu anlatmaya çalışacağız:
CodeBlocks IDE'yi MX Linux işletim sisteminde kurmak için:
1. Masaüstünün sol alt köşesinde bulunan Applications Menu butonuna tıklayalım. Açılan pencerede arama bölümüne MX Paket yazdığımızda karşımıza gelen MX Paket Yükleyici seçeneğine tıklayalım:
2. Karşımıza gelen Kimlik Doğrula penceresinde root parolaasını girip Kimlik Doğrula butonuna tıklayalım:
3. MX Paket Kurucusu ana penceresi karşımıza gelecektir. Bu pencerede MX Test Deposu sekmesine tıklayalım. Karşımıza gelen uyarı penceresini Close butonuna tıklayarak kapatalım:
MX Paket Kurucusu penceresi Kararlı depo sekmesinde CodeBlocks 16.01 sürümü kurulum dosyaları yer almaktadır.
4. Paket bilgilerinin indirildiğini gösteren pencere karşımıza gelecektir:
5. Tüm paketler karşımıza gelecektir:
6. Bu pencerede, arama satırına codeblocks yazdığımızda karşımıza gelen üç seçeneği işaretleyerek Yükle butonuna tıklayalım:
7. Seçilen paketlerin kurulum işlemi başladıktan sonra karşımıza gelen pencerede, OK butonuna tıklayalım:
8. Kurulum işlemi sona erdiğinde karşımıza gelen pencerede, OK butonuna tıklayalım ve MX Paket Kurucusu ana penceresini kapatalım:
9. Masaüstünün sol alt köşesinde bulunan Applications Menu butonuna tıklayalım. Açılan pencerede arama bölümüne codeblocks yazdığımızda karşımıza gelen Code::Blocks IDE seçeneğine tıklayarak CodeBlocks IDE'yi çalıştıralım:
10. Codeblocks IDE ana penceresi karşımıza gelecektir:
İlgili yazılar
Window 10 işletim sisteminde Oracle VirtualBox 6.1.24 kurulumu
Window 10 işletim sisteminde VirtualBox ile MX Linux 19.4 kurulumu
MX Linux 19.4 önyüklenebilir (bootable) USB oluşturma
MX Linux 19.4.1 işletim sisteminde CodeBlocks IDE ile C Programlama Dili uygulaması
MXLinux
24.07.2021
Yazar: Admin
MX Linux 19.4 işletim sistemi için önyüklenebilir (bootable) USB oluşturmak için, Rufus programını kullanacağız:
1. Bu bağlantıda yer alan ve aşağıda gösterilen MX-19.4.1_ahs_x64.iso bağlantısına (64 bit sistemler için) tıklayalım:
2. Karşımıza gelen pencerede "Tamam" butonuna tıklayarak .iso uzantılı dosyayı bilgisayarımıza indirelim:
3. Bu bağlantıda yer alan ve aşağıda gösterilen Rufus 3.14 Taşınabilir bağlantısına tıklayalım:
4. Karşımıza gelen pencerede "Dosyayı kaydet" butonuna tıklayarak .exe uzantılı dosyayı bilgisayarımıza indirelim:
5. Karşımıza gelen pencerede "SEÇ" butonuna tıklayarak, indirdiğimiz MX Linux .iso uzantılı dosyasını seçelim:
6. Karşımıza gelen pencerede "BAŞLAT" butonuna tıklayarak işlemi başlatalım:
7. Karşımıza gelen pencerede "OK" butonuna tıklayalım:
8. Karşımıza gelen pencerede "Evet" butonuna tıklayalım:
9. Karşımıza gelen pencerede "Evet" butonuna tıklayalım:
10. Karşımıza gelen pencerede gösterilen "Tamam" butonuna tıklayalım:
11. Karşımıza gelen pencerede gösterilen "KAPAT" butonuna tıklayarak işlemi sonlandıralım:
12. USB bellek dizin yapısı aşağıdaki şekilde oluşacaktır:
İlgili yazılar
Window 10 işletim sisteminde Oracle VirtualBox 6.1.24 kurulumu
Window 10 işletim sisteminde VirtualBox ile MX Linux 19.4 kurulumu
MX Linux 19.4.1 işletim sisteminde CodeBlocks 17.12 kurulumu
MX Linux 19.4.1 işletim sisteminde CodeBlocks IDE ile C Programlama Dili uygulaması
MXLinux
23.07.2021
Yazar: Admin
MX Linux, kararlı Debian'a dayanan ve MX topluluğu tarafından oluşturulan veya paketlenen ek yazılımlarla birlikte temel olarak antiX bileşenlerini kullanan orta ağırlıkta bir GNU/Linux işletim sistemidir.
Window 10 işletim sisteminde VirtualBox ile MX Linux 19.4 kurulumu gerçekleştirmek için:
1. Bu bağlantıda yer alan ve aşağıda gösterilen MX-19.4.1_ahs_x64.iso bağlantısına (64 bit sistemler için) tıklayalım:
2. Karşımıza gelen pencerede gösterilen Tamam butonuna tıklayarak .iso uzantılı dosyayı bilgisayarımıza indirelim:
3. VirtualBox programı çalıştırdıktan sonra, "Yeni" butonuna tıklayalım:
4. Karşımıza gelen penceredeki verileri aşağıda gösterildiği şekilde doldurarak (Makine klasörü her bilgisayarda farklı tanımlanabilir) İleri butonuna tıklayalım:
5. Karşımıza gelen pencerede, bellek boyutunu 2 GB. olarak belirleyerek (bilgisayarınızın bellek boyutuna göre bu miktarı belirleyebilirsiniz) İleri butonuna tıklayalım:
6. Karşımıza gelen pencerede, "Şimdi sanal bir sabit disk oluştur" seçeneğini seçili bırakarak, Oluştur butonuna tıklayalım:
7. Karşımıza gelen pencerede, "VDI (VirtualBox Disk Kalıbı)" seçeneğini seçili bırakarak, İleri butonuna tıklayalım:
8. Karşımıza gelen pencerede, "Değişken olarak ayrılan" veya "Sabitlenmiş boyut" seçeneklerinden birini seçerek, İleri butonuna tıklayalım:
"Değişken olarak ayrılan" seçeneğinde, sanal bilgisayarın boyutu kadar bilgisayarın diskinden alan ayrılır. "Sabitlenmiş boyut" seçeneğinde ise, sanal bilgisayarın boyutu dikkate alınmadan bilgisayarın diskinden bir sonraki pencerede tanımladığınız miktar kadar alan ayrılır. Bu seçeneğin gerçekleştirilmesi biraz uzun sürebilir.
9. Karşımıza gelen pencerede, sanal bilgisayar için ayırmak istediğimiz alanı belirleyip, Oluştur butonuna tıklayalım:
10. Böylece sanal bilgisayarımızı oluşturmuş olduk:
11. Aynı pencerede, Mx Linux seçeneği seçili iken, "Ayarlar" butonuna tıklayalım:
12. Karşımıza gelen pencerede, "Genel" sayfasının "Gelişmiş" sekmesinde "Paylaşılan Pano" ve "Sürükle 'v' Bırak" seçeneklerini "Çift yönlü" olarak belirleyelim:
13. "Depolama" sayfasının "Boş" seçeneği seçili iken, "Optik sürücü" seçeneğinin sağ tarafındaki resime tıklayarak "Disk dosyası seçin..." seçeneği ile açılan pencereden indirdiğimiz .iso uzantılı dosyayı seçelim:
14. Dosya sisteme yüklenecektir:
15. "Ağ" sayfasının "Bağdaştırıcı 1" sekmesinde "Köprü Bağdaştırıcısı" seçeneğini seçip, Tamam butonuna tıklayalım:
Bu seçenekle, fiziksel bilgisayarımızın bulunduğu ağda kalmaya devam ederiz.
16. MX Linux kurulumuna başlamak için, "Başlat" butonuna tıklayalım:
17. Yeni açılan pencerede, MX Linux kurulumuna başlamak için, MX-19.4 ahs x64 (March 31, 2021) seçeneği seçili iken ENTER tuşuna basalım:
18. Bazı işlemlerden sonra, pencere içinde açılan "MX Welcome" penceresini "Close" butonuna tıklayarak kapatalım:
19. "Installer" butonuna tıklayarak kuruluma başlayalım:
20. Karşımıza gelen pencerede "Change Keyboard Settings" butonuna tıklayarak klavye ayarlarını değiştirelim:
21. Karşımıza gelen pencerede "+" butonuna tıklayalım:
22. Açılan alt pencerede "Turkish" ve "Turkish (with Sun dead keys)" seçeneklerini seçerek OK butonuna tıklayalım:
23. Ana pencerede "us English (US)" seçeneğini seçerek "-" butonuna tıklayalım ve bu klavye seçeneğini silelim:
24. Klavye ayarları penceresinde "Next" butonuna tıklayalım:
25. Ayrılan tüm disk alanını kullanarak kurulum yapılmasını sağlayacak olan "Auto-install using entire disk" seçeneğini seçip "Next" butonuna tıklayalım:
26. Tüm diskin formatlanacağını ve MX Linux kurulumu için kullanılacağını bildiren onay kutusunda "OK" butonuna tıklayalım:
27. Kurulum belli bir yere geldiğinde, penceredeki "Next" butonu tıklanabilir hale gelir. Bu durumda iken, "Next" butonuna tıklayalım:
28. Karşımıza gelen pencerede, "Computer name" ve "Computer domain" seçeneklerini düzenleyelim ve "Next" butonuna tıklayalım:
29. Karşımıza gelen pencerede, yerel ayarları aşağıda gösterildiği şekilde düzenleyelim ve "Next" butonuna tıklayalım:
30. Karşımıza gelen pencerede, kullanıcı adı ve parolası ile admin parolasını düzenleyelim ve "Next" butonuna tıklayalım:
31. Karşımıza gelen pencerede, "Finish" butonuna tıklayarak kurulumu sona erdirelim:
32. Aşağıdaki pencere karşımıza gelir. ENTER tuşuna bastığımızda veya belirli bir süre geçince sistem kendisini yeniden başlatır:
33. Sistem açılınca karşımıza gelen parola penceresinde parolayı girip "Oturum aç" butonuna tıklayalım:
34. MX Linux sistem artık kullanıma hazırdır:
MX Linux 19.4 işletim sistemini, Windows işletim sisteminde çalışan VirtualBox programı ile bilgisayarımıza kurduktan sonra, Linux sisteminde Terminal penceresini açarak, aşağıda gösterilen komutları sırasıyla kullanarak, MX Linux sistemini güncelleleyebilir, sistemde yüklü programları en son sürümüne yükseltebilir ve sistemi yeniden başlatarak tamamen güncelleştirilmiş olarak sistemimizi kullanmaya devam edebiliriz:
Terminal penceresini açmak için, Ctrl-Alt-T tuş bileşimini kullanabilir veya masaüstünde sağ tıkladığımızda karşımıza gelen menüde Open Terminal Here seçeneğine tıklayabiliriz.
sudo apt update sudo apt upgrade -y sudo reboot
İlgili yazılar
Window 10 işletim sisteminde Oracle VirtualBox 6.1.24 kurulumu
MX Linux 19.4 önyüklenebilir (bootable) USB oluşturma
MX Linux 19.4.1 işletim sisteminde CodeBlocks 17.12 kurulumu
MX Linux 19.4.1 işletim sisteminde CodeBlocks IDE ile C Programlama Dili uygulaması
VirtualBox
22.07.2021
Yazar: Admin
Oracle VM Virtualbox, sunucu, masaüstü ve gömülü kullanımı hedefleyen x86 donanımı için genel amaçlı bir tam sanallaştırıcı yazılımdır.
VirtualBox, Windows, Linux, Macintosh ve Solaris ana bilgisayarlarında çalışır ve Windows, DOS/Windows 3.x, Linux (2.4, 2.6, 3.x ve 4.x), Mac OS, Solaris ve OpenSolaris, OS/2 ve OpenBSD işletim sistemlerinin sanal olarak kurulmasını ve çalıştırılmasını sağlar.
Windows 10 işletim sisteminde, Virtualbox kurulumu gerçekleştirmek için:
1. Bu bağlantıda yer alan ve aşağıda gösterilen Windows hosts bağlantısına tıklayalım:
2. Karşımıza gelen pencerede gösterilen .exe dosyayı bilgisayarımıza indirelim:
3. İndirdiğimiz .exe dosyayı çalıştıralım:
4. Karşımıza gelen pencerede İleri butonuna tıklayalım:
5. Karşımıza gelen pencerede İleri butonuna tıklayalım:
6. Karşımıza gelen pencerede seçenekleri belirledikten sonra, İleri butonuna tıklayalım:
7. Karşımıza gelen pencerede Evet butonuna tıklayalım:
8. Karşımıza gelen pencerede Yükle butonuna tıklayalım:
Kurulum programı, bu aşamada, eğer yönetici yetkileri ile çalıştırılmamışsa, yönetici yetkilendirmesi isteyecektir.
9. Karşımıza gelen pencerede Bitir butonuna tıklayarak kurulumu bitirelim:
10. Virtualbox programı çalışarak, ana penceresi karşımıza gelir:
11. VirtualBox Extension Pack paketini yüklemek için, Bu bağlantıda yer alan ve aşağıda gösterilen All supported platforms bağlantısına tıklayalım:
12. Karşımıza gelen pencerede gösterilen dosyayı bilgisayarımıza indirelim:
13. VirtualBox programını yönetici yetkileriyle çalıştıralım. Menüden "Dosya - Tercihler" seçeneğine tıklayalım:
14. Karşımıza gelen pencerede, "Uzantılar" sekmesinde aşağıda gösterilen yeni paket ekleme butonuna tıklayarak indirdiğimiz VirtualBox Extension Pack dosyasını seçelim:
15. Karşımıza gelen pencerede, Yükle butonuna tıklayalım:
16. Karşımıza gelen lisans pencerede, "Kabul ediyorum" butonuna tıklayalım:
17. Yükleme işlemi bittiğinde, karşımıza gelen pencerede, Tamam butonuna tıklayarak paket yükleme işlemini tamamlayalım:
İlgili yazılar
Window 10 işletim sisteminde VirtualBox ile MX Linux 19.4 kurulumu
MX Linux 19.4 önyüklenebilir (bootable) USB oluşturma
MX Linux 19.4.1 işletim sisteminde CodeBlocks 17.12 kurulumu
MX Linux 19.4.1 işletim sisteminde CodeBlocks IDE ile C Programlama Dili uygulaması
Libcurl
07.02.2021
Yazar: Admin
cURL bilgisayar yazılımı içindeki libcurl kütüphanesini ve curl komut satırı aracını kullanarak, çeşitli ağ protokolleri yoluyla veri aktarımı yapabiliriz.
Ücretsiz, taşınabilir ve istemci tarafında URL transferi için kullanılan bir kütüphane olan libcurl ile, bir çok işletim sisteminde veri transfer işlemleri gerçekleştirebiliriz.
C, C++, Java, PHP ve Python dahil olmak üzere 50'den fazla dil ile birlikte kullanılabilir.
Windows işletim sisteminde, CodeBlocks IDE 17.12 (32 bit) üzerinde libcurl kurulumu gerçekleştirmek için:
1. Bu bağlantıda yer alan ve aşağıda gösterilen curl-7.75.0-win32-mingw.zip ve openssl-1.1.1i-win32-mingw.zip dosyalarını bilgisayarımıza indirelim:
2. Bu dosyaları bilgisayarımızda açtıktan sonra, curl-7.75.0-win32-mingw dizini altındaki bin dizini içinde yer alan libcurl.dll dosyasını projemizin .exe dosyasının bulunduğu dizine kopyalayalım:
3. openssl-1.1.1i-win32-mingw dizini içinde yer alan libcrypto-1_1.dll ve libssl-1_1.dll dosyalarını projemizin .exe dosyasının bulunduğu dizine kopyalayalım:
4. Projemizin adının deneme olduğunu kabul ederek, CodeBlocks IDE menüsünden Project - Build options seçeneğine tıklayalım:
5. Karşımıza gelen "Project buid options" penceresinde Linker settings sekmesini seçtikten sonra, curl-7.75.0-win32-mingw dizini altındaki lib dizini içinde yer alan libcurl.a dosyasını "Link libraries" bölümüne ve -lcurl ifadesini "Other linker options" bölümüne ekleyelim:
6. Search directories sekmesini seçtikten sonra, "Compiler" sekmesine curl-7.75.0-win32-mingw dizini altındaki include dizinini ekleyelim:
7. Yine Search directories sekmesinde, "Linker" sekmesini seçip, curl-7.75.0-win32-mingw dizini altındaki lib dizinini ekleyelim:
Böylece, libcurl kütüphanesi CodeBlocks IDE içinde kullanıma hazır hale geldi. libcurl kütüphanesinin kullanımı ile ilgili bir örneğe buradan ulaşabilirsiniz.
Winapi
01.06.2018
Yazar: Admin
Windows API'de bir kontrol üzerine geldiğimizde fare resmini değiştirmek için WM_SETCURSOR mesajını kullanabiliriz.
Öncelikle Burada gösterildiği gibi bir Windows API projesi oluşturalım. Projeyle birlikte otomatik olarak oluşturulan main.c dosyası içine aşağıda gösterilen kodları ekleyelim:
HWND hwndStatic, hwndButton;
case WM_CREATE:
hwndStatic = CreateWindowEx(0, "STATIC", "Static kontrol",
WS_CHILD | WS_VISIBLE | SS_LEFT | SS_NOTIFY, 50, 50, 100, 20,
hwnd, 0, NULL, NULL);
hwndButton = CreateWindowEx(0, "BUTTON", "Button",
WS_CHILD | WS_VISIBLE, 170, 50, 120, 30,
hwnd, 0, NULL, NULL);
break;
case WM_SETCURSOR:
if (((HWND)wParam == hwndButton) || ((HWND)wParam == hwndStatic)) {
SetCursor(LoadCursor (NULL, IDC_HAND));
return TRUE;
}
else return DefWindowProc (hwnd, message, wParam, lParam);
break;
Yukarıdaki kodlarla biri statik ve biri buton olmak üzere 2 adet kontrol oluşturuyoruz.
Statik kontrol oluştururken SS_NOTIFY parametresini WM_SETCURSOR mesajının kullanılabilmesi için ekliyoruz.
Bir kontrol penceresine fare girdiğinde WM_SETCURSOR mesajı kontrolün içinde bulunduğu pencereye gönderilir.
Eğer mesajı gönderen kontrol hwndStatic veya hwndButton ise , ana pencere fonksiyonu SetCursor() fonksiyonunu kullanarak LoadCursor() fonksiyonu ile yüklenen IDC_HAND değerini fare resmi olarak ayarlar. Fare resmini ayarladıktan sonra, TRUE değerini geri döndürerek sistemin herhangi bir işlem yapmasını engeller.
Aksi takdirde, DefWindowProc() fonksiyonunu çağırarak sistemin fare resminin kullanılmasını sağlar.
Yukarıdaki kodları eklediğimizde, main.c dosyasının en son hali aşağıdaki şekilde olacaktır.
main.c
#if defined(UNICODE) && !defined(_UNICODE)
#define _UNICODE
#elif defined(_UNICODE) && !defined(UNICODE)
#define UNICODE
#endif
#include <tchar.h>
#include <windows.h>
/* Declare Windows procedure */
LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);
/* Make the class name into a global variable */
TCHAR szClassName[ ] = _T("DenemeApp");
HWND hwndStatic, hwndButton;
int WINAPI WinMain (HINSTANCE hThisInstance,
HINSTANCE hPrevInstance,
LPSTR lpszArgument,
int nCmdShow)
{
HWND hwnd; /* This is the handle for our window */
MSG messages; /* Here messages to the application are saved */
WNDCLASSEX wincl; /* Data structure for the windowclass */
/* The Window structure */
wincl.hInstance = hThisInstance;
wincl.lpszClassName = szClassName;
wincl.lpfnWndProc = WindowProcedure; /* This function is called by windows */
wincl.style = CS_DBLCLKS; /* Catch double-clicks */
wincl.cbSize = sizeof (WNDCLASSEX);
/* Use default icon and mouse-pointer */
wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
wincl.lpszMenuName = NULL; /* No menu */
wincl.cbClsExtra = 0; /* No extra bytes after the window class */
wincl.cbWndExtra = 0; /* structure or the window instance */
/* Use Windows's default colour as the background of the window */
wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;
/* Register the window class, and if it fails quit the program */
if (!RegisterClassEx (&wincl))
return 0;
/* The class is registered, let's create the program*/
hwnd = CreateWindowEx (
0, /* Extended possibilites for variation */
szClassName, /* Classname */
_T("Deneme Uygulaması"), /* Title Text */
WS_OVERLAPPEDWINDOW, /* default window */
CW_USEDEFAULT, /* Windows decides the position */
CW_USEDEFAULT, /* where the window ends up on the screen */
544, /* The programs width */
375, /* and height in pixels */
HWND_DESKTOP, /* The window is a child-window to desktop */
NULL, /* No menu */
hThisInstance, /* Program Instance handler */
NULL /* No Window Creation data */
);
/* Make the window visible on the screen */
ShowWindow (hwnd, nCmdShow);
/* Run the message loop. It will run until GetMessage() returns 0 */
while (GetMessage (&messages, NULL, 0, 0))
{
/* Translate virtual-key messages into character messages */
TranslateMessage(&messages);
/* Send message to WindowProcedure */
DispatchMessage(&messages);
}
/* The program return-value is 0 - The value that PostQuitMessage() gave */
return messages.wParam;
}
/* This function is called by the Windows function DispatchMessage() */
LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message) /* handle the messages */
{
case WM_CREATE:
hwndStatic = CreateWindowEx(0, "STATIC", "Static kontrol",
WS_CHILD | WS_VISIBLE | SS_LEFT | SS_NOTIFY, 50, 50, 100, 20,
hwnd, 0, NULL, NULL);
hwndButton = CreateWindowEx(0, "BUTTON", "Button",
WS_CHILD | WS_VISIBLE, 170, 50, 120, 30,
hwnd, 0, NULL, NULL);
break;
case WM_SETCURSOR:
if (((HWND)wParam == hwndButton) || ((HWND)wParam == hwndStatic)) {
SetCursor(LoadCursor (NULL, IDC_HAND));
return TRUE;
}
else return DefWindowProc (hwnd, message, wParam, lParam);
break;
case WM_DESTROY:
PostQuitMessage (0); /* send a WM_QUIT to the message queue */
break;
default: /* for messages that we don't deal with */
return DefWindowProc (hwnd, message, wParam, lParam);
}
return 0;
}
Program derleyip çalıştırdığımızda aşağıdakine benzer bir ekran görüntüsü karşımıza gelecektir: