摘要:
As you design your application's menus, you have the option of using keyboard accelerators to assign shortcut keys to any or all of the menu items. An accelerator produces a WM_COMMAND message just as making a menu selection does. Adding keyboard accelerators to your application is simplicity it 阅读全文
摘要:
// In CMainWindow's message mapON_WM_LBUTTONDOWN ()ON_WM_LBUTTONUP () void CMainWindow::OnLButtonDown (UINT nFlags, CPoint point){ SetCapture ();}void CMainWindow::OnLButtonUp (UINT nFlags, CPoint point){ ::ReleaseCapture ();}In between, CMainWindow receives WM_MOUSEMOVE messages that report ... 阅读全文
摘要:
It's important to delete the GDI objects you create, but it's equally important to never delete a GDI object while it's selected into a device context. Code that attempts to paint with a deleted object is buggy code. The only reason it doesn't crash is that the Windows GDI is sprinkl 阅读全文
摘要:
CDC::GetDeviceCapsint GetDeviceCaps(int nIndex) const;返回值:如果成功,则返回所需要的能力值。参数:nIndex 指定返回信息类型,可为下列值之一:· DRIVERVERSION 版本号,例如:0x100表示1.0版· TECHNOLOGY 设备技术,可为下列值之一:值 含义DT_PLOTTER 矢量绘图机DT_RASDISPLAY 光栅显示DT_RASPRINTER 光栅打印机DT_RASCAMERA 光栅照相机DT_CHARSTREAM 字符流DT_METAFILE 元文件DT_DISPFILE 显示文件· 阅读全文
摘要:
hello.h#include <afxwin.h>class CHelloApp : public CWinApp{ public: virtual BOOL InitInstance();};class CMainWindow : public CFrameWnd{ public: CMainWindow(); protected: afx_msg void OnPaint(); DECLARE_MESSAGE_MAP()};hello.cpp#include "hello.h"CHelloApp myApp;BOOL CHelloApp::InitInst 阅读全文