|
1 / 1 / 0
Регистрация: 11.01.2009
Сообщений: 28
|
||||||||||||||||
Динамическое создание кнопок23.01.2009, 14:51. Показов 14617. Ответов 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 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|