现在的需求是根据不同的用户显示不同的图片,图片已经加载在form中,只是根据登陆的用户来改变图片的visible属性。
我是这么做的:图片的名字我定义成p1,p2,p3,p4.....,用户登录后得到权限可以显示p1,p2,但是不知道怎样设置名字等于p1的图片的visible的属性为true。

解决方案 »

  1.   

    with AQ1 do
          begin
            close;
            sql.Clear;
            sql.Text:='select a.name,b.bt,b.pic from user_module a,tb_module b where a.yh='''+yhm+''' and a.name=b.name';
            open;
           while not AQ1.Eof do
              begin
               img:=AQ1.fieldbyname('pic').AsString;///用户可看到的图片的名字
               imag.enabled:=true;////这段代码不能实现
               Next;
              end;
          end;
      

  2.   

    with AQ1 do
          begin
            close;
            sql.Clear;
            sql.Text:='select a.name,b.bt,b.pic from user_module a,tb_module b where a.yh='''+yhm+''' and a.name=b.name';
            open;
           while not AQ1.Eof do
              begin
               img:=AQ1.fieldbyname('pic').AsString;///用户可看到的图片的名字
               img.enabled:=true;////这段代码不能实现
               Next;
              end;
          end;
      

  3.   

    用Image控件来显示图片
    Image1.Picture.LoadFromFile();
    Image1.Enabled := false;
      

  4.   

    img:=AQ1.fieldbyname('pic').AsString;///用户可看到的图片的名字
    img.enabled:=true;////这段代码不能实现img是String型的,怎么会有enabled呢?
    不知道你的图片是在数据库中还是你在设计的时候就已经在Form里了,如果是在Form里用Image控件来显示图片就这样:
    (Form1.FindComponent('img') as TImage).Enabled:=true;//启用图片
    或是
    (Form1.FindComponent('img') as TImage).Visible:=true;//图片可见如果你的图片是在数据库中要用TBlobStream实现了.
      

  5.   

    刚才错了
    (Form1.FindComponent(img) as TImage).Enabled:=true;//启用图片
    或是
    (Form1.FindComponent(img) as TImage).Visible:=true;//图片可见