Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 15.11.2008, 20:41
6300 6300 вне форума
Прохожий
 
Регистрация: 14.11.2008
Сообщения: 7
Репутация: 10
По умолчанию Как открыть новое окно при нажатии кнопки?

Народ подскажите как можно сделать чтобы при нажатии например одной кнопки открывалось другое окно??
Ответить с цитированием
  #2  
Старый 15.11.2008, 21:14
Alexo Alexo вне форума
Начинающий
 
Регистрация: 24.01.2007
Сообщения: 191
Репутация: 15
По умолчанию

Form2.Show
__________________
Delphi - это лишь инструмент, а что ты сможешь создать при помощи этого инструмента, зависит исключительно от тебя.
Ответить с цитированием
  #3  
Старый 15.11.2008, 21:24
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Так не пойдет, ибо форма будет постоянно существовать с момента запуска программы до ее завершения.
Можно использовать модальное окно.
Код:
begin
  application.createform(TForm2,Form2);
  if Form2.ShowModal=mrOk then
    begin
      //Some code
    end;
  Form2.Free;
end;
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #4  
Старый 15.11.2008, 21:47
Alexo Alexo вне форума
Начинающий
 
Регистрация: 24.01.2007
Сообщения: 191
Репутация: 15
По умолчанию

Цитата:
Народ подскажите как можно сделать чтобы при нажатии например одной кнопки открывалось другое окно??

Цитата:
Form2.Show

разве не пойдет?

К тому же можно в
formClose
Action := caFree;

И ненадо самостоятельно ничего елать.
__________________
Delphi - это лишь инструмент, а что ты сможешь создать при помощи этого инструмента, зависит исключительно от тебя.

Последний раз редактировалось Alexo, 15.11.2008 в 21:50.
Ответить с цитированием
  #5  
Старый 18.03.2010, 02:54
lifant lifant вне форума
Прохожий
 
Регистрация: 18.03.2010
Сообщения: 13
Репутация: 10
По умолчанию

Тоже возник такой вопрос (с Delphi знаком всего как неделю), только у меня .NET приложение.
нашел в книжке пример, но он у меня не работает. ((
В проекте два модуля--две формы: WinForm и WinForm1.
В форме WinForm есть кнопка с процедурой по нажатию:
Код:
procedure TWinForm.Button1_Click(sender: System.Object; e: System.EventArgs);
var
  t:TWinForm;
begin
  t:=TWinForm1.Create;
  try
    t.ShowDialog;
  finally
   t.Free;
  end;
end;
и еще в WinForm после implementation добавил uses WinForm1;
при компиляции ругается на строку t:=TWinForm1.Create; , говорит [Error] WinForm.pas(98): E2010 Incompatible types: 'TWinForm' and 'TWinForm1'
Подскажите чайнику где тут грабли?
Ответить с цитированием
  #6  
Старый 19.03.2010, 03:17
Аватар для ryderx34
ryderx34 ryderx34 вне форума
Активный
 
Регистрация: 22.01.2010
Сообщения: 211
Версия Delphi: 7, 2010
Репутация: 1349
По умолчанию

Цитата:
Сообщение от lifant
Тоже возник такой вопрос (с Delphi знаком всего как неделю), только у меня .NET приложение.
нашел в книжке пример, но он у меня не работает. ((
В проекте два модуля--две формы: WinForm и WinForm1.
В форме WinForm есть кнопка с процедурой по нажатию:
Код:
 
procedure TWinForm.Button1_Click(sender: System.Object; e: System.EventArgs);
var
t:TWinForm;
begin
t:=TWinForm1.Create;
try
t.ShowDialog;
finally
t.Free;
end;
end;
и еще в WinForm после implementation добавил uses WinForm1;
при компиляции ругается на строку t:=TWinForm1.Create; , говорит [Error] WinForm.pas(98): E2010 Incompatible types: 'TWinForm' and 'TWinForm1'
Подскажите чайнику где тут грабли?
В uses укажи не саму форму, а unit в котором она содержится и обращайся к ней без всяких переменных:
Код:
WinForm1.Create;
и т.д.

Последний раз редактировалось ryderx34, 19.03.2010 в 03:22.
Ответить с цитированием
  #7  
Старый 19.03.2010, 10:55
lifant lifant вне форума
Прохожий
 
Регистрация: 18.03.2010
Сообщения: 13
Репутация: 10
По умолчанию

Тогда в ошибках пишет: 'WinForm1' does not contain a member named 'Create'
Ответить с цитированием
  #8  
Старый 19.03.2010, 23:32
Аватар для ryderx34
ryderx34 ryderx34 вне форума
Активный
 
Регистрация: 22.01.2010
Сообщения: 211
Версия Delphi: 7, 2010
Репутация: 1349
По умолчанию

Цитата:
Сообщение от lifant
Тогда в ошибках пишет: 'WinForm1' does not contain a member named 'Create'
Точно, что-то я не подумал...
попробуй так:
Код:
WinForm1:=TWinForm1.Create(self);
ну а потом уже:
Код:
WinForm1.Show;
и т.д.
Ответить с цитированием
  #9  
Старый 20.03.2010, 12:51
lifant lifant вне форума
Прохожий
 
Регистрация: 18.03.2010
Сообщения: 13
Репутация: 10
По умолчанию

Дык то же самое только теперь с Show :
'WinForm1' does not contain a member named 'Show'
Ответить с цитированием
  #10  
Старый 20.03.2010, 23:38
Аватар для ryderx34
ryderx34 ryderx34 вне форума
Активный
 
Регистрация: 22.01.2010
Сообщения: 211
Версия Delphi: 7, 2010
Репутация: 1349
По умолчанию

Цитата:
Сообщение от lifant
Дык то же самое только теперь с Show :
'WinForm1' does not contain a member named 'Show'
только сейчас заметил:
Цитата:
у меня .NET приложение
я с .NET никогда не работал.
попробуй как в той процедуре что ты писал, ShowDialog вместо Show
Код:
WinForm1.ShowDialog
Ответить с цитированием
  #11  
Старый 23.03.2010, 01:12
aleksandr278 aleksandr278 вне форума
Прохожий
 
Регистрация: 23.03.2010
Сообщения: 2
Репутация: 10
По умолчанию Как сделать окно чтоб висело на главной форме.

как сделать чтоб при нажатии определеной кнопки в определеном месте появлялся компонент Label на форме и что б он не закрывался и не проподал в зад формы.
Ответить с цитированием
  #12  
Старый 23.03.2010, 02:06
Аватар для ryderx34
ryderx34 ryderx34 вне форума
Активный
 
Регистрация: 22.01.2010
Сообщения: 211
Версия Delphi: 7, 2010
Репутация: 1349
По умолчанию

Цитата:
Сообщение от aleksandr278
как сделать чтоб при нажатии определеной кнопки в определеном месте появлялся компонент Label на форме
Код:
Label1.Left:=  10;
Label1.Top:=  10;
Label1.Visible:= True; // или Label1.Show;
Цитата:
и что б он не закрывался и не проподал в зад формы.
т. е. чтобы его не закрывали другие компоненты ? Просто ставь его на форму в последнюю очередь, после всех остальных.

Последний раз редактировалось ryderx34, 23.03.2010 в 02:17.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter