zoukankan      html  css  js  c++  java
  • 怎么一改活动窗口标题栏 非活动窗口标题栏就跟着改呢

    http://zhidao.baidu.com/question/73828509

    参考了一些文章。  
      我的方法是处理WM_NCPAINT等几个非客户区消息,这些  
      消息处理之后都要调用缺省函数DefWindowProc(),因此  
      重载DefWindowProc虚函数.  
      对话框属性有   Tool   Window   去掉System   Menu  
      LRESULT   CTitleDlg::DefWindowProc(UINT   message,   WPARAM   wParam,   LPARAM   lParam)    
      {  
      LRESULT   lt=CDialog::DefWindowProc(message,   wParam,   lParam);  
      if(::IsWindow(m_hWnd))  
      {  
      if(message==WM_NCPAINT||  
      message==WM_NCACTIVATE||  
      message==WM_NOTIFY||  
      message==WM_SETTEXT)  
      {  
      CDC   *pDC=GetWindowDC();  
      if(pDC)  
      {  
      CRect   rtWnd,   rtTitle;  
      GetWindowRect(&rtWnd);  
      rtTitle.left=GetSystemMetrics(SM_CXFRAME);  
      rtTitle.top=GetSystemMetrics(SM_CYFRAME);  
      rtTitle.right=rtWnd.right-rtWnd.left-  
      GetSystemMetrics(SM_CYFRAME);  
      rtTitle.bottom=rtTitle.top   +  
      GetSystemMetrics(SM_CYSMCAPTION)-1;  
      //现在已经获得DC和RECT,可以随意在标题栏上画  
      CBrush   br;  
      CPen   pen(PS_SOLID,1,RGB(255,255,0));  
      br.CreateSolidBrush(RGB(255,255,0));  
      int   save=pDC->SaveDC();  
      pDC->SelectObject(&pen);  
      pDC->SelectObject(&br);  
      pDC->Rectangle(rtTitle);//画矩形  
      //画一个标准最小化按钮  
      pDC->DrawFrameControl(CRect(4,4,15,14),  
      DFC_CAPTION,DFCS_CAPTIONMIN);  
      //照上还可以画最大和关闭标准按钮  
      pDC->RestoreDC(save);  
      ReleaseDC(pDC);  
      }  
      }  
      }  
      return   lt;  
      }  
      处理鼠标按下消息  
      ........  
      先判断是哪个按钮,再作相应的处理,例如:  
      最大化和恢复按钮:   if(IsZoomed())  
      SendMessage(WM_SYSCOMMAND,SC_RESTORE,  
      MAKELPARAM(point.x,point.y));  
      else  
      SendMessage(WM_SYSCOMMAND,SC_MAXIMIZE,  
      MAKELPARAM(point.x,point.y));  
      最小化按钮:   SendMessage(WM_SYSCOMMAND,SC_MINIMIZE,  
      MAKELPARAM(point.x,point.y));  
      关闭按钮:   SendMessage(WM_CLOSE);  
      .........

  • 相关阅读:
    Eureka与ZooKeeper 的比较(转)
    springcloud 与分布式系统(转载)
    jvm 分代回收算法通俗理解
    关于JVM调优
    Java常用的数据结构
    mysql数据库引擎(转载)
    java的堆栈通俗理解
    ArrayList 的实现原理
    hashMap 源码解读理解实现原理和hash冲突
    Sklearn库例子——决策树分类
  • 原文地址:https://www.cnblogs.com/chulia20002001/p/2023705.html
Copyright © 2011-2022 走看看