View Full Version : list box
meysamg_alone
جمعه 25 اردیبهشت 1388, 22:33 عصر
سلام به همه
چه جوری میشه تویه یه لیست باکس نوشته ای رو add کرد و پاک کرد و اون نوشته رو خوند .
Nima_NF
جمعه 25 اردیبهشت 1388, 22:46 عصر
AddString
InsertString
DeleteString
FindString
GetText
و ... از MSDN استفاده کنید.
در کلاسی که listbox هست یک متغیر از نوع CListBox باید بسازید (نوع آن control) و سپس توابع فوق را فراخوانی کنید:
CString str(_T("My string in the listbox"));
myListBox1->AddString( str ); // CListBox* myListBox1
meysamg_alone
جمعه 25 اردیبهشت 1388, 23:52 عصر
اقا نیما ببخشید منظور من win32 بود
Nima_NF
شنبه 26 اردیبهشت 1388, 01:15 صبح
لطفا همیشه در کنار همه سوال هایتان مشخص کنید که منظور win32 هست یا MFC.
ابتدا با استفاده از GetDlgItem در WM_INITDIALOG هندل listbox را دریافت کنید.
hwndList = GetDlgItem(hDlg, ID_MYLISTBOX);
سپس هر جایی که خواستید از ارسال پیام مورد نظر استفاده کنید :
ItemNumber = SendMessage(hwndList, LB_GETCURSEL, 0, 0);
SendMessage(hwndList, LB_DELETESTRING, ItemNumber, 0);
LB_GETCURSEL برای گرفتن ایندکس آیتم کنونی انتخاب شده
LB_ADDSTRING برای اضافه کردن رشته به لیست باکس
LB_FINDSTRING پیدا کردن رشته خاص
LB_GETTEXT دریافت رشته از آیتمی که شما اندکس آن را مشخص می کنید.(0 یعنی اولی)
LB_DELETESTRING حذف آیتم
و ...
TCHAR str[20]= TEXT("hello");
SendMessage(hwndList, LB_ADDSTRING, 0, (LPARAM) str);
meysamg_alone
شنبه 26 اردیبهشت 1388, 13:32 عصر
فقط یه چیز دیگه می خواستم بدونم از کد های بالا میشه برایه COMBOBOX هم استفاده کرد یا نه
Nima_NF
شنبه 26 اردیبهشت 1388, 14:15 عصر
هر کنترل برای خودش پیام خاص خود را دارد، باید از MSDN استفاده کنید ولیست پیام ها را ببینید.
لینک کنترل ها در MSDN (http://msdn.microsoft.com/en-us/library/bb773173%28VS.85%29.aspx)
مثلا برای combobox پیام CB_ADDSTRING هست، با همان نام فقط پسوند CB دارد.
Changer
پنج شنبه 16 تیر 1390, 22:20 عصر
اقا اگه میشه توضیحی راجع به این ارور بدهید مربوط به LISTBOX هاست این هم کدش:
public
partial class Form1 : Form
{
string[] array = new string[4];
public Form1()
{
InitializeComponent();
}
private void btnadd_Click(object sender, EventArgs e)
{
string str;
txtname.Focus();
str = txtname.Text;
lstname.Items.Add(str);
txtname.Text =
null;
}
private void btnsort_Click(object sender, EventArgs e)
{
for (int i = 0; i < lstname.Items.Count; i++)
{
array[i] = lstname.Items.ToString();
}
int a = lstname.Items.Count;
Array.Sort(array);
lstname.Items.Clear();
for (int j = 0; j < a; j++)
{
lstname.Items.Add(array[j]);
}
}
}
72082
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.