当前位置:首页 > windos > 正文

Windows API一日一练 37 MoveWindow函数

分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!http://www.captainbed.net

当你设计一个对话框的窗口时,就需要布局好所有按钮、文本显示框等等,由于每个按钮都是一个窗口,那么就需要移动这些窗口到合适的位置,这时就需要使用到 MoveWindow 函数。或者当你的界面需要动态地修改按钮位置,比如窗口放大了,按钮就需要跟着移动,否则按钮还在原来的位置,放大也不会移动按钮的位置,这时也需要使用 MoveWindow 函数重新设置按钮的位置。只要你想移动窗口,就可以考虑使用这个函数来实现。   函数 MoveWindow 声明如下: WINUSERAPI BOOL WINAPI MoveWindow(     __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 }  

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!http://www.captainbed.net