Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.08.07;
Скачать: [xml.tar.bz2];

Вниз

Как получить выбранный 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 вся ветка

Форум: "WinAPI";
Текущий архив: 2005.08.07;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.037 c
1-1121441253
Juice
2005-07-15 19:27
2005.08.07
Копирование комонента ( набора данных ?)


10-1098692190
WebErr
2004-10-25 12:16
2005.08.07
В Excel.Application NumericFormat у Range не устанавливается!!!


8-1112786904
murk2
2005-04-06 15:28
2005.08.07
Как сделать коррекцию гаммы в TBitmap?


3-1119806050
karat
2005-06-26 21:14
2005.08.07
Несколько подключений к базам в одном запросе?


14-1121449154
Shuric
2005-07-15 21:39
2005.08.07
Подмена понятий :)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский