Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Добавление переменной в класс... нестандартный контрол 
:(
    Опции темы
Aline
Дата 5.2.2009, 10:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 470
Регистрация: 22.7.2005
Где: Таруса

Репутация: нет
Всего: нет



Всем привет! Хочу использовать в проекте MFC в диалоге контрол от National Instruments, это типа числового счетчика. Ставлю контрол в диалог, а затем добавляю переменную в класс как Control variable. Выбираю ID нужного мне контрола, в категории выбираю Value (причем мне туда вывелся список навеное всех свойств контрола), и после задания имени переменной жму Finish, а мне в ответ сообщение:Specify header file name of the control variable. Но вот какой файл выбрать? И для ччего?

Когда делала этио первый раз, такого сообщения не было. Но поставила на диалог второй контрол, стала добавлять переменную и вот появидлось сообщение. Ну я выбрала какой то фал и посыпались какие то ошибки по поводу неправильно обявленного класса и что то в этом роде. Я всё поубирала, начала заново и теперь с первого раза же выскакивает это сообщение. Как это победить?

И вообще, можно ли в MFC использовать чужие контролы?


Забыла, в поле Control type написано OCX

Это сообщение отредактировал(а) Aline - 5.2.2009, 10:37
PM MAIL   Вверх
Earnest
Дата 5.2.2009, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Можно использовать все. Напиши нужный код руками, мало ли какие у визарда тараканы.


--------------------
...
PM   Вверх
Aline
Дата 5.2.2009, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 470
Регистрация: 22.7.2005
Где: Таруса

Репутация: нет
Всего: нет



Earnest, это как это напиши нужный код руками? Какой код?

Сейчас почитала про OCX контролы, что-то с ними заморочки какие то потом при переносе на другой комп

Добавлено через 1 минуту и 20 секунд
Вообще мне нужен желатильно контрол типа Mask Edit , я с codeproject чего тот скачала, но теперь не знаю как им пользоваться, как его подключить к студии и использовать в проекте
PM MAIL   Вверх
voov
Дата 5.2.2009, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Патамушта мы пилоты
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 29.11.2007

Репутация: 8
Всего: 8



PM MAIL   Вверх
Aline
Дата 5.2.2009, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 470
Регистрация: 22.7.2005
Где: Таруса

Репутация: нет
Всего: нет



voov, я его и скачала, только как им теперь пользоваться - не знаю smile. Я распаковала архив, запустила инсталлятор, он мне всё загрузил в папку. Там есть примеры, исходники. Но как это подключить в проект?
PM MAIL   Вверх
Aline
Дата 5.2.2009, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 470
Регистрация: 22.7.2005
Где: Таруса

Репутация: нет
Всего: нет



voov, всё, яразобралась с этим компонентом, спасибо smile

PM MAIL   Вверх
Aline
Дата 5.2.2009, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 470
Регистрация: 22.7.2005
Где: Таруса

Репутация: нет
Всего: нет



voov, я поторопилась сказать, что разобралась с этим MaskEdit, никак не могу понять, как же программно можно задать значение?
PM MAIL   Вверх
voov
Дата 5.2.2009, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Патамушта мы пилоты
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 29.11.2007

Репутация: 8
Всего: 8



Aline, я не пользовался этим контролом, потому не могу сказать наверняка. Но я брал другие контролы из Ultimate Toolbox и могу сказать, что использовать их очень просто тем более, что все классы хорошо документированы и есть исходники, плюс есть примеры. Советую скачать доки с примерами.

Судя по документации, тебе нужен метод SetInputData().
PM MAIL   Вверх
Aline
Дата 5.2.2009, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 470
Регистрация: 22.7.2005
Где: Таруса

Репутация: нет
Всего: нет



voov, вообщем оказалось здесь проблема в другом. У меня запускается диалоговое окно сразу. Из него по кнопке я вызываю другое. И вот перед вызом мне в поле с маской надо установить значение. А у меня вылетает какая то ошибка.  Потом я решила не выставлять значение, раз у меня не получается. Думаю, ладно, пользователь введет норвое значение и я его установлю в таблицу. Но тут опять же проблема: ввожу тест в поле, нажимаю ОК, а значение не устанавливается. Т.е. оно сбрасывается и возвращается мне пустая строка. В MFC я недавно, поэтому спотыкаюсь на каждом шагу
PM MAIL   Вверх
voov
Дата 5.2.2009, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Патамушта мы пилоты
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 29.11.2007

Репутация: 8
Всего: 8



Ага, вроде бы становится понятно. 
Значит возможно 2 ситуации. Зависит от того, какого типа переменная у тебя связана с эдитом.
Судя по описаной картине, это переменная типа CString, т.е. переменная связана с контролом по значению. В этом случае, если ты хочешь записать данные из переменной в контрол, то нужно вызвать UpdateData(FALSE);
(обычно в OnInitDialog(), хотя зависит от потребностей). Если же наоборот, нужно получить значение в переменную из контрола, то нужно вызвать UpdateData(TRUE); (обычно в OnBnClickedOk()).
Второй случай, это когда переменная типа контрола, т.е. она представляет собой контрол. Здесь нужно пользоваться методами гэт и тэт, типа GetInputData() и SetInputData().
PM MAIL   Вверх
Aline
Дата 5.2.2009, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 470
Регистрация: 22.7.2005
Где: Таруса

Репутация: нет
Всего: нет



voov, спасибо. Я разобралась. Напутала с переменными и с их вызовом в разных окнах. Сейчас вроде всё ОК smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0700 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.