Форум: "Начинающим";
Текущий архив: 2005.09.11;
Скачать: [xml.tar.bz2];
ВнизМоё меню Найти похожие ветки
← →
Borland © (2005-08-07 09:28) [0]Как сделать чтобы при правом щелчке по форме появлялось моё всплывающее меню,
← →
Ольга (2005-08-07 09:55) [1]Создайте PopupMenu и пропишите его имя в форме (свойство Form.PopupMenu)
← →
msguns © (2005-08-07 09:56) [2]У предка визибельных кнотролов TControl есть св-во PopUpMenu. Если оно открыто в текщем объекте, именно через него и привязывается указанное всплыв.меню.
← →
Borland © (2005-08-07 14:11) [3]А можно какой нибудь пример, а то так с ходу ...
← →
Alexander Panov © (2005-08-07 14:30) [4]Borland © (07.08.05 14:11) [3]
Вот если что не получится, тогда пожалуйста.
← →
Borlan (2005-08-07 22:21) [5]Ну я не понимаю как сделать [1].
Поэтому нужен код.
← →
Borlan (2005-08-07 22:21) [6]Ну я не понимаю как сделать [1].
Поэтому нужен код.
← →
Borlan (2005-08-07 22:22) [7]Ну я не понимаю как сделать [1].
Поэтому нужен код.
← →
Borlan (2005-08-07 22:22) [8]Ну я не понимаю как сделать [1].
Поэтому нужен код.
← →
Borlan (2005-08-07 22:23) [9]Ой. простите
← →
Dimp (2005-08-07 22:29) [10]Form1.PopupMenu:=PopupMenu1;
← →
Leonid Troyanovsky © (2005-08-07 22:33) [11]
> Borlan (07.08.05 22:22) [8]
> Ну я не понимаю как сделать [1].
> Поэтому нужен код.
Поищи в своем компьютере menu.dpr
--
Regards, LVT.
← →
Borlan (2005-08-08 13:03) [12]Спасибо. Всё получилось.
← →
Borlan (2005-08-08 13:08) [13]Возникла ещё одна проблема:
У меня 5 Edit"ов я создаю popupmenu1 в котором есть пункт который должен очищать Edit. Так вот мне что нужно для каждого Edit"а на форму кидать по popupmenu, или может можно как-то сделать чтобы при шелчке по Edit1...5 очищался только он?
← →
Ega23 © (2005-08-08 13:21) [14]или может можно как-то сделать чтобы при шелчке по Edit1...5 очищался только он?
Можно. Пример:unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
procedure FormCreate(Sender: TObject);
procedure EditClear(Sender : TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.EditClear(Sender: TObject);
begin
if (Sender is TEdit) then TEdit(Sender).Text:="";
end;
procedure TForm1.FormCreate(Sender: TObject);
var
i:Integer;
begin
for i:=0 to ComponentCount-1 do
if (Components[i] is TEdit) then
TEdit(Components[i]).OnDblClick:=EditClear;
end;
end.
← →
Borlan (2005-08-08 13:28) [15]Мне надо с использованием PopupMenu
← →
Ega23 © (2005-08-08 13:34) [16]А подумать чуть-чуть?
← →
Borlan (2005-08-08 14:00) [17]Я подумал и подставил
var
i:Integer;
begin
for i:=0 to ComponentCount-1 do
if (Components[i] is TEdit) then
TEdit(Components[i]).OnDblClick:=EditClear;
end;
В обработчик по нажатию кнопки на PopupMenu1, но не срабатывает!
Вернее по Двойному нажатию на Edit"е а, не по нажатию на кнопке всплывающего меню. чего-то до меня не доходит как сделать правильно.
← →
Ega23 © (2005-08-08 14:06) [18]А это потому, что в моём случае в качестве Sender выступал именно TEdit, а в твоём - PopupMenuItem.
← →
Borlan (2005-08-08 14:18) [19]А можно показать на моём случае?
← →
Ega23 © (2005-08-08 15:02) [20]Например, можно так. Только сначала придётся фокус в конкретный Edit перевести.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Menus;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
PopupMenu1: TPopupMenu;
hhh1: TMenuItem;
procedure FormCreate(Sender: TObject);
procedure EditClear(Sender : TObject);
procedure hhh1Click(Sender: TObject);
procedure EditEnter(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
ActiveEdit:TEdit;
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.EditClear(Sender: TObject);
begin
if (Sender is TEdit) then TEdit(Sender).Text:="";
end;
procedure TForm1.EditEnter(Sender: TObject);
begin
if (Sender is TEdit) then ActiveEdit:=TEdit(Sender);
end;
procedure TForm1.FormCreate(Sender: TObject);
var
i:Integer;
begin
for i:=0 to ComponentCount-1 do
if (Components[i] is TEdit) then
begin
TEdit(Components[i]).OnDblClick:=EditClear;
TEdit(Components[i]).OnEnter:=EditEnter;
TEdit(Components[i]).PopupMenu:= PopupMenu1;
end;
end;
procedure TForm1.hhh1Click(Sender: TObject);
begin
if assigned(ActiveEdit) then ActiveEdit.Text:="";
end;
end.
← →
Borlan (2005-08-08 15:12) [21]Большое спасибо!
← →
Borlan (2005-08-08 15:13) [22]Большое спасибо!
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2005.09.11;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.01 c