zoukankan      html  css  js  c++  java
  • 图片按钮 鼠标捕获 界面透明 滑块

    一、图片按钮
    1 类中定义变量CControlButton    m_ctrlOK;
    2 数据交换     DDX_Control(pDX, IDC_LOGIN, m_ctrlOK);
    3 使用方法
     GetDlgItem(IDC_LOGIN)->MoveWindow(1,100,80,40);
     m_ctrlOK.SetBitmapId(".\admin\登录1.bmp",".\admin\登录.bmp",
                          ".\admin\登录2.bmp",".\admin\登录.bmp");
    二、 // 装入棒形光标
        HINSTANCE hInstResource = AfxFindResourceHandle(MAKEINTRESOURCE(IDC_SIZEALL), RT_GROUP_CURSOR);
        ::SetCursor(m_hCursor); // 将光标改为棒形  
    三 设置鼠标捕获
    SetCapture();      //鼠标捕获设置到指定的窗口。在鼠标按钮按下的时候,这个窗口会为
         //当前应用程序或整个系统接收所有鼠标输入
    //释放鼠标捕获
        ReleaseCapture();
    Dlg::OnMouseMove(UINT nFlags, CPoint point) {
        if (m_bTracking)
        {
           
        // 获取鼠标位置
        ClientToScreen(&point);
          
        // 获取鼠标下面所在的窗口句柄
        m_hCurrWnd = ::WindowFromPoint(point);
        HMODULE hUser32 = GetModuleHandle("user32");
        if (!hUser32)
            return;
        
        SwitchToThisWindow = (PROCSWITCHTOTHISWINDOW)
            GetProcAddress(hUser32,"SwitchToThisWindow");
            
        if (!SwitchToThisWindow)
            return;
            SwitchToThisWindow(m_hCurrWnd,TRUE);    //切换鼠标下的窗口
        // 显示该窗口的类、标题等信息…
                
        }
        CDialog::OnMouseMove(nFlags, point);
    //lbuttonUp
    四 界面透明
    //获取句柄
    HMODULE hUser32 = GetModuleHandle(_T("USER32.DLL"));
    //获取函数地址
    g_pSetLayeredWindowAttributes = (lpfn)GetProcAddress(hUser32, "SetLayeredWindowAttributes");
        if (g_pSetLayeredWindowAttributes == NULL)
            AfxMessageBox ("Layering is not supported in this version of Windows", MB_ICONEXCLAMATION);
    //设置透明度
    ::SetWindowLong(m_hCurrWnd, GWL_EXSTYLE, GetWindowLong(m_hCurrWnd, GWL_EXSTYLE) ^ /*WS_EX_LAYERED*/0x00080000);
            g_pSetLayeredWindowAttributes(m_hCurrWnd, 0, (BYTE)m_slider.GetPos(), /*LWA_ALPHA*/2);
            
    ::RedrawWindow(m_hCurrWnd, NULL, NULL,RDW_ERASE | RDW_INVALIDATE | RDW_FRAME | RDW_ALLCHILDREN);
    
    五滑块使用
    1、rc文件添加资源
        CONTROL         "Slider1",IDC_SLIDER1,"msctls_trackbar32",TBS_BOTH | 
                        TBS_NOTICKS | WS_TABSTOP,16,16,110,15
    #define IDC_SLIDER1                     1000
    2、定义变量
        CSliderCtrl    m_slider;
    3、数据交换    
    DDX_Control(pDX, IDC_SLIDER1, m_slider);
    4 使用  m_slider.GetPos()
  • 相关阅读:
    Jeecms3.x 常用标签使用总结
    MySQL的常用参数设置
    如何让iframe透明
    转载 张子阳 学习记录 c#网络编程
    Automate download of Realtime Trade and MarketDepth stocks demonstration
    c#2.0 锐利体验 视频链接 (李建忠老师主讲)
    转载 张子阳 学习记录 c#网络编程 5
    关于连接 providers 的一些代码 (学习QD)
    转载张子阳 学习记录 c#网络编程 4
    转载 张子阳 学习记录 c#网络编程
  • 原文地址:https://www.cnblogs.com/klxll/p/3423635.html
Copyright © 2011-2022 走看看