Сорри, забыл как оно там. Вот так работает:
Код:
type
TForm1 = class(TForm)
lbClickMe: TLabel;
pmClickMe: TPopupMenu;
miClickMe1: TMenuItem;
miClickMe2: TMenuItem;
miClickMe3: TMenuItem;
edEdit: TEdit;
procedure lbClickMeClick(Sender: TObject);
procedure pmClickMeClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.lbClickMeClick(Sender: TObject);
var
p : TPoint;
begin
p.X := (Sender As TLabel).Left;
p.Y := (Sender As TLabel).Top + (Sender As TLabel).Height + 2;
p := ClientToScreen(p);
pmClickMe.Tag := Integer(Sender);
pmClickMe.Popup(p.X,p.Y);
end;
procedure TForm1.pmClickMeClick(Sender: TObject);
var
lb : TLabel;
begin
lb := TLabel(pmClickMe.Tag);
lb.Caption := (Sender As TMenuItem).Caption;
end;
pmClickMeClick назначен всем пунктам меню.
По поводу TEdit.
Надо поставить такие свойства в соотв. значения:
Код:
BorderStyle := bsNone;
BevelInner := bvNone;
BevelOuter := bvNone;
Color := clBtnFace;