资源:
资源编译器首先检查已存在include 头文件中定义的符号。如果符号已经存在,资源编译器就通过 整型ID来引用该符号所指向的资源。否则,资源编译器就假定它是个字符串。
LoadIcon( hInstance, MAKEINTRESOURCE( ID_ICON1 ) );
LoadIcon( hInstance, MAKEINTRESOURCE( _T("ID_ICON1") ) );
设置游标: HCURSOR SetCursor( HCURSOR hCursor );
int LoadString( HISNTANCE hInstance, UINT nID, LPTSTR lpBuffer, int nBuferMax );
BOOL PalySound( LPCSTR pszSound, HMODULE hmod, DWORD, fdwSound );
------------------------------------------------------
GDI:
BeginPaint() -> EndPaint() 向Windows发出消息,指示该窗口内容已经恢复。如果GetDC() -> ReleaseDC() 代替了 WM_PAINT的处理程序,则必须调用 BOOL ValidateRect( HWND, CONST RECT* );
PAINTSTRUCT中包含无效的矩形。
BOOL InvalidateRect( HWND hWnd, CONST RECT* lpRect, BOOL bErase );
如果 lpRect为空,则使整个窗口无效
------------------------------------------------------
视频显示基础和色彩:
像素、分辨率、色深(BBP)、隔行扫描/逐行扫描、光栅化(Rasterization)、视频RAM、刷新速率(Hz、fps)、2D加速、3D加速。
RGB()宏 返回 COLORREF
SetBkMode(hdc, TRANSPARENT );
------------------------------------------------------
处理键盘事件:
WM_CHAR, WM_KEYDOWN / WM_KEYUP,
GetAsyncKeyState(); //随时随地获得键盘状态
inline BOOL IfKeyDown( vk_code ) {
return ( GetAsyncKeyState( vk_code ) & 0x8000 ) ? 1: 0; }
SendMessage() 实际上调用WinProc();
PostMessage()发往消息队列;
/
if( IfKeyDown( VK_ESCAPE ) )
SendMessage( hwnd, WM_CLOSE, 0, 0 );
/