Привет!
Суть дела:
Я сделала программку, которая выводит текст во вьюшку. Но текст, который мне нужно написать я выбираю в ComboBox'e. Текст я ввожу в ComboBox при обновлении edit'а в ComboBox'e т.е. как только я ввожу новый символ в edit ComboBox'a, вёсь текст помещается\сохранияется в list'e ComboBox'a. ComboBox находится в DialogBar'e.
Пример:
Я ввожу слово "visual" и у меня в ComboBox'e сохраняются такие позиции:
v
vi
vis
visu
visua
visual
Вот и теперь мне нужно вывести текст на вьюшку, я открываю ComboBox, вижу вышенаписаное и кликаю на "v", мне пишет "visual",
кликаю на "visu", мне пишет "v",
кликаю на "vi", мне пишет "visu",
кликаю на "visual", мне пишет "vi".
Пояснения:
Обратите внимание на законамерность. Вообщем при нажатии на строку, программа выводит мне ту строку которую я ввела до текущей (новой). Хотя инициализация (считывание текста с edit'ы ComboBox'a) CString и передача этой переменной я обрабатываю в ON_CBN_SELENDOK. Под Debug'ом я посмотрела что при нажатии текст в edit'e ComboBox'a не меняется, текст меняется когда я отпускаю кнопку мыши и тогда меня осенило, а что если сделать обработку в ON_CBN_CLOSEUP (т.е. когда закрывается list ComboBox'a, текст ведь меняется!). НО ничего не произошло, программа так же себя ведет. И я не пойму в чем дело.
Вопрос:
Я думаю что вы и сами догадались! Точно, мне нужно чтобы текст выводился такой который я выберу. Помогите мне с этим примером! Может быть лучше кому нить послать исходник, чтобы было наглядней. :(
Хороший программист характеризуется умением доказать почему задачу невозможно выполнить, когда ему просто лень её выполнять.
Здравствуйте Olearda, Вы писали:
O>Привет! O>Суть дела: O>Я думаю что вы и сами догадались! Точно, мне нужно чтобы текст выводился такой который я выберу. Помогите мне с этим примером! Может быть лучше кому нить послать исходник, чтобы было наглядней.
Скорее всего дело в том, что перед тем как строку во вьюшку передать вы не вызываете UpdateData()
Попробуйте — если не получится — пришлите кусочек кода — где вы строку во вью передаете
Здравствуйте Olearda, Вы писали:
O>Привет! O>Суть дела: O>Я сделала программку, которая выводит текст во вьюшку. Но текст, который мне нужно написать я выбираю в ComboBox'e...
Натали, у Вас явно писательский дар! Но не могли бы Вы показать кусочек кода прямо здесь?
Ребята спасибо большое!
Честно говоря с UpdateData у меня не получилось, скорее не туды его ставила А вот с GetCurSel + GetLBText — получилось!
Вот посмотрите что у меня получилось ))))))
void CMainFrame::Combo()
{
CDialogBoxView *myview;
myview=(CDialogBoxView *)GetActiveView();
CComboBox* box;
box=(CComboBox*)(mydlgbar.GetDlgItem(IDC_COMBO1));
i=0;//можно ее вообще убрать
i = box->GetCurSel();
if(true)
{ box->GetLBText(i,str);
myview->SetText(str);
}
}
Вообщем суть ясна!
СПАСИБО БОЛЬШОЕ!!!
Хороший программист характеризуется умением доказать почему задачу невозможно выполнить, когда ему просто лень её выполнять.