1. 程式人生 > >Windows API一日一練 37 MoveWindow函式

Windows API一日一練 37 MoveWindow函式

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

                當你設計一個對話方塊的視窗時,就需要佈局好所有按鈕、文字顯示框等等,由於每個按鈕都是一個視窗,那麼就需要移動這些視窗到合適的位置,這時就需要使用到 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 }             

給我老師的人工智慧教程打call!http://blog.csdn.net/jiangjunshow

這裡寫圖片描述