LoadIcon使用方法
HICON hIcon = AfxGetApp()-> LoadIcon(nIconID);
HICON hIcon = LoadIcon(AfxGetApp()-> m_hInstance, MAKEINTRESOURCE(nIconID));
2011年4月27日 星期三
2011年4月15日 星期五
Modeless dialog
如果不想使用DoModal來呼叫建立dialog,可以使用modeless的dialog。
1.呼叫dialog的create,並傳入ID。
ex: CDialog dlg;
dlg.create(IDD_EXAMPLE);
2.在結束時呼叫DestroyWindow(),而不是EndDialog()
ref :http://msdn.microsoft.com/en-us/library/zhk0y9cw%28v=vs.80%29.aspx
1.呼叫dialog的create,並傳入ID。
ex: CDialog dlg;
dlg.create(IDD_EXAMPLE);
2.在結束時呼叫DestroyWindow(),而不是EndDialog()
ref :http://msdn.microsoft.com/en-us/library/zhk0y9cw%28v=vs.80%29.aspx
2011年4月14日 星期四
Add a new View in MFC MDI
首先加入一個繼承CView的MFC Class : CFlyAwayView;
1. @ Winapp.cpp InitInstance()
CMultiDocTemplate* pFlyAwayView;
pFlyAwayView = new CMultiDocTemplate(
IDR_EXTYPE,
RUNTIME_CLASS(CDoc),
RUNTIME_CLASS(CChildFrame), // custom MDI child frame
RUNTIME_CLASS(CFlyAwayView));
AddDocTemplate(pFlyAwayView);
pFlyAwayView->OpenDocumentFile(NULL);
//沒有這行View就沒有Active
2. @ MainFrame.cpp
在mainframe中調換view
OnMessageFunction():
CView* pView;
while (pView = MDIGetActive()->GetActiveView())
{
if (pView->IsKindOf( RUNTIME_CLASS(CFlyAwayView)))
{
AfxMessageBox(_T("hi"));
break;
}
MDINext();
MDIMaximize(pView);
}
1. @ Winapp.cpp InitInstance()
CMultiDocTemplate* pFlyAwayView;
pFlyAwayView = new CMultiDocTemplate(
IDR_EXTYPE,
RUNTIME_CLASS(CDoc),
RUNTIME_CLASS(CChildFrame), // custom MDI child frame
RUNTIME_CLASS(CFlyAwayView));
AddDocTemplate(pFlyAwayView);
pFlyAwayView->OpenDocumentFile(NULL);
//沒有這行View就沒有Active
2. @ MainFrame.cpp
在mainframe中調換view
OnMessageFunction():
CView* pView;
while (pView = MDIGetActive()->GetActiveView())
{
if (pView->IsKindOf( RUNTIME_CLASS(CFlyAwayView)))
{
AfxMessageBox(_T("hi"));
break;
}
MDINext();
MDIMaximize(pView);
}
訂閱:
意見 (Atom)