Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.03.2010, 21:53   #1
FW-TOT
Пользователь
 
Регистрация: 01.08.2008
Сообщений: 19
По умолчанию C++ Builder - баги с Image

Здравствуйте. Хотел сделать меню, в котором наподобие Сапёра выбирается размер поля NxN. Потом поле можно закрыть и тогда снова открывается меню выбора размера поля.
Проблема только вот в чём: начиная со второй попытки, поля создаются размером НЕ БОЛЬШЕ, чем было создано в первый раз. Меньше - создаётся, даже за границы не вылезает. Больше - никак, хотя значения в функции передаются правильно, переменная, отвечающая за размер, тоже верна (отображается в заголовке). И ещё почему-то стиль окна меняется на более древний (типа Windows 98 - рамка у окна попроще, кнопки закрыть-свернуть помельче. Не критично, но всё же симптом)

Полагаю, Image просто не перерисовывается. Но я пробовал применить к Image1 функции Repaint, Refresh и Update - ноль эффекта. Подскажите, пожалуйста, как исправить баг.

И ещё один вопрос: при запуске проекта из Билдера (не с экзешника) иногда фокус выпадает на окно с кодом, хотя программа продолжает работать и не жалуется на ошибки. Отчего такие капризы у фокусировки?
Вложения
Тип файла: zip V0.2.ZIP (820.9 Кб, 7 просмотров)
От неудач не ревут. С ними разбираются.
FW-TOT вне форума Ответить с цитированием
Старый 11.03.2010, 09:35   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Мне кажется что ты зря Image для этих целей взял
Я бы выкинул Image
Для формы описал событие OnPaint
Код:
void __fastcall TForm3::FormPaint(TObject *Sender)
{
		int i,j;
	   // Image1->Hide();         Image1->Show();
		for (i=0;i<=Size;i++)
				{
				 Canvas->MoveTo(i*30,0);
				 Canvas->LineTo(i*30,Width);
				 Canvas->MoveTo(0,i*30);
				 Canvas->LineTo(Width,i*30);
				}
}
И не морочил яйки с таймером.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проверить на баги serckesh Помощь студентам 1 05.02.2010 19:54
Вопрос по Image (скачанная картинка не хочет выводиться в Image) Radnor Мультимедиа в Delphi 2 06.07.2009 02:20
Рельефный Image в Builder. Maxs C++ Builder 4 30.05.2009 19:07
Помогите найти баги Роман Радер Софт 0 01.04.2007 17:44