#1 13.04.08 01:32
проблема с прорисовкой диалоговых панелей
Здравствуйте!
Разработка приложения ведется используя MFC.
Так как я только начал изучать MFC, то (наверно по этому) столкнулся с проблемой.
Вообщем создаю главное окно, в нем менюшка, и при нажатии на одну из клавиш менюшки создается модальное диалоговое окно, в котором прорисовываются только контролы, находящиеся на диалоге.
Если создаю немодальное окно, то оно в один момент, сначала появляется, потом исчезает.
Вот код:
Код::
это cpp класса диалогового окна
#include "stdafx.h"
#include "DialogAbout.h"
IMPLEMENT_DYNAMIC(CDialogAbout, CDialog)
CDialogAbout::CDialogAbout(CWnd* pParent /*=NULL*/)
: CDialog(CDialogAbout::IDD, pParent)
{
}
CDialogAbout::~CDialogAbout()
{
}
void CDialogAbout::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CDialogAbout, CDialog)
ON_BN_CLICKED(IDOK, &CDialogAbout::OnBnClickedOk)
END_MESSAGE_MAP()
// CDialogAbout message handlers
void CDialogAbout::OnBnClickedOk()
{
OnOK();
}..ничего полезного....
и код класса главного окна:
Код::
#include <afxwin.h>
#include "DialogAbout.h"
#include "MainFrame.h"
#include "resource.h"
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
ON_COMMAND(ID_TEST_BEEP, TestBeep)
ON_COMMAND(ID_TEST_EXIT,TestExit)
ON_COMMAND(ID_ABOUT, About)
END_MESSAGE_MAP()
CMainFrame::CMainFrame()
{
Create(NULL, L"Hello", WS_OVERLAPPEDWINDOW, rectDefault, NULL, MAKEINTRESOURCE(IDR_MENU));
}
void CMainFrame::TestBeep()
{
MessageBeep(0);
}
void CMainFrame::TestExit()// Метод TestExit - обрабатывает команду меню
{
DestroyWindow();
}
void CMainFrame::About()
{
MessageBeep(MB_ICONASTERISK);
CDialogAbout Dialog;
Dialog.DoModal();
}Исправлено voropay (13.04.08 01:33)
Offline

