|
1 / 1 / 0
Регистрация: 11.01.2009
Сообщений: 28
|
||||||||||||||||
Динамическое создание кнопок23.01.2009, 14:51. Показов 14588. Ответов 24
Метки нет (Все метки)
Как создать кнопку, я примерно представляю:
Добавлено через 7 минут 48 секунд И ещё один вопрос. Есть класс:
однако вылетает ошибка Project raised exception class EACCESSViolation with message 'Access violation at adress ...' В чем ошибка?
0
|
||||||||||||||||
| 23.01.2009, 14:51 | |
|
Ответы с готовыми решениями:
24
Динамическое создание кнопок Динамическое создание кнопок |
|
|
||||||
| 23.01.2009, 14:59 | ||||||
ЗЫ: std::map<> можно поменять на любой удобный контейнер
0
|
||||||
|
|
||||||
| 23.01.2009, 15:31 | ||||||
0
|
||||||
|
1 / 1 / 0
Регистрация: 11.01.2009
Сообщений: 28
|
|
| 23.01.2009, 16:42 [ТС] | |
|
Спасибо, код с небольшими поправками работает.
А насчет класса не подскажите?
0
|
|
|
Почетный модератор
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
||||||
| 23.01.2009, 16:49 | ||||||
|
это говорит исключение говорит об обращении к неинициализированной памяти...
я всегда делаю в билдере так:
, не знаю, о чем я думал, когда этот пост писал...
0
|
||||||
|
1 / 1 / 0
Регистрация: 11.01.2009
Сообщений: 28
|
|
| 23.01.2009, 17:03 [ТС] | |
|
Хм... Все равно ту же ошибку выдает.
0
|
|
|
|
|||||||
| 23.01.2009, 17:23 | |||||||
1
|
|||||||
|
1 / 1 / 0
Регистрация: 11.01.2009
Сообщений: 28
|
||||||
| 27.01.2009, 07:25 [ТС] | ||||||
|
И правда
![]() Недосмотрел, спасибо. Добавлено через 22 часа 11 минут 18 секунд Еще вопросик, никак не могу понять. Обработчик:
0
|
||||||
|
Почетный модератор
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
| 27.01.2009, 08:18 | |
|
если вы один обработчик события присваиваете всем созданным кнопкам, тогда в параметре Sender передается именно та кнопка, на которую вы кликаете, поэтому простым преобразованием типов вы можете Sender преобразовать TButton, хотя если вам нужно только свойство Name, то и TComponent пойдет... ну и считываете имя нажатой кнопки... и для создания динамических компонентов необязательно использовать контейнеры, т.к. таковым уже является форма, в которой вы создаете компоненты...
1
|
|
|
1 / 1 / 0
Регистрация: 11.01.2009
Сообщений: 28
|
||||||
| 02.04.2009, 09:42 [ТС] | ||||||
|
Ещё один вопросик.
Картинки для динамических кнопок SpeedButton (со включенным свойством transparent) я задаю так:
Проблема: некоторые иконки отображаются неверно. Например, область посредине иконки прозрачна. хотя не должна. Та же иконка в виде ярлыка на раб.столе нормально рисуется системой. Добавлено через 19 часов 48 минут 42 секунды Весь рунет обыскал уже, не могу найти решения...
0
|
||||||
|
2 / 2 / 1
Регистрация: 17.03.2009
Сообщений: 23
|
||||||||||||||||
| 02.04.2009, 10:14 | ||||||||||||||||
|
уважаемый oxotnik , я еще только начинаю изучать С++ , но насколько я понял эта строчка
a)распознание по какому TImage был DblClick или b)за то чтобы действия были совершенны только если DblClick был именно по TImage, да ? ![]() внимание вопрос строчка отвечает только за это ?по таму что если только за это , то a)если вы например захотите что бы для каждой динамически созданной TImage было выполнено отдельное действие , то вам потом всеравно прийдеться проверять по какой из них был DblClick ?! b)тогда действия будут выполнены над всеми создаными TImage ?! а насколько я понял roomer'у надо выполнять разные действия над каждой динамически созданной кнопке, а посему может такой вариант был бы проще или нет ? ![]()
0
|
||||||||||||||||
|
10 / 10 / 0
Регистрация: 08.12.2008
Сообщений: 103
|
|
| 02.04.2009, 10:28 | |
|
А кто знает как добавить в форум кнопку?
0
|
|
|
43 / 43 / 16
Регистрация: 16.05.2009
Сообщений: 372
|
|
| 16.05.2009, 21:11 | |
|
Здравствуйте! Не могли бы подсказать, почему при удалении динамически созданной кнопки она остается на форме?
0
|
|
|
43 / 43 / 16
Регистрация: 16.05.2009
Сообщений: 372
|
||||||
| 16.05.2009, 21:25 | ||||||
Или Они удаляются, но лишь остаются на форме? MyButton[i]->Visible=false; - поможет?
0
|
||||||
|
|
|
| 16.05.2009, 21:29 | |
|
ты вообще топик читал?
удаляешь ты не указатель на класс кнопки а указатель на массив указателей кнопок. delete[] MyButton; //или for (int j = 0; j<i; j++ delete MyButton[j]; PS: почему цикл по k а создается MyButton[i] зачем 3 раза записывать в одно и то же место разные указатели, при этом во первых: если const i = 0, тогда пишешь за границы массива, во вторых: первые 2 указателя теряются.
0
|
|
|
43 / 43 / 16
Регистрация: 16.05.2009
Сообщений: 372
|
|
| 16.05.2009, 21:41 | |
|
С циклом намудрил, признаю... А насчет удаления столько всего перекопал "не совсем по теме", что уже запутался! Спасибо за помощь! Буду дальше учиться.
0
|
|
|
43 / 43 / 16
Регистрация: 16.05.2009
Сообщений: 372
|
|
| 18.05.2009, 22:09 | |
|
Вот смотрите, объявляю массив кнопок:
1 const i=10, j=10; 2 TBitBtn *MyButton[i][j]; Какое значение имеют константы (их требует компилятор)? Что происходит, если я программно создаю несколько больше кнопок? Допустим, массив 15х15! Не теряю ли что? На форме они отображаются исправно, компилятор не "пищит"...
0
|
|
|
Maniac
|
||||||
| 18.05.2009, 22:12 | ||||||
0
|
||||||
| 18.05.2009, 22:12 | |
|
Помогаю со студенческими работами здесь
20
Динамическое создание кнопок. Динамическое создание кнопок
Динамическое создание кнопок Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи
и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|