关于用户权限反映在菜单控件中的问题。(50分)

  • 主题发起人 主题发起人 llz629
  • 开始时间 开始时间
L

llz629

Unregistered / Unconfirmed
GUEST, unregistred user!
用户权限放在一个数组里。<br>ss[0]-ss[9] 一共十个权限。<br>在主菜单控件中有十个子菜单。<br>ss中如果为1,则表示有此权限。<br>为0表示无此权限.<br>如何把所有子菜单编号(从0到9),并让它与ss数组中数据一一对应,<br>让不同的用户进来显示出不同的子菜单。
 
给每个主菜单的子菜单项的Tag值赋值为0~9,在窗体的OnCreate事件中判断菜单项和数组的关系
 
我也是想到用tag<br>但是菜单项用什么属性呀。<br>具体写写让我看看。
 
Form.OnCreate(Sender: TObject);<br>var<br> &nbsp;I,J: Integer;<br>begin<br> &nbsp;for I := 0 to Form.ControlCount - 1 do<br> &nbsp;begin<br> &nbsp; &nbsp;if Form.Controls.ClassNameIs('TMenuItem') then<br> &nbsp; &nbsp;begin<br> &nbsp; &nbsp; &nbsp;J := TMenuItem(Form.Controls.Tag);<br> &nbsp; &nbsp; &nbsp;TMenuItem(Form.Controls).Enabled := ss[J] = 1;<br> &nbsp; &nbsp;end;<br> &nbsp;end; <br>end;
 
procedure TForm1.FormCreate(Sender: TObject);<br>var<br> &nbsp;I,J: Integer;<br>begin<br> &nbsp;for i := 0 to self.ComponentCount-1 do<br> &nbsp;begin<br> &nbsp; &nbsp;if self.Components is TMenuItem then<br> &nbsp; &nbsp;begin<br> &nbsp; &nbsp; &nbsp;J := TMenuItem(self.Components).Tag<br> &nbsp; &nbsp; &nbsp;TMenuItem(self.Components).Enabled := ss[J] = 1;<br> &nbsp; &nbsp;end;<br> &nbsp;end;<br>end;
 
呵呵,差不多啊,ComponentCount和ControlCount 有何区别,有时候取不到 ComponentCount
 
后退
顶部