Вернуться   Форум Пустоты.нет - приятное общение ! > Программирование

Отправка SMS по России и Украине.

.
Ответ
 
Опции темы Опции просмотра
Старый 04.05.2010, 01:49   #1
Уже был
 
male
Регистрация: 20.04.2010
Сообщений: 8
Провел(а) на форуме:
23 мин 28 сек.
Репутация: 0 Добавить отзыв для Aminka
По умолчанию C++ Builder 6. Как инициализировать Shape на уже созданной форме.

Ребят, первый раз надо написать программку на плюсах, нужен небольшой хелп. Использую Builder 6.

При запуске программы создается форма, на которой изображен прямоугольник, 4 edit и две кнопки изменить и удалить.

Изначально прямоугольник задается через Shape, т.е. при открытии программы прямоугольник уже есть на форме. Далее в edit вводим координаты, прямоугольник изменяет положение. При нажатии "Удалить" вызывается деструктор, который удаляет прямоугольник.

Проблема в следующем. Если нажать "Удалить", то потом при вводе координат и нажатии "Изменить" выдает ошибку. Причина понятна - идет попытка изменить координаты несуществующего прямоугольника. Идея проста: проверяем есть ли прямоуголиник, если нет - создаем, потом меняем координаты. Если есть - сразу меняем координаты. Но... перерыла кучу исходников, не могу найти, как инициализировать Shape на уже созданной форме. Понимаю, что, скорее всего, будет как-то совсем уж просто... Но, если кто знает, буду очень благодарна.

Сейчас код выглядит так:

// изменение координат
void __fastcall TForm1::Button2Click(TObject *Sender)
{
// проверяем, есть ли треугольник
if (Shape1 == NULL)
{

TShape *Shape1; // так инициализируется при создании формы. при нажатии на кнопку - не работает (((

};

//изменяем координаты

float fLeft, fTop, fWidth, fHeight;
fLeft=StrToFloat(Edit1->Text);
fTop=StrToFloat(Edit2->Text);
fWidth=StrToFloat(Edit3->Text);
fHeight=StrToFloat(Edit4->Text);

Shape1->Left = fLeft;
Shape1->Top = fTop;
Shape1->Width = fWidth;
Shape1->Height = fHeight;
}
//------------------------------------------------------------------------

//удаление проямоугольника
void __fastcall TForm1::Button3Click(TObject *Sender)
{
Shape1->~TShape();

}
Aminka вне форума   Ответить с цитированием

Интересные новости (не создавайте темы из этих новостей!!!)

Бесплатные знакомства в России, Украине.

Покупаешь? Возвращай Кэшбэк за покупки.

Ответ



Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +3, время: 20:49.


© Форум "Пустоты.нет" - общение и знакомства 2006-2021, Мобильный контент
Работает на vBulletin® версия 3.9.15
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Перевод:zCarot. Стиль: vBSkins. Dir

Top100
Страница сгенерирована за 0.05203 секунд с 9 запросами