+ -
当前位置:首页 → 问答吧 → 鼠标图片替换

鼠标图片替换

时间:2011-12-07

来源:互联网

怎么把鼠标换成半透明图片。

作者: lile1234_show   发布时间: 2011-12-07

网上找到的一段,随便看看……

C/C++ code

//一个宽高为16*16的bitmap buffer
    int w = 16, h = 16;

    // lpData1是一个bitmap buffer,每个元素4个字节(ARGB格式),
    // A表示透明度,从0x01到0xFF透明度逐渐降低。0x00表示不透明,
    // 0x01似乎是表示全部透明,0xFF似乎是一点都不透明,还没有研究清楚。
    UINT32 lpData1[] = {
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000, 
        0x55ff0000, 0x55ff0000, 0x55ff0000, 0x55ff0000 };

    /*lpData2是掩码,一般都是全0,但是还没搞清楚为什么这样。*/
    UINT32 lpData2[] = {
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000,
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000,
        0x00000000, 0x00000000, 0x00000000, 0x00000000,
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000,
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 
        0x00000000, 0x00000000, 0x00000000, 0x00000000,
        0x00000000, 0x00000000, 0x00000000, 0x00000000 };

    HBITMAP newb1 = CreateBitmap(w, h, 1, 32, lpData1);
    HBITMAP newb2 = CreateBitmap(w, h, 1, 32, lpData2);

    // TODO: Add your message handler code here and/or call default
    ICONINFO ii;
    HCURSOR hnewCur;
    ii.fIcon = TRUE;
    ii.yHotspot = 0;
    ii.yHotspot = 0;
    ii.hbmMask =newb2;// LoadBitmap(AfxGetApp()->m_hInstance,MAKEINTRESOURCE(IDB_BITMAP2));
    ii.hbmColor = newb1;//LoadBitmap(AfxGetApp()->m_hInstance,MAKEINTRESOURCE(IDB_BITMAP1));
    hnewCur = (HCURSOR)CreateIconIndirect(&ii);
    //SetCursor(hnewCur);

    DeleteObject(newb1);
    DeleteObject(newb2);
    DestroyIcon(hnewCur);

作者: dream0411   发布时间: 2011-12-07

C/C++ code
//SetCursor(hnewCur);


注释标记忘去掉了。

作者: dream0411   发布时间: 2011-12-07