Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.08.07;
Скачать: CL | DM;

Вниз

Как получить выбранный Item в ComboBoxEx   Найти похожие ветки 

 
Андрей Жук ©   (2005-06-07 11:48) [0]

Т.е. отслеживать событие изменение легко. А вот как получить доступ в выбранному Item?


 
Андрей Жук ©   (2005-06-07 12:28) [1]

Пробую так
   COMBOBOXEXITEM item;

SendMessage((HWND)lParam, CBEM_GETITEM,0,(LPARAM)&item);
   MessageBoxEx(hWindow,(LPTSTR) item.pszText,"Процес",MB_OK,419);

Получаю мусор


 
nikkie ©   (2005-06-07 12:33) [2]

где заполнение структуры?

mask
CBEIF_TEXT  The pszText member is valid or must be filled in.

pszText
Address of a character buffer that contains or receives the item"s text. If text information is being retrieved, this member must be set to the address of a character buffer that will receive the text. The size of this buffer must also be indicated in cchTextMax


 
Игорь Шевченко ©   (2005-06-07 12:38) [3]

Андрей Жук ©   (07.06.05 11:48)

Ты эта...TFM читай до того, как программы писать. Эт не политика, "на хапок" не пройдет.


 
Андрей Жук ©   (2005-06-07 12:42) [4]

Ну вот, объявляю
  COMBOBOXEXITEM item;
  char itemtext[255];
  item.mask = CBEIF_TEXT;
  item.pszText = itemtext;

Все равно мусор


 
nikkie ©   (2005-06-07 12:47) [5]

ты доку-то прочел?
The size of this buffer must also be indicated in cchTextMax


 
Андрей Жук ©   (2005-06-07 13:07) [6]

Ага...
  COMBOBOXEXITEM item;
  char Buffer[256]="test\0";
  item.mask = CBEIF_TEXT;
  item.pszText = Buffer;
  item.cchTextMax = 256;

  if (wmEvent==CBN_SELCHANGE)
     if((HWND)lParam == hComboBox)
   {
   SendMessage(hComboBox, CBEM_GETITEM,0,(LPARAM)&item);
   MessageBoxEx(hWindow,(LPTSTR) Buffer,"Процес",MB_OK,419);
   }

И что мы в результате получим?
Test


 
Андрей Жук ©   (2005-06-07 14:24) [7]

Может, кому пригодится
 TCHAR szText[256];
 COMBOBOXEXITEM cbei;
 ZeroMemory(&cbei, sizeof(cbei));
 cbei.mask = CBEIF_TEXT;
 cbei.pszText = szText;
 cbei.cchTextMax = sizeof(szText);

            SendMessage(hComboBox, CBEM_GETITEM,  0, (LPARAM)&cbei);  



 
nikkie ©   (2005-06-07 16:47) [8]

>И что мы в результате получим?
>Test
наверное потому, что в item.iIndex мусор

>ZeroMemory(&cbei, sizeof(cbei));
в этом варианте просто занулил iIndex. хотя ZeroMemory - это правильно.

>TCHAR szText[256];
ну раз уж TCHAR, то
cbei.cchTextMax = sizeof(szText) / sizeof(TCHAR);



Страницы: 1 вся ветка

Текущий архив: 2005.08.07;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.042 c
14-1121275013
Soft
2005-07-13 21:16
2005.08.07
Стадарт RFC3251(Electricity over IP)


1-1121770998
TButton
2005-07-19 15:03
2005.08.07
запись в файл


14-1121262043
Андрей Жук
2005-07-13 17:40
2005.08.07
Проект развивается :)


4-1118333397
Vanesss
2005-06-09 20:09
2005.08.07
Как мне отследить все запущенные приложения в Винде.


14-1121315769
Дмитрий_14
2005-07-14 08:36
2005.08.07
Кредитки. Инструкция по применению