今天C++的学习以孙鑫的C++视屏为主,废话不说,线上链接:http://www.youku.com/playlist_show/id_2913195_ascending_1_mode_pic_page_2.html
Windows程序内部运行原理:VC是基于Windows. windows 是一种事件驱动的编程方式,并以消息驱动。
应用程序以函数调用的方式通知操作系统执行相应的功能。这些函数的集合就是window操作系统提供给应用程序编程的接口(Application Programming Interface),简称Windows API.
消息机制(Message)操作系统将每个时间都包装成一个称为消息的结构体MSG来传递给应用程序。
句柄(HANDLE),资源的标志。窗口句柄(HWND),操作系统给每一个窗口唯一的标志号,即窗口句柄。
窗口的创建
设计一个窗口类
WNDCLASS structure
注册一个窗口类
RegisterClass function
窗口过程函数:回调函数(消息响应函数)
WindowProc callback function
LRESULT CALLBACK WindowProc( _In_ HWND hwnd, _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam );
创建一个窗口
CreateWindow function
HWND WINAPI CreateWindow( _In_opt_ LPCTSTR lpClassName, _In_opt_ LPCTSTR lpWindowName, _In_ DWORD dwStyle, _In_ int x, _In_ int y, _In_ int nWidth, _In_ int nHeight, _In_opt_ HWND hWndParent, _In_opt_ HMENU hMenu, _In_opt_ HINSTANCE hInstance, _In_opt_ LPVOID lpParam );
HWND hwnd;
hwnd=CreateWINDOW(....)
显示一个窗口
ShowWindow function
BOOL WINAPI ShowWindow(
_In_ HWND hWnd,
_In_ int nCmdShow
);
更新窗口
UpdateWindow function
消息结构体:MSG
取消息(GetMessage)
BOOL WINAPI GetMessage( _Out_ LPMSG lpMsg, _In_opt_ HWND hWnd, _In_ UINT wMsgFilterMin, _In_ UINT wMsgFilterMax );
MessageBox function
int WINAPI MessageBox(
_In_opt_ HWND hWnd,
_In_opt_ LPCTSTR lpText,
_In_opt_ LPCTSTR lpCaption,
_In_ UINT uType
);
HDC 句柄(device context)
GetDC function
HDC GetDC( _In_ HWND hWnd );
TextOut function
BOOL TextOut( _In_ HDC hdc, _In_ int nXStart, _In_ int nYStart, _In_ LPCTSTR lpString,(文本内容) _In_ int cchString(字符数) );
ReleaseDC function
int ReleaseDC( _In_ HWND hWnd, _In_ HDC hDC );
WM_PAINT message
LRESULT CALLBACK WindowProc( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam );BeginPaint function
HDC BeginPaint( _In_ HWND hwnd, _Out_ LPPAINTSTRUCT lpPaint(PAINTSTRUCT的指针));endpaint(只能在WM_paint 里使用,GetDC不能在WM_paint使用)WM_CLOSE message
DestroyWindow function
PostQuitMessage function
DefWindowProc function
LRESULT WINAPI DefWindowProc( _In_ HWND hWnd, _In_ UINT Msg, _In_ WPARAM wParam, _In_ LPARAM lParam );
对你不感兴趣的消息作默认处理。