小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

如何實(shí)現(xiàn)可拉伸對(duì)話框?

 ttbetter 2011-01-07
#define WIDTHMOVEDLG   4 //拉伸對(duì)話框的寬度

  //拉伸對(duì)話框
  CTransparentDlg *m_pMoveDlg;
  //對(duì)話框是否處于可移動(dòng)狀態(tài)
  BOOL m_bMoveable;
  //拉伸的起始位置
  CPoint m_ptOrigin;//在OnLButtonDown中取值
  //模板對(duì)話框是否處于移動(dòng)狀態(tài)
  BOOL m_bDlgMoving;
  //模板對(duì)話框拉伸的類(lèi)型,1表示從左邊拉伸,2表示從右邊拉伸,3表示從下面拉伸
  int m_nMoveStyle;

void C**Dlg::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息處理程序代碼和/或調(diào)用默認(rèn)值

//-----以下的程序用于實(shí)現(xiàn)對(duì)話框的拉伸------/////
CRect rect,rectLeft,rectRight,rectDown;
GetClientRect(&rect);

//設(shè)置可移動(dòng)矩形區(qū)域的大小
//左邊可移動(dòng)區(qū)域
rectLeft.SetRect(
  rect.left,
  rect.top,
  rect.left+WIDTHMOVEDLG+2,
  rect.bottom
  );
//右邊可移動(dòng)區(qū)域
rectRight.SetRect(
  rect.right-WIDTHMOVEDLG-2,
  rect.top,
  rect.right,
  rect.bottom
  );
//下方可移動(dòng)區(qū)域
rectDown.SetRect(
  rect.left,
  rect.bottom-WIDTHMOVEDLG-2,
  rect.right,
  rect.bottom
  );
  //從左邊拉伸
  if (rectLeft.PtInRect(point))//如果鼠標(biāo)點(diǎn)在左邊區(qū)域上
  {

   //設(shè)置鼠標(biāo)指針表現(xiàn)形式:指向西東

   SetCursor(LoadCursor(NULL,IDC_SIZEWE));
   m_bMoveable = TRUE;
   m_nMoveStyle = 1;
  }
  //從右邊拉伸
  else  if (rectRight.PtInRect(point))//如果鼠標(biāo)點(diǎn)在右邊區(qū)域上
  {

   //設(shè)置鼠標(biāo)指針表現(xiàn)形式:指向西東
   SetCursor(LoadCursor(NULL,IDC_SIZEWE));
   m_bMoveable = TRUE;
   m_nMoveStyle = 2;
  }
  //從下方拉伸
  else if(rectDown.PtInRect(point))//如果鼠標(biāo)點(diǎn)在下邊區(qū)域上
  {

   //設(shè)置鼠標(biāo)指針表現(xiàn)形式:指向南北
   SetCursor(LoadCursor(NULL,IDC_SIZENS));
   m_bMoveable = TRUE;
   m_nMoveStyle = 3;
  }

  else
  {
   m_bMoveable = FALSE;
  }

  //移動(dòng)虛線對(duì)話框
  ClientToScreen(&point);//客戶(hù)區(qū)域坐標(biāo)轉(zhuǎn)換成為屏幕區(qū)域坐標(biāo)

  int dx,dy;

  //如果左鍵已經(jīng)點(diǎn)擊下去

  if (m_pMoveDlg && m_bDlgMoving && nFlags == MK_LBUTTON)
  {
   //水平方向移動(dòng)的距離
   dx = point.x- m_ptOrigin.x;
   dy = point.y - m_ptOrigin.y;
   //豎直方向移動(dòng)的距離
   if (m_nMoveStyle == 1)
   {
    m_pMoveDlg -> MoveWindow(
     rect.left+dx,
     101,
     WIDTHMOVEDLG+2,
     rect.Height());
   }
   else if (m_nMoveStyle == 2)
   {
    CRect rc;
    GetWindowRect(&rc);

    int width = point.x - rc.left;
    if (width <200)
    {
     m_pMoveDlg -> MoveWindow(
      rc.left+194,
      101,
      WIDTHMOVEDLG+2,
      rect.Height());
    }
    else
    {
     m_pMoveDlg -> MoveWindow(
      rect.right+dx-WIDTHMOVEDLG-2,
      101,
      WIDTHMOVEDLG+2,
      rect.Height());
    }
   
   }
   else if ( 3 == m_nMoveStyle)
   {
    CRect rc;
    GetWindowRect(&rc);

   

    int y = point.y - rc.top;

    if (y >150)
    {
     m_pMoveDlg -> MoveWindow(
      rc.left,
      rect.bottom+dy-WIDTHMOVEDLG-2,
      rect.Width(),
      WIDTHMOVEDLG+2);
    }
    else

    {
     m_pMoveDlg -> MoveWindow(
     rc.left,
     rc.top +150,
     rect.Width(),
     WIDTHMOVEDLG+2);
    }
   }
   else
   {
    return;
   }
  }
////--------------------------------------------////

CDialog::OnMouseMove(nFlags, point);
}



創(chuàng)建鼠標(biāo)指針的風(fēng)格與樣式

HINSTANCE hinst;            // handle to current instance

HCURSOR hCurs1, hCurs2; // cursor handles

// Create a standard  cursor.

hCurs1 = LoadCursor(NULL, IDC_WAIT); //見(jiàn)附注

// Create a custom cursor based on a resource.

hCurs2 = LoadCursor(hinst, MAKEINTRESOURCE(240));

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多