如何使非模态窗口与主窗口一起移动
本人写了一个程序,里面有一个Tab控件,控件创建一个非模态窗口,但是主窗口只要一移动,非模态窗口就不跟着移动。怎样才能使非模态窗口跟着主窗口一起移动。新手跪求高手解答!
#include <Windows.h>
#include "resource.h"
#include "commctrl.h"
HWND htab;
RECT rect;
HWND hTabDialog;
HINSTANCE hInst;
BOOL WINAPI TabDialog(HWND ,UINT,WPARAM,LPARAM);
INT_PTR CALLBACK MainPrco(HWND hDlg,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
BOOL MRECT = true;
LPSTR pTextName [3] = {"登记","查询","注销"};
RECT crect;
switch(uMsg)
{
case WM_INITDIALOG: //指窗口创建之后,对控件进行创建!与WM_CREATE一样
TCITEM tem;
htab=GetDlgItem(hDlg,IDC_TAB);
tem.mask = TCIF_TEXT | TCIF_STATE ;
/*tem.iImage = -1 ;*/
for(int i=0;i<3;i++)
{
tem.pszText = pTextName[i];
TabCtrl_InsertItem(htab,i,&tem);
}
GetClientRect(htab,&rect);
hTabDialog =CreateDialog(hInst,MAKEINTRESOURCE(IDD_TabDialog1),htab,TabDialog);
/*MoveWindow(hTabDialog,35,80,665,225,true);*/
GetClientRect(htab,&crect);
MoveWindow(hTabDialog,35,80,crect.right-crect.left,crect.bottom-crect.top,true);
ShowWindow(hTabDialog,SW_SHOW);
break;
case WM_MOVE:
break;
case WM_NOTIFY:
break;
case WM_COMMAND:
break;
case WM_CLOSE:
EndDialog(hDlg,0);
break;
default:
MRECT = false;
break;
}
return MRECT;
}
int WINAPI WinMain(HINSTANCE hInst,HINSTANCE hprevInstance,LPSTR lpszCmdLine,int nCmdShow)
{
DialogBox(hInst,MAKEINTRESOURCE(IDD_MAIN),NULL,MainPrco);
}
BOOL WINAPI TabDialog(HWND hwnd ,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
int WMID;
BOOL Treturn = true;
WMID =wParam;
switch(uMsg)
{
case WM_SYSCOMMAND:
break;
case WM_COMMAND:
break;
default:
return Treturn= false;
}
return Treturn;
}