![]() |
|
|
![]()
|
|
| Aline |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 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 |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Можно использовать все. Напиши нужный код руками, мало ли какие у визарда тараканы.
-------------------- ... |
|||
|
||||
| Aline |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 470 Регистрация: 22.7.2005 Где: Таруса Репутация: нет Всего: нет |
Earnest, это как это напиши нужный код руками? Какой код?
Сейчас почитала про OCX контролы, что-то с ними заморочки какие то потом при переносе на другой комп Добавлено через 1 минуту и 20 секунд Вообще мне нужен желатильно контрол типа Mask Edit , я с codeproject чего тот скачала, но теперь не знаю как им пользоваться, как его подключить к студии и использовать в проекте |
|||
|
||||
| voov |
|
|||
![]() Патамушта мы пилоты ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 29.11.2007 Репутация: 8 Всего: 8 |
как насчет такого - http://www.codeproject.com/KB/MFC/Ultimate...x_MaskEdit.aspx
|
|||
|
||||
| Aline |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 470 Регистрация: 22.7.2005 Где: Таруса Репутация: нет Всего: нет |
voov, я его и скачала, только как им теперь пользоваться - не знаю
|
|||
|
||||
| Aline |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 470 Регистрация: 22.7.2005 Где: Таруса Репутация: нет Всего: нет |
voov, всё, яразобралась с этим компонентом, спасибо
|
|||
|
||||
| Aline |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 470 Регистрация: 22.7.2005 Где: Таруса Репутация: нет Всего: нет |
voov, я поторопилась сказать, что разобралась с этим MaskEdit, никак не могу понять, как же программно можно задать значение?
|
|||
|
||||
| voov |
|
|||
![]() Патамушта мы пилоты ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 29.11.2007 Репутация: 8 Всего: 8 |
Aline, я не пользовался этим контролом, потому не могу сказать наверняка. Но я брал другие контролы из Ultimate Toolbox и могу сказать, что использовать их очень просто тем более, что все классы хорошо документированы и есть исходники, плюс есть примеры. Советую скачать доки с примерами.
Судя по документации, тебе нужен метод SetInputData(). |
|||
|
||||
| Aline |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 470 Регистрация: 22.7.2005 Где: Таруса Репутация: нет Всего: нет |
voov, вообщем оказалось здесь проблема в другом. У меня запускается диалоговое окно сразу. Из него по кнопке я вызываю другое. И вот перед вызом мне в поле с маской надо установить значение. А у меня вылетает какая то ошибка. Потом я решила не выставлять значение, раз у меня не получается. Думаю, ладно, пользователь введет норвое значение и я его установлю в таблицу. Но тут опять же проблема: ввожу тест в поле, нажимаю ОК, а значение не устанавливается. Т.е. оно сбрасывается и возвращается мне пустая строка. В MFC я недавно, поэтому спотыкаюсь на каждом шагу
|
|||
|
||||
| voov |
|
|||
![]() Патамушта мы пилоты ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 29.11.2007 Репутация: 8 Всего: 8 |
Ага, вроде бы становится понятно.
Значит возможно 2 ситуации. Зависит от того, какого типа переменная у тебя связана с эдитом. Судя по описаной картине, это переменная типа CString, т.е. переменная связана с контролом по значению. В этом случае, если ты хочешь записать данные из переменной в контрол, то нужно вызвать UpdateData(FALSE); (обычно в OnInitDialog(), хотя зависит от потребностей). Если же наоборот, нужно получить значение в переменную из контрола, то нужно вызвать UpdateData(TRUE); (обычно в OnBnClickedOk()). Второй случай, это когда переменная типа контрола, т.е. она представляет собой контрол. Здесь нужно пользоваться методами гэт и тэт, типа GetInputData() и SetInputData(). |
|||
|
||||
| Aline |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 470 Регистрация: 22.7.2005 Где: Таруса Репутация: нет Всего: нет |
voov, спасибо. Я разобралась. Напутала с переменными и с их вызовом в разных окнах. Сейчас вроде всё ОК
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |