博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2011年10月14日

摘要: 今天写了一些代码,下面是一部分。运行没有错误,但是就是什么窗口都没有创建显示出来。于是debug,发现hwnd即CreateWindow返回值为空。为什么呢?想了好久,网上也找了很多资料。最后发现是窗口过程函数LRESULT CALLBACK WindowProc写得有问题,于是一步步差错修正(很水的错误,不贴出来了)。最后运行成功,窗口显示正常!// 创建窗口HWND hwnd;hwnd = CreateWindow(_T("myClassName"), _T("my Window Name"), WS_OVERLAPPEDWINDOW, 0, 0, 阅读全文

posted @ 2011-10-14 21:01 猫少侠 阅读(1555) 评论(0) 推荐(3) 编辑

摘要: 方法一:方法一只针对新手,在vs2010中修改编码格式: 右键工程——》 选择“Properties”——》 选择“Configuration Properties”——》 再选择“General”——》 最后把“Project Default”下的“Character Set”修改为“Use Multi-Byte Character Set”(默认为“Use Unicode Character Set”) 这样对新手来说,就省了很多类型显示转换的工夫。但是这对学习windows不好,因为这样无法理解windows编程的特性、字符格式的原理。有精力还是不要用方法一,多折腾下就好了,... 阅读全文

posted @ 2011-10-14 10:41 猫少侠 阅读(8104) 评论(0) 推荐(4) 编辑

摘要: 形象地说:SendMessage类似于快递员,要等到客户拿到商品才能走人; PostMessage相当于邮递员,把信封送到信箱就走人了。1、首先是返回值意义的区别,我们先看一下 MSDN 里的声明:LRESULT SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);BOOL PostMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam); 其中 4 个参数的意义是一样的,返回值类型不同(其实从数据上看他们一样是一个 32 位的数,只是意义不一样),LRESULT 表示的. 阅读全文

posted @ 2011-10-14 10:24 猫少侠 阅读(687) 评论(0) 推荐(0) 编辑