Dim dl As Long
1、If (bufSize And 3) > 0 Then bufSize = (bufSize And &HFFFFFFFC) + 4
2、dl& = GetDIBits(ctrOBJ.hDC, GetPic, 0, MAPinfo.biHeight, Color(0), MAPinfo, 0)第一句里的&HFFFFFFFC是什么意思?
dl&是什么意思?

解决方案 »

  1.   

    第一句里的&HFFFFFFFC是什么意思?:是16进制吧,&是与运算
    dl&是什么意思?
    dl& = GetDIBits(ctrOBJ.hDC, GetPic, 0, MAPinfo.biHeight, Color(0), MAPinfo, 0)
    就是:dl:=dl&GetDIBits(ctrOBJ.hDC, GetPic, 0, MAPinfo.biHeight, Color(0), MAPinfo, 0)
      

  2.   

    var dl:integer;
    1. if (bufsize and 3)>0 then
         bufsize:=(bufsize and $FFFFFFFC)+4;2. ??????? VB6.0好像没有dl&或者&=这种预算符,你用的是VB.Net还是VB6.0啊
      

  3.   


    这个是VB.NET的语法么?
    var dl:integer;1. if((BufSize And 3)>0)then bufSize:=(bufSize And $FFFFFFFC)+4;
    2. dl:=dl and (GetDIBits(ctrOBJ.hDC, GetPic, 0, MAPinfo.biHeight, Color[0], MAPinfo, 0));
      

  4.   


    这个是VB.NET的语法么?
    var dl:integer;1. if((BufSize And 3)>0)then bufSize:=(bufSize And $FFFFFFFC)+4;
    2. dl:=dl and (GetDIBits(ctrOBJ.hDC, GetPic, 0, MAPinfo.biHeight, Color[0], MAPinfo, 0));
      

  5.   

    dl& 本人印象中好像是内存地址指针。
    哎,很久没用过VB了
      

  6.   

    8好意思.变量后面&结尾可以说明该变量得变量类型,好像不是AND操作
      

  7.   

    var dl:Dword;1.  if (bufsize and 3)>0 then bufsize:=(bufsize and $FFFFFFFC)+4;
    2.  dl := GetDibits(ctrobj.Canvas.handle,GetPic,0,MapInfo.biHeight,@clBlack,mapInfo,0);
      

  8.   

    dl&= 表示强制类型,一般是调用api的时候这样写,我翻译了一下,就两句无从测试;getPic应该是一个函数吧,返回一个hbitmap 类型(LongWord,vb中应该是long)
    mapinfo是一个结构,声明为
      tagBITMAPINFO = packed record
        bmiHeader: TBitmapInfoHeader;
        bmiColors: array[0..0] of TRGBQuad;
      end;
      TBitmapInfo = tagBITMAPINFO;color(0) 在vb中是黑色;这里这个参数应该是指针类型,我翻译的也不见得正确;
      

  9.   

    1. if((BufSize And 3)>0)then bufSize:=(bufSize And $FFFFFFFC)+4;
    2. dl:=dl + (GetDIBits(ctrOBJ.hDC, GetPic, 0, MAPinfo.biHeight, Color[0], MAPinfo, 0));