C’de ListBox Ekleme ve Silme
Bir ListBox, kullanıcıların bir dizi öğe arasından seçim yapmalarına olanak tanıyan bir grafik kullanıcı arayüzü (GUI) öğesidir. C programlama dilinde, ListBox’lar Windows API’si kullanılarak oluşturulabilir ve yönetilebilir. Bu makale, C’de ListBox’ların nasıl ekleneceğini ve silineceğini ayrıntılı olarak açıklayacaktır.
ListBox Ekleme
Bir ListBox eklemek için aşağıdaki adımları izleyin:
- ListBox Oluşturma: Bir ListBox oluşturmak için
CreateWindowEx()
fonksiyonu kullanılır. Bu fonksiyon, pencere sınıfı, pencere başlığı, pencere stili, pencere boyutları ve ebeveyn pencere gibi çeşitli parametreler alır. - Pencere Sınıfı Kaydı: ListBox’ı oluşturmadan önce, pencere sınıfını
RegisterClassEx()
fonksiyonu kullanılarak kaydetmeniz gerekir. Bu fonksiyon, pencere sınıfının özelliklerini tanımlayan birWNDCLASSEX
yapısını alır. - ListBox’a Öğeler Ekleme: Öğeler,
SendMessage()
fonksiyonu kullanılarak ListBox’a eklenir. Bu fonksiyon, ListBox’a bir mesaj gönderir ve mesajın parametreleri, eklenecek öğenin metnini ve ekleme konumunu belirtir.
Aşağıdaki kod örneği, bir ListBox oluşturur ve ona birkaç öğe ekler:
“`c
include
int main()
{
// Pencere sınıfını kaydet
WNDCLASSEX wc = { sizeof(WNDCLASSEX) };
wc.lpfnWndProc = WindowProc;
wc.hInstance = GetModuleHandle(NULL);
wc.lpszClassName = “ListBoxExample”;
RegisterClassEx(&wc);
// ListBox'ı oluştur
HWND hWnd = CreateWindowEx(0, "ListBoxExample", "ListBox Örneği", WS_OVERLAPPEDWINDOW,
100, 100, 250, 250, NULL, NULL, GetModuleHandle(NULL), NULL);
// ListBox'a öğeler ekle
SendMessage(hWnd, LB_ADDSTRING, 0, (LPARAM)"Elma");
SendMessage(hWnd, LB_ADDSTRING, 0, (LPARAM)"Armut");
SendMessage(hWnd, LB_ADDSTRING, 0, (LPARAM)"Muz");
// Mesaj döngüsü
MSG msg;
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}
“`
ListBox Silme
Bir ListBox’ı silmek için aşağıdaki adımları izleyin:
- ListBox’ı Bulma: Silinecek ListBox’ı,
FindWindow()
fonksiyonu kullanılarak bulabilirsiniz. Bu fonksiyon, pencere sınıfı ve pencere başlığı gibi parametreler alır. - ListBox’ı Yok Etme: ListBox,
DestroyWindow()
fonksiyonu kullanılarak yok edilebilir. Bu fonksiyon, yok edilecek pencerenin tutamağını alır.
Aşağıdaki kod örneği, bir ListBox’ı bulur ve yok eder:
“`c
include
int main()
{
// ListBox’ı bul
HWND hWnd = FindWindow(“ListBoxExample”, “ListBox Örneği”);
// ListBox'ı yok et
DestroyWindow(hWnd);
return 0;
}
“`
Faydalı Siteler ve Dosyalar
- Microsoft Windows API Referansı – CreateWindowEx
- Microsoft Windows API Referansı – RegisterClassEx
- Microsoft Windows API Referansı – SendMessage
- Microsoft Windows API Referansı – FindWindow
- Microsoft Windows API Referansı – DestroyWindow
Ö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.