纸符道士

自古英雄如美女 不许人间现白头

  C++博客 :: 首页 :: 联系 :: 聚合  :: 管理
  4 Posts :: 7 Stories :: 0 Comments :: 0 Trackbacks

常用链接

留言簿(1)

我参与的团队

搜索

  •  

最新评论

阅读排行榜

评论排行榜

当使用windows GDI 绘图的时候,首先要获得设备内容句柄(HDC)

BeginPaint、GetDC和GetWindowDC 获得的设备内容都与视讯显示器上的某个特定窗口相关

处理WM_PAINT消息时,使用BeginPaint和EndPaint呼叫和释放
处理非WM_PAINT消息时,使用GetDC和ReleaseDC

用于获得整个窗口的设备内容,而不局限于窗口的显示区域
GetWindowDC (hwnd) ;
和              
ReleaseDC (hwnd, hdc) ;

取得设备内容句柄的另一个更通用的函数是CreateDC:
hdc = CreateDC (pszDriver, pszDevice, pszOutput, pData) ;
       
其它行程序
       
DeleteDC (hdc) ;

获得整个屏幕的设备内容句柄:
hdc = CreateDC (TEXT ("DISPLAY"), NULL, NULL, NULL) ;


对于所有的鼠标消息

lParam值均含有鼠标的位置:低字组为x坐标,高字组为y坐标,这两个坐标是相对于窗口显示区域左上角的位置。您可以用LOWORD和HIWORD宏来提取这些值:
x = LOWORD (lParam) ;
       
y = HIWORD (lParam) ;

wParam的值指示鼠标按键以及Shift和Ctrl键的状态
您可以使用表头文件WINUSER.H中定义的位屏蔽来测试wParam。MK前缀代表「鼠标按键」。

例如,如果收到了WM_LBUTTONDOWN消息,而且值

wparam & MK_SHIFT

是TRUE(非0),您就知道当左键按下时也按下了Shift键。




————————————————————————————————————
以上内容摘自windows 程序设计
posted on 2007-11-19 22:06 纸符道士 阅读(268) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理