第 2 章 Windows 编程基础

Click here to load reader

download 第 2 章  Windows 编程基础

of 24

description

第 2 章 Windows 编程基础. 2.1.1 简单的 Windows 应用程序. 简单的 Windows 应用程序。 [ 例 Ex_HelloMsg] 一个最简单的 Windows 应用程序 ( 1 ) 运行 Microsoft Visual C++ 6.0 后,选择“文件”  “新建”菜单命令,打开应用程序向导,显示出“新建”对话框。. 2.1.1 简单的 Windows 应用程序. ( 2 )在工程名称框中键入 Win32 应用程序项目名称 elloMsg 。 ( 3 )单击 [ 确定 ] 按钮继续。. - PowerPoint PPT Presentation

Transcript of 第 2 章 Windows 编程基础

  • 2 Windows

  • 2.1.1 Windows Windows [Ex_HelloMsg] Windows

    1 Microsoft Visual C++ 6.0

  • 2.1.1 Windows2Win32elloMsg3[] 4

  • 2.1.1 Windows6#include int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance LPSTR lpCmdLine, int nCmdShow) { MessageBox (NULL, "Visual C++", "", 0) ; return 0 ; }

  • 2.1.1 Windows

    WinMainint WINAPI WinMain (HINSTANCE hInstance, // HINSTANCE hPrevInstance, // LPSTR lpCmdLine, // int nCmdS // Win32Windows.hWindows MessageBoxWin32 PI(ApplicationProgramming Interface, )

  • 2.1.1 Windows [Ex_HelloWin] Windows

    1 Ex_HelloMsgAn empty projectWin32 Application(Win32 )Ex_HelloWin

    2C++ Source FileEx_HelloWin.cpp[]

    3 Ex_HelloMsgEx_HelloWin WndProcWinMain APIRegisterClass

  • 2.1.1 WindowsCreateWindowCreateWindow HWND CreateWindow( LPCTSTR lpClassName, // LPCTSTR lpWindowName, // DWORD dwStyle, // int x, // int y, // int nWidth, // int nHeight, // HWND hWndParent, // HMENU hMenu, // HINSTANCE hInstance, // LPVOID lpParam //

  • 2.1.1 WindowsAPIGetMessage DispatchMessage

    WM_QUIT (4)

  • 2.1.1 WindowsWindows

  • 2.1.2 Windows WindowsWinMainWindows (GDI) 1. WindowsWindowsWindows(Events)(Message)

  • 2.1.2 Windows 4.

    WindowsDLLKERNEL32.DLLGDI32.DLLUSER32.DLL KERNEL32.DLLWindows GDI32.DLLWindows USER32.DLL 2. (GDI)

    WindowsGDI

    Windows

  • 2.1.3 Windows Windows

  • 2.1.3 Windows HINSTANCELPSTRWindows C++ PLPU, WindowsLOBYTEHIBYTE16LOWORDHIWORD32MAKEWORD1632

  • 2.2.1 Windows [Ex_WinText] 1An empty projectWin32 pplication(Win32 )Ex_WinText2C++(Source File)Ex_WinText.cpp 3 Ex_WinText

  • 2.2.1 TextOutGDI BOOL TextOut( HDC hdc, // int nXStart, // int nYStart, // LPCTSTR lpString, // int cbString // hdcHDCTextOutGDIHDCEndPaintWindowsM_PAINTPAINTSTRUCTBeginPaintEndPaintPAINTSTRUCT

  • 2.2.2 Win32CreateWindow Ex_WinControl] (1) An empty projectWin32 ApplicationWin32 )Ex_WinControl

    (2) C++(Source File) _WinControl.cpp (3) []

  • 2.3.1 MFC Win16 APIWindows GUIMFC

  • 2.2.3 MFC Ex_HelloMFC] MFC(1) An empty projectWin32 Application(Win32 )Ex_HelloMFC(2) (3) C++ Source FileEx_HelloMFC.cpp[] (4) GeneralMicrosoft Foundation ClassesUse MFC in a Shared DLL[OK] (5) Ex_HelloWin

  • 2.3.3 1. MFCafxwin.hwindows.hEx_HelloMFCWindowsinMainCHelloAppeAppCHelloAppInitInstance m_pMainWnd = new CMainFrame(); m_pMainWnd->ShowWindow(m_nCmdShow); m_pMainWnd->UpdateWindow();TRUE

  • 2.3.3 (1) LARE_MESSAGE_MAP() (2) BEGIN_MESSAGE_MAPEND_MESSAGE_MAPMFC (3) : void CMainFrame::OnLButtonDown(UINT nFlags, CPoint point) { MessageBox ("Visual C++", "", 0) ;CFrameWnd::OnLButtonDown(nFlags, point);}

  • 2.3.4 MFC AppWizard 2.2 MFC AppWizard

    ATL COM MFC AppWizardATL(Active Template Library)Cluster Resource Type WizardCluster Resource(Windows NT)Custom MFC AppWizardDatabase ProjectDevStudio Add-in WizardActiveXVBScriptExtended Stored Proc WizardSQLISAPI Extension WizardInternet ServerMakeFileVisual C++MFC ActiveX ControlWizardActiveX ControlMFC AppWizard(dll)MFCMFC AppWizard(exe)MFCWindowsUtility ProjectWin32 ApplicationWin32WindowsWin32 Console ApplicationWin32Win32 Dynamic-Link LibraryWin32Win32 Static LibraryWin32

  • 2.3.4 MFC AppWizard[Ex_SDIDemo] 1. 2 . (1) (Single DocumentSDI) (Multiple Document MDI)(Dia log Based)

    (2) MFC(/ )

  • 2.3.4 MFC AppWizard(3) 3. [][]4. MFC AppWizardCtrl+F5Ex_SDIDemo.exe

  • (1) Win32 APIWin32 MFC

    (2) Win32 API

    (3) MFC AppWizard

    (4)