Explicação do código: Olá mundo: Um aplicativo MFC multiplataforma para SMART dispositivos
Independentemente de você usar o Visual C++ para Windows CE (Mobile) e outros dispositivos móveis ou incorporados Visual C++ para desenvolver aplicativos de dispositivo de destino, o aplicativo do MFC Multiplatform C++ para Smart Devices assistente simplifica a maioria das tarefas comuns de gerar arquivos de projeto.Alguns dos arquivos incluem arquivos de recursos e arquivos de configuração de projeto de várias plataformas.Porque o assistente também introduz a impulsionar código, você pode se concentrar no desenvolvimento de suas principais funções dos negócios aplicativo.
Porque esta explicação passo a passo familiariza o código gerado automaticamente pelo aplicativo MFC Multiplatform para Smart Devices assistente, pode com com facilidade estender e modificar o aplicativo para atender às suas necessidades.
Para obter mais informações, consulte Demonstra Passo a passo: Criando um aplicativo MFC multiplataforma para SMART dispositivos, Referência da MFC para dispositivos e Referência do MFC.
Listagem para um aplicativo MFC multiplataforma para dispositivos inteligentes C++ de código
O código gerado pelo assistente inclui o seguinte:
include seção.
#include "stdafx.h"
stdafx.h.Para obter mais informações, consulte Arquivos de cabeçalho pré-compilados.
#include "MFCHello1.h" #include "MFCHello1Doc.h" #include "MFCHello1View.h"
/ / Configuração depurar.
#ifdef _DEBUG #define new DEBUG_NEW #endif IMPLEMENT_DYNCREATE(CMFCHello1View, CView)
MFC mensagem mapas e mais especificamente BEGIN_MESSAGE_MAP.
IMPLEMENT_DYNCREATE consulte IMPLEMENT_DYNCREATE.
BEGIN_MESSAGE_MAP(CMFCHello1View, CView) END_MESSAGE_MAP()
Código de construção.Para obter mais informações, consulte Design do construtor e o tratamento de exceção, consulte Exceções: Exceções em construtores.
// CMFCHello1View construction/destruction CMFCHello1View::CMFCHello1View() { // TODO: add construction code here. } CMFCHello1View::~CMFCHello1View() { }
MFC PreCreateWindow.
BOOL CMFCHello1View::PreCreateWindow(CREATESTRUCT& cs) { // TODO: Modify the Window class or styles here by modifying // the CREATESTRUCT cs. return CView::PreCreateWindow(cs); }
Lembre-se de que o desenho na tela, tela de pintura, ocorre no CView::OnDraw método. Nesse método, você pode obter o controle da interface gráfica de dispositivo (GDI), ou seja, no código, CDC* pDC, que é fornecido a você sistema autônomo um parâmetro. Não se esqueça de Descomente-lo.Por exemplo, você pode usar toda a potência da GDI para todo o texto a elementos gráficos de jogos animados de desenho em seu aplicativo.Neste exemplo GDI, CDC::DrawTextmétodo é usado para desenhar o texto "Hello World" dentro do retângulo definido pelo CWnd::GetClientRect.
-
// CMFCHello1View drawing void CMFCHello1View::OnDraw(CDC* pDC) { CMFCHello1Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here. CRect rect; GetClientRect(&rect); // Length and string to draw are hard coded for simplicity of // example.
DrawText e outros relacionados métodos.Para obter mais informações, consulte Classe CDC.
pDC->DrawTextW(_T("Hello World"),11, &rect,1); // nCount ( set to 11) can be a –1, then //lpszString is assumed to be // a long pointer to a null-terminated string // and DrawText method automatically // computes the character count. } // CMFCHello1View diagnostics #ifdef _DEBUG void CMFCHello1View::AssertValid() const { CView::AssertValid(); } #ifndef _WIN32_WCE void CMFCHello1View::Dump(CDumpContext& dc) const { CView::Dump(dc); } #endif // !_WIN32_WCE CMFCHello1Doc* CMFCHello1View::GetDocument() const // non-debug version is inline { ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMFCHello1Doc))); return (CMFCHello1Doc*)m_pDocument; } #endif //_DEBUG // CMFCHello1View message handlers
Informações disponível no arquivo Leiame criado pelo Assistente
O Assistente de aplicativo criou este aplicativo MFCHello1 para você.Este aplicativo não apenas demonstra as noções básicas do usando o Microsoft Foundation Classes, mas também é um ponto de partida para escrever seu aplicativo.
Os arquivos gerados são listados aqui, juntamente com um resumo dos quais você encontrará em cada arquivo.Esses arquivos coletivamente compõem o ponto de impulsionar o desenvolvimento de aplicativos MFC.
O nome que HelloMFC é usado para obter um exemplo.Convém usar seu próprio nome de projeto.
HelloMFC.vcproj
O arquivo de projeto principal para projetos Visual C++ gerado utilizando um Assistente de aplicativo.Ele contém informações sobre a versão do Visual C++ que gerou o arquivo e informações sobre plataformas, configurações e recursos do projeto selecionados com o Assistente de aplicativo.
HelloMFC.h
O arquivo de cabeçalho principal para o aplicativo.Ele inclui outros cabeçalhos específicas do projeto e declara a classe de aplicativo CMFCHello1App.
HelloMFC.cpp
O arquivo de fonte do aplicativo principal que contém a definição de classe para a classe de aplicativo CMFCHello1App.
HelloMFCppc.rc
Listagem de todos os recursos Microsoft Windows que o projeto usa quando ele é compilado para a plataforma Pocket PC ou uma plataforma compatível com o mesmo modelo de interface de usuário de arquivo de recurso principal do projeto.Ele inclui ícones, bitmaps e cursores armazenados na subdiretório RES.Este arquivo pode ser editado diretamente no Microsoft Visual C++.Os recursos do projeto estão em 1033.Quando o arquivo .rc é persistente, o define nos dados de seção são mantidos sistema autônomo a versão hexadecimal do valor numérico são definidas para, em vez do nome amigável do que a definição.
res\HelloMFCppc.RC2
Um arquivo que contém recursos que não são editados pela Microsoft Visual C++.Você deve colocar todos os recursos não poderá ser editado pelo editor de recurso neste arquivo.
HelloMFCsp.rc
Listagem de todos os recursos Microsoft Windows que o projeto usa quando ele é compilado para a plataforma de Smartphone ou uma plataforma compatível com o mesmo modelo de interface de usuário de arquivo de recurso principal do projeto.Ele inclui ícones, bitmaps e cursores armazenados na subdiretório RES.Este arquivo pode ser editado diretamente no Microsoft Visual C++.Os recursos do projeto estão em 1033.Quando o arquivo .rc é persistente, o define nos dados de seção são mantidos sistema autônomo a versão hexadecimal do valor numérico definidos para em vez do nome amigável do que a definição.
res\HelloMFCsp.RC2
Um arquivo que contém recursos que não são editados pela Microsoft Visual C++.Você deve colocar todos os recursos não poderá ser editado pelo editor de recurso neste arquivo.
res\HelloMFC.ico
Um arquivo de ícone, usado sistema autônomo o ícone do aplicativo.Este ícone é incluído por arquivo de recurso principal.
MainFrm.h, MainFrm.cpp
Arquivos que contêm a classe de quadro CMainFrame, que é gerada a partir da CFrameWnd e controla todos os recursos de quadro SDI.
O Assistente de aplicativo também cria um tipo de documento do MFC e um modo de exibição MFC:
HelloMFCDoc.h, HelloMFCDoc.cpp
Arquivos que contêm sua classe HelloMFCDoc.Edite esses arquivos para adicionar os dados de documento especial e para implementar o arquivo salvamento e carregamento (usando CMFCHello1Doc::Serialize).
HelloMFCView.h, HelloMFCView.cpp
Arquivos que contêm sua classe HelloMFCView.HelloMFCView objetos são usados para exibir objetos HelloMFCDoc.
StdAfx.h, StdAfx.cpp
Arquivos usados para criar um arquivo de cabeçalho pré-compilado (PCH) chamado HelloMFC.pch e um arquivo de tipos pré-compilado chamado StdAfx.obj.
Resourceppc.h e Resourcesp.h
O arquivo de cabeçalho padrão, que define o novo recurso IDs.Microsoft Visual C++ lê e atualiza esse arquivo.
O Assistente de aplicativo usa TODO: para indicar as partes do código-fonte, você pode adicionar ou personalizar.
Se o aplicativo usar MFC em uma DLL compartilhada e seu aplicativo estiver em um linguagem diferente do sistema operacional corrente, convém copiar MFC80XXX.DLL do recurso localizado correspondente para o diretório do aplicativo.Esse nome, "XXX" representa a abreviação de linguagem.Por exemplo, MFC80DEU.DLL contém recursos convertidos em alemão.Caso contrário, alguns dos elementos da interface do usuário do aplicativo permanecerá no linguagem do sistema operacional.