我在做的一个模块是配置按钮的模块
Treeview1是显示侯选图标的,Treeview2是显示已选图标的,之前我定义了一个结构体的,比如已选的话visible为'1',否则为0!
现在我的问题是已选的这些图标又要分别给他们分配使用领域,比如'打开'这个按钮要在画图程序和压缩这两个程序里面都用到!但是'打印'这个按钮则只是在画图这个程序里面使用!压缩程序不使用这个按钮!
项目开发要求使用位运算来配置每个按钮!我该怎么做!!请各位高手指教!不盛感激!

解决方案 »

  1.   

    给没个程序分配一个Integer类型的属性Property,
    例如
    画图程序 := 3
    压缩程序 := 1
    这里要自己规定,例如 属性的第一位即1代表 打开 的可见属性,
    而第二2位代表 打印的可见属性.
    在这里
    画图程序 = 3 就是说他1+2即两个按妞都有,但是怎么去实现呢?可以这样写,
    两个程序的代码都一样
    打开.Visible := (Property and 1 =1);  //画图3 and 1 = 1 true,压缩 1 and 1=1 true     
    打印.Visible := (Property and 2 =2);  //画图3 and 2 = 2 true,压缩1 and 2=0 false
      

  2.   

    多看看windows.pas文件就明白了比如这样
      
    const 
       A = $0001; 
       B = $0002;
       C = $0004;
       D = $0008;那么就可以这样用了
      Flag := A or B or C or D;  //a,b,c,d都有
      if (Flag and A) = A then   //包含A;