Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
Drony
1 / 1 / 0
Регистрация: 22.10.2011
Сообщений: 18
#1

Проблема с работой с несколькими формами - C++ Builder

28.10.2011, 15:41. Просмотров 1264. Ответов 27


http://www.cyberforum.ru/cpp-builder/thread76967.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2011, 15:41
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Проблема с работой с несколькими формами (C++ Builder):

Ошибка с работой массива
Здравствуйте. Есть код (данные в массив берутся из файла Excel): TForm2...

Трудности с работой openoffice/
Привет Всем.В чера произошла одна проблема. У меня есть код, который заполняет...

Слежение/контроль за работой принтеров
а реально ли вообще написать програмульку, которая бы снимала данные с...

Работа с несколькими формами
Как обратиться к элементам управления одной формы из другой формы?

Работа с несколькими формами
Здравствуйте. У меня возникла следующая проблема. Я создал форму...

27
LK
Заблокирован
28.10.2011, 16:52 #2
и что? ну, не может он найти или открыть этот ваш странный _.png...
0
Drony
1 / 1 / 0
Регистрация: 22.10.2011
Сообщений: 18
28.10.2011, 16:57  [ТС] #3
LK, в MainForm находит же и отлично…
а во второй форме даже эти же картинки не находит…
0
LK
Заблокирован
28.10.2011, 17:17 #4
в главном окне я ничего с "крестиком" не нашел (может, плохо искал) , попробуйте без крестика все это - +_*.png , для начала
0
Drony
1 / 1 / 0
Регистрация: 22.10.2011
Сообщений: 18
28.10.2011, 18:21  [ТС] #5
не в картинке проблема… а с самой формой что-то…
допустим я сделаю на второй форме кнопку TButton * Button1;
и на событие OnClick повешу обработчик:
Form2->Button1->Visible = false;
кнопка должна исчезнуть…
но возникает эта же ошибка…
а если сделать то же самое для Form1, всё работает нормально…
0
LK
Заблокирован
28.10.2011, 18:31 #6
а обращение ко второй форме из первой работет нормально, типа этого :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void __fastcall TForm1::BOClick(TObject *Sender)
{
        bool static flag = false;
        flag = !flag;
        if (flag)
        {
                Form1->FormStyle = fsStayOnTop;
                Form2->FormStyle = fsStayOnTop;
        }
        else
        {
                Form1->FormStyle = fsNormal;
                Form2->FormStyle = fsNormal;
        }
}
?
0
Drony
1 / 1 / 0
Регистрация: 22.10.2011
Сообщений: 18
28.10.2011, 18:35  [ТС] #7
да… работает…
0
LK
Заблокирован
28.10.2011, 18:40 #8
выложите проект для экспериментов
0
Drony
1 / 1 / 0
Регистрация: 22.10.2011
Сообщений: 18
28.10.2011, 20:10  [ТС] #9
Вот экспериментируйте))
0
Вложения
Тип файла: rar KKPlayer (Builder).rar (7.82 Мб, 16 просмотров)
LK
Заблокирован
28.10.2011, 20:53 #10
ага, есть такое дело, и вы посмотрите, куда у меня кнопочки сбежали, может, им какие якоря указать надо ?
ну и само название, простите великодушно - "кака плеер" - звучит не очень гламурно, но это сугубо мое личное имхо и мои собственные маразмы

по теме - поэкспериментирую попозжее
0
Миниатюры
Проблема с работой с несколькими формами  
Drony
1 / 1 / 0
Регистрация: 22.10.2011
Сообщений: 18
28.10.2011, 21:26  [ТС] #11
Кнопочки сбежали, что-то новенькое... У названия свои причины, которые понятны узкому кругу лиц)
А что по поводу основной проблемы? Я имею в виду, покажите хоть направление, в каком мне двигаться...
0
LK
Заблокирован
28.10.2011, 21:37 #12
не должно здесь
C++
1
2
3
4
5
void __fastcall TForm2::BPlusMouseMove(TObject *Sender, TShiftState Shift, int X,
          int Y)
{
  Form2->BPlus->Picture->LoadFromFile("+_pl2.png");
}
быть проблемы
попробуйте заменить обработчик на MouseEnter и посмотрите
также неизвестно , как вы вставляли имя файла - вводили с клавиатуры, или копировали имя в проводнике, попробуйте пошаманить с этим именем - может, там какой символ не совпадает, ну, и не нравится мне это +- в именах файлов, и все, мне нравится гламурное btnPlistMouseEnter.png, например , но это, опять же, мое личное, понятое после получения многисленных довольно болезненых шишек в подобных ситуациях , да, каждый предпочитает учиться на своих шишках
1
DefineTrueFalse
869 / 446 / 35
Регистрация: 25.10.2011
Сообщений: 910
28.10.2011, 21:40 #13
Может я не в теме, но почему в основном юните объявлена "Form2"?
2
LK
Заблокирован
28.10.2011, 21:43 #14
Цитата Сообщение от DefineTrueFalse Посмотреть сообщение
почему в основном юните объявлена "Form2"?
гм... точно ... хотя на проблемы с кнопкой во второй форме это как бы влиятьне должно ...
1
Drony
1 / 1 / 0
Регистрация: 22.10.2011
Сообщений: 18
28.10.2011, 21:44  [ТС] #15
Чтоб при нажатии на кнопку на главном окне, открывалось и закрывалось второе окно. А также для функции перемещения окна.
0
DefineTrueFalse
869 / 446 / 35
Регистрация: 25.10.2011
Сообщений: 910
28.10.2011, 21:48 #16
Цитата Сообщение от Drony Посмотреть сообщение
Чтоб при нажатии на кнопку на главном окне, открывалось и закрывалось второе окно.
Тут 2 варианта, либо тебе нужно попробовать удалить эту строку и посмотреть, что получится, либо Builder явно что-то скрывает...
1
Drony
1 / 1 / 0
Регистрация: 22.10.2011
Сообщений: 18
28.10.2011, 21:54  [ТС] #17
Цитата Сообщение от DefineTrueFalse Посмотреть сообщение
Тут 2 варианта, либо тебе нужно попробовать удалить эту строку и посмотреть, что получится, либо Builder явно что-то скрывает...
Ёу, а если убрать объявление и всё, что связано с Form2 тогда работает))
И имя файла нормальное =)

Тогда возникает новая проблема... Как корректировать положение второго окна в реальном времени?
если я буду перемещать главное окно, плейлист будет стоять на месте... а мне нужно как бы "прицепить" его..
0
DefineTrueFalse
869 / 446 / 35
Регистрация: 25.10.2011
Сообщений: 910
28.10.2011, 22:01 #18
А в чем проблема то? В движениях мыши над Image1 вроде все прописано было.
0
LK
Заблокирован
28.10.2011, 22:06 #19
речь была о том, чтобы убрать TForm2 *Form2;
, достаточно #include "Playlist.h"
и вот это вызывает смутные сомнения:
C++
1
2
3
4
5
6
7
8
9
10
if (flag)
        {
                Form1->FormStyle = fsStayOnTop;
                Form2->FormStyle = fsStayOnTop;
        }
        else
        {
                Form1->FormStyle = fsNormal;
                Form2->FormStyle = fsNormal;
        }
ну, не могут две формы одновременно быть StayOnTop, может, как-нибудь так
C++
1
2
3
4
5
6
7
8
if (flag)
        {
                Form1->FormStyle = fsStayOnTop;
        }
        else
        {
                Form2->FormStyle = fsNormal;
        }
1
DefineTrueFalse
869 / 446 / 35
Регистрация: 25.10.2011
Сообщений: 910
28.10.2011, 22:09 #20
Должно быть что-то вроде этого:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
//...
bool drag = false;
//...
void __fastcall TForm1::Image1MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
   if (Button == mbLeft)
   {
      ReleaseCapture();
      Perform(WM_SYSCOMMAND,0xF012,0);
      drag = true;
   }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Image1MouseMove(TObject *Sender, TShiftState Shift,
      int X, int Y)
{
   if (drag)
   {
      Form2->Left = Form1->Left;
      Form2->Top = Form1->Top + Form1->Height;
   }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Image1MouseUp(TObject *Sender, TMouseButton Button,
      TShiftState Shift, int X, int Y)
{
   drag = false;
}
//---------------------------------------------------------------------------
1
28.10.2011, 22:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.10.2011, 22:09
Привет! Вот еще темы с решениями:

Работа с несколькими формами
Как сделать так, что-бы на кнопку открывалась например другая форма, в ней...

Действия с несколькими формами
Здравствуйте! Имеется две формы. Вторая форма отображается в НЕ модальном...

Приложение с несколькими формами
У меня такая проблема. В приложении три формы. Программа может...

Работа с несколькими формами
Думаю при наличии ответов в этой теме, после индексирования её поисковиками,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru