C Listbox Ekleme Silme

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:

  1. 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.
  2. 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 bir WNDCLASSEX yapısını alır.
  3. 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:

  1. ListBox’ı Bulma: Silinecek ListBox’ı, FindWindow() fonksiyonu kullanılarak bulabilirsiniz. Bu fonksiyon, pencere sınıfı ve pencere başlığı gibi parametreler alır.
  2. 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


Yayımlandı

kategorisi