您的位置:首页 > 其它

Windows API一日一练(37)MoveWindow函数

2007-12-28 07:53 363 查看
当你设计一个对话框的窗口时,就需要布局好所有按钮、文本显示框等等,由于每个按钮都是一个窗口,那么就需要移动这些窗口到合适的位置,这时就需要使用到MoveWindow函数。或者当你的界面需要动态地修改按钮位置,比如窗口放大了,按钮就需要跟着移动,否则按钮还在原来的位置,放大也不会移动按钮的位置,这时也需要使用MoveWindow函数重新设置按钮的位置。只要你想移动窗口,就可以考虑使用这个函数来实现。 函数MoveWindow声明如下:WINUSERAPIBOOLWINAPIMoveWindow(    __in HWND hWnd,    __in int X,    __in int Y,    __in int nWidth,    __in int nHeight,    __in BOOL bRepaint);hWnd是窗口的句柄。X是窗口在X轴的位置。Y是窗口在Y辆的位置。nWidth是窗口的宽度。nHeight是窗口的高度。bRepaint是设置是否重画窗口和父窗口。当设置为TRUE时,就进行重画。当设置为FALSE时,就不进行重画,需要手功进行更新指定的区域。 调用这个函数的例子如下:#001 //#002 // 响应命令.#003 // 蔡军生 2007/09/16 QQ:9073204#004 //#005 LRESULT CCaiWinMsg::OnCommand(int nID,int nEvent)#006 { #007  // 菜单选项命令响应:#008  switch (nID)#009  {#010  case IDC_CREATEBTN:#011         //显示一个按钮。#012         if (!m_hBtn)#013         {#014                m_hBtn = CreateWindow(_T("BUTTON"),_T("按钮"),#015                    WS_VISIBLE|WS_CHILD|BS_PUSHBUTTON,#016                    50,50,100,32,#017                     m_hWnd,(HMENU)IDC_BTN,m_hInstance,NULL);#018         }                                           #019         break;#020  case IDC_BTN: #021         OutputDebugString(_T("按钮按下/r/n"));#022         {#023               static bool bChangeText = true;#024               if (bChangeText)#025               {#026                    //设置按钮的文字。#027                    SetWindowText(m_hBtn,_T("改变它"));#028 #029                    //改变按钮窗口的位置和大小。#030                   MoveWindow(m_hBtn,10,10,100,32,TRUE);#031               }#032               else#033               {#034                    //设置按钮的文字。#035                    SetWindowText(m_hBtn,_T("按钮"));#036 #037                   //改变按钮窗口的位置和大小。#038                   MoveWindow(m_hBtn,50,50,100,32,TRUE);#039               }#040 #041               //每一次都改变。#042               bChangeText = !bChangeText; #043         }#044         break;#045  default:#046         return CCaiWin::OnCommand(nID,nEvent);#047  }#048 #049  return 1;#050 } 

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1787090
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: