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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.01.2014, 19:48   #1
программирование
Форумчанин
 
Регистрация: 22.04.2013
Сообщений: 162
Восклицание немного исправить работающий код С++ Builder XE4 (визуальный режим)

добрый вечер, всем посетителям этого форума. помогите, пожалуйста, исправить программу на языке С++ Builder XE4 в визуальном режиме.

задание:
с помощью компонента контейнера Panel поделите пространство формы на две части (главная и нижняя). на главной части разместить кнопку Button. на нижней правой части разместить компонент TrackBar. при изменении "ползунка" TrackBar реализовать возможность изменения прозрачности формы. при наведении мыши на кнопку Button реализовать возможность изменения её положения относительно формы с невозможностью выхода за границы формы.

код программы (он работает, но не совсем так как мне нужно):
Код:
#include <vcl.h>
#pragma hdrstop

#include "Unit66.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm66 *Form66;
//---------------------------------------------------------------------------
__fastcall TForm66::TForm66(TComponent* Owner)
	: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm66::Button1MouseEnter(TObject *Sender)
{
Button1->Top  = rand() % (Form66->ClientHeight - Button1->Height);
Button1->Left = rand() % (Form66->ClientWidth - Button1->Width);
}
//---------------------------------------------------------------------------
void __fastcall TForm66::TrackBar1Change(TObject *Sender)
{
Form66->AlphaBlendValue = TrackBar1->Position;
}
//---------------------------------------------------------------------------
void __fastcall TForm66::FormCreate(TObject *Sender)
{
TrackBar1->Max = 255;
TrackBar1->Position = TrackBar1->Max;
Form66->AlphaBlend = true;
}
//---------------------------------------------------------------------------
мне нужно исправить в программе, код которой выложен выше:
- при запуске программы, когда я навожу мышью на кнопку Button, то она исчезает. (то есть сделать так, чтобы при наведении мыши на кнопку Button реализовать возможность изменения её положения относительно формы с невозможностью выхода за границы формы.)

заранее огромное спасибо всем, кто поможет.
программирование вне форума Ответить с цитированием
Старый 24.01.2014, 06:48   #2
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

При входе на кнопку захватываете координаты мыши, потом по событию mousemove (или таймеру) меняете координаты кнопки, подгоняя их под курсор.

// А давайте его забаним?
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести количество дней "К" и суммарный пробег "S" С++ Builder XE4 (визуальный режим) программирование Помощь студентам 0 23.01.2014 02:04
КЛАСС TDateTime С++ ВИЗУАЛЬНЫЙ РЕЖИМ программирование Общие вопросы C/C++ 1 20.01.2014 14:53
ВЫВЕСТИ СТРОКУ ОПИСАНИЕ ОЦЕНКИ (2 -ПЛОХО....5 - ОТЛИЧНО) С++ ВИЗУАЛЬНЫЙ РЕЖИМ программирование Общие вопросы C/C++ 1 19.01.2014 23:03
визуальный режим делфи swagga Помощь студентам 4 23.01.2012 19:36