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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 18.11.2012, 20:40
DOR DOR вне форума
Начинающий
 
Регистрация: 14.01.2011
Сообщения: 171
Версия Delphi: 7
Репутация: 10
По умолчанию Визибл формы в определенном месте

Добрые вечер, подскажите пожалуйста, как нужно преобразовать код, чтобы при нажатии на кнопку или комбобокс форма появлялась под ними
Код:
procedure Tf_ABP.sbt_DeleteClick(Sender: TObject);
var
pt: TPoint;
begin
  with Sender as TJvSpeedButton do
  begin
    pt := Classes.Point(Left, Top + Height);;
    pt := Parent.ClientToScreen(pt);
  end;
  PopupMenu2.Popup(pt.X, pt.Y);
end;
Ответить с цитированием
  #2  
Старый 19.11.2012, 12:35
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от DOR
Добрые вечер, подскажите пожалуйста, как нужно преобразовать код, чтобы при нажатии на кнопку или комбобокс форма появлялась под ними
Положение формы - свойства Left и Top, показать форму - метод Show.
Ответить с цитированием
  #3  
Старый 19.11.2012, 15:58
DOR DOR вне форума
Начинающий
 
Регистрация: 14.01.2011
Сообщения: 171
Версия Delphi: 7
Репутация: 10
По умолчанию

Код:
procedure Tf_ABP.sbt_DeleteClick(Sender: TObject); 
var
t: TPoint; 
 begin  
  with Sender as TJvSpeedButton do  
   begin    pt := Classes.Point(Left, Top + Height);     
              pt := Parent.ClientToScreen(pt);   
   end;   
   forma1.top := pt.Y;
   forma1.left := pt.X;
   forma1.show;
end; 
Так?
Ответить с цитированием
  #4  
Старый 19.11.2012, 16:00
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от DOR
Код:
...
   forma1.top := pt.Y;
   forma1.left := pt.X;
   forma1.show;
end; 
Так?
А разве не работает?
Ответить с цитированием
  #5  
Старый 19.11.2012, 16:26
DOR DOR вне форума
Начинающий
 
Регистрация: 14.01.2011
Сообщения: 171
Версия Delphi: 7
Репутация: 10
По умолчанию

работает,но форма появляется не под кнопкой, а правее и ниже нее.
Ответить с цитированием
  #6  
Старый 19.11.2012, 16:47
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от DOR
работает,но форма появляется не под кнопкой, а правее и ниже нее.
А так?:
Код:
var
  pt: TPoint;
  bt: TJvSpeedButton;
begin
  bt := Sender as TJvSpeedButton;
  pt := bt.Parent.ClientToScreen(Point(bt.Left, bt.Top + bt.Height));
  forma1.Top := pt.Y;
  forma1.Left := pt.X;
  forma1.Show;
end;
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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