Форум программистов CodeGuru
18 Январь 2018, 18:05:34 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Combobox и ON_CBN_SELENDOK  (Прочитано 16760 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Livesms
Новичок
*
Офлайн Офлайн

Сообщений: 3


Просмотр профиля
« : 23 Октябрь 2007, 15:19:41 »

Вот возникла проблема.
На диалоге есть Combobox и Edit
При выборе значения в Combobox его нужно копировать в Edit.

Обрабатываю сообщение ON_CBN_SELENDOK


Код:
void CComboDlg::OnSelendokCombo1()
{
// TODO: Add your control notification handler code here
char sBuf[255];
m_combo1.GetWindowText(sBuf, 255);
m_edit1.SetWindowText(sBuf);

}


И получаю странное запаздывание (в edit копируется не то значение, которае я выбрал, а то что было до выбора).

Пример в вложении.

PS Заодно может кто знает как сделать ComboBox readonly
« Последнее редактирование: 23 Октябрь 2007, 15:20:02 от livesms » Записан
3V
Администратор
Ветеран
*****
Офлайн Офлайн

Сообщений: 1347



Просмотр профиля WWW
« Ответ #1 : 24 Октябрь 2007, 00:57:52 »

ComboBox именно "выбираемый" (Drop List, т.е. вручную значения вводить нельзя) ?
Если да, то надо использовать CBN_SELCHANGE, если надо копировать значения во время ввода - то придется обрабатывать сообщения от клавиатуры еще.

Да, GetWindowText при работе с комбо-боксом также обычно не применяют. Надо использовать GetCurSel + GetLBText (опять же для случая Drop List Combo Box).
GetWindowText вернет на самом деле то, что находится в текущий момент в EDIT комбобокса.

З.Ы. или я не до конца понял вопрос ?
Записан

Livesms
Новичок
*
Офлайн Офлайн

Сообщений: 3


Просмотр профиля
« Ответ #2 : 24 Октябрь 2007, 10:29:02 »

Цитата: 3V
ComboBox именно "выбираемый" (Drop List, т.е. вручную значения вводить нельзя) ?
Если да, то надо использовать CBN_SELCHANGE, если надо копировать значения во время ввода - то придется обрабатывать сообщения от клавиатуры еще.

Да, GetWindowText при работе с комбо-боксом также обычно не применяют. Надо использовать GetCurSel + GetLBText (опять же для случая Drop List Combo Box).
GetWindowText вернет на самом деле то, что находится в текущий момент в EDIT комбобокса.

З.Ы. или я не до конца понял вопрос ?


Спасибо. Именно GetCurSel + GetLBText работает...

Заодно, может подкинешь идею

Ищу простой и "дешевый" способ работы с любой из доступных СУБД (чем проще ы легче тем лучше) из диалогового приложения Visual C++ (MFC) используя язык SQL.

Необходимо написать небольшое приложение для ввода данных в базу и формирования отчетов ( с выводом на печать).

У кого есть опыть/мысли по поводу?
Записан
3V
Администратор
Ветеран
*****
Офлайн Офлайн

Сообщений: 1347



Просмотр профиля WWW
« Ответ #3 : 27 Октябрь 2007, 14:31:41 »

Видимо, вот эта тема имеется в виду: работа с простой базой данных в приложении MFC ?
Ответил там Улыбка
Записан

Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!