brony
77 / 57 / 4
Регистрация: 02.01.2012
Сообщений: 521
|
|
1 | |
Windows Form вызывание в своих функциях компонентов02.06.2012, 21:18. Показов 3349. Ответов 9
Метки нет (Все метки)
Создал свой .cpp файл, подключил к проекту, подключил к заголовочному файлу, на нажатие кнопки прописал вызов функции, в функции прописал изменение текста на кнопке. Отказывается работать. Однако, если функцию разместить в файле где прописано нажатие кнопки всё работает. Что я делаю не так? Как получить доступ к компонентам формы через свои функции?
0
|
02.06.2012, 21:18 | |
Ответы с готовыми решениями:
9
Составить программу в Windows Form, которая выводит сообщение о своих возможностях. Использование TObject *Sender в своих функциях Использование компонентов формы в своих классах Создать win form, используя шаблон windows form в clr, однако такого шаблона на моей студии 2013 нет |
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
|
02.06.2012, 21:23 | 2 |
отказывается работать - это не компилируется или что?
что такое свои функции? просто свободные функции, которым какие-то параметры передаются? не мемберы классов? если так, то чтобы в теле функции можно было изменить текст какого-то компонента, то в эту функцию в качестве аргумента нужно передавать указатель (ссылку) на компонент, свойства которого вы хотите изменить (например чтобы изменить текст).
1
|
brony
77 / 57 / 4
Регистрация: 02.01.2012
Сообщений: 521
|
|
02.06.2012, 21:48 [ТС] | 3 |
Да, не компилируется. При попытке обращения к элементу он его не находит.
функции, описанные в отдельных подключенных к основному проекту cpp файлах Можно тут поподробнее?
0
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
||||||||||||||||
02.06.2012, 21:52 | 4 | |||||||||||||||
вот код:
Если у вас такие же функции , то в них нужно передавать какой-то контрол, чтобы поменять у него текст:
1
|
brony
77 / 57 / 4
Регистрация: 02.01.2012
Сообщений: 521
|
|
02.06.2012, 22:11 [ТС] | 5 |
Да, подобные функции, но я так и не понял указатель на что именно нужно передавать. К примеру функция должна менять текст на кнопке. В файле Form1.h если прописать на клике кнопки this->button1->Text = L"111"; то работает. Нужно при клике вызвать функцию, которая находится не в Form1.h которая и поменяет текст. До меня так и не дошло как это сделать.
0
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
||||||
02.06.2012, 22:15 | 6 | |||||
button1 - это как раз и есть тот самый контрол. тип его я не знаю. скажем пусть будет
Button (правильный тип класса смотрите у себя в коде, я не знаю с чем вы там работаете) тогда функция f :
1
|
brony
77 / 57 / 4
Регистрация: 02.01.2012
Сообщений: 521
|
|
02.06.2012, 22:42 [ТС] | 7 |
0
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
|
02.06.2012, 22:47 | 8 |
что у вас в коде f? вы функцию такую в каком-то файле объявили? а том файле, откуда ее вызываете инклуд нужный прописали?
0
|
brony
77 / 57 / 4
Регистрация: 02.01.2012
Сообщений: 521
|
|
02.06.2012, 22:50 [ТС] | 9 |
0
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
|
02.06.2012, 22:58 | 10 |
где да?
основы с++ почитайте по части модульности, инклудов и т.п. в MyFunctoin.h файле объявляется функция void f(); в cpp файле MyFunction.cpp определяется эта функция void f() { } в других файлах если нужно вызвать эту функцию, то в списке инклудов нужно нужно прописать include "MyFunction.h"
0
|
02.06.2012, 22:58 | |
02.06.2012, 22:58 | |
Помогаю со студенческими работами здесь
10
Создание своих компонентов. TICQComponent своими руками? Посоветуйте литературу для написания своих компонентов в WinForms Вызывание точки останова Создает ли Windows папку Windows.old также и для своих регулярных обновлений? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |