Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.011 c
3-1121670371
passs
2005-07-18 11:06
2005.09.11
сохранение изменённых данных в БД


14-1124194962
aod_worm
2005-08-16 16:22
2005.09.11
Проблемы с СОМ-устройством. He-e-e-e-e-lp! Горю!


3-1122994392
Oleg_S
2005-08-02 18:53
2005.09.11
TQuery


2-1123366404
msm
2005-08-07 02:13
2005.09.11
Преобразование минуты:секунды в секунды


3-1122783260
makzn
2005-07-31 08:14
2005.09.11
DBF -> TextFile





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский