modaless의 경우 대화상자가 떠있는 상태에서 얼마든지 다른 작업을 할 수 있다.

modal의 경우 대화상자가 닫히기 전까지 다른 작업을 할 수 없다.


modal 형태로 창을 띄우는 것은 


CShapeDlg dlg;

dlg.DoModal(); // 이런 형태로 창을 띄우는 것이다.


modal로 창을 띄우는 경우, 이 창을 먼저 해결해야 부모 창으로 돌아갈 수 있다.




그리고 modaless 형태로 창을 띄우는 것은


CShapeDlg *dlg;


dlg = new CShapeDlg(); //혹은 CShapeDlg(this); 등으로 초기화 한 후

dlg->Create(IDD_SHAPE, NULL) //혹은 Create(IDD_SHAPE, DesktopWindow()); 등을 써서 만들어주고,

dlg->ShowWindow(SW_SHOW) //혹은 dlg->ShowWindow(SW_SHOWNA); 등등 으로 창을 띄워주면 된다.


//initDialog등을 처리해주고싶다면 

dlg->PostMessage(WM_INITDIALOG)

dlg->SendMessage(WM_CLOSE) //등을 넣어서 창을 닫아 줄 수 있다.




+ Recent posts