var
AddCollctMenus: Array Of TMenuItem; //动态菜单
procedure TForm1.Button5Click(Sender: TObject);
Var
i, AddCollctMenuCount: Integer;
Begin
AddCollctMenuCount := Length(AddCollctMenus) - 1;
For i := 0 To AddCollctMenuCount Do Begin
FreeAndNil(AddCollctMenus[i]);
End;
With SQLQuery1 Do Begin
CLOSE;
SQL.Clear;
SQL.Add('select id,username,password from userinfo');
OPEN;
SetLength(AddCollctMenus, SQLQuery1.RecordCount);
First;
i := 0;
While Not Eof Do
Begin
AddCollctMenus[i] := TMenuItem.Create(Self);
With AddCollctMenus[i] Do
Begin
OnClick := MenuItem2.OnClick;
//AutoHotkeys := maAutomatic;
Tag:= SQLQuery1.FieldByName('id').AsInteger; //
Hint := SQLQuery1.FieldByName('password').AsString; // 有三个变量可以传递 到 菜单。
Caption := SQLQuery1.FieldByName('username').AsString; //
End;
CollPopMenu.Add(AddCollctMenus[i]);
Inc(i);
NEXT;
End;
End;
End;
procedure TForm1.MenuItem2Click(Sender: TObject);
begin // 有三个变量可以传递 到 菜单
showmessage((Sender As TMenuItem).Hint);
showmessage((Sender As TMenuItem).Caption);
showmessage((Sender As TMenuItem).Tag.ToString);
end;
标签:SQLQuery1,Begin,12,End,Sender,自定义,绑定,AddCollctMenus,TMenuItem From: https://blog.51cto.com/u_15216366/9576596