Win32编程心得。一

原创 2005年05月25日 11:42:00

一。键盘输入
二。一般的输出
三。计时器使用

//***********************************************************
键盘输入

方法。一
#define KEYDOWN(vk_code) ((GetAsyncKeyState(vk_code) & 0x8000) ? 1 : 0)
#define KEYUP(vk_code)   ((GetAsyncKeyState(vk_code) & 0x8000) ? 0 : 1)

 虚拟键编码vk_code表 vk_code与键盘种类无关
KEYDOWN(VK_UP)  LEFT RIGHT DOWN
VK_INSERT DELETE RETURN
VK_ESCAPE SHIFT CONTROL PAUSE SPACE
VK_PRIOR(Page Up) NEXT(Page Down) END HOME

VK_F1 ~ VK_F12

方法。二
case WM_CHAR:
 char ascii_code = wparam;//注意传递的是ASCII码
 unsigned int key_state = lparam;
 //......

方法。三
case WM_KEYDOWN://同样可以WM_KEYUP
 char virtual_code = (int)wparam;
 int key_state = (int)lparam;

 switch(virtual_code){
  case VK_RIGHT://......
 }
 

 

//***********************************************************
一般的输出
// set the color
SetTextColor(hdc,RGB(0,255,0));
SetBkColor(hdc,RGB(0,0,0));
SetBkMode(hdc,OPAQUE);

char buffer[60];
sprintf(buffer....   //include <stdio.h>
TextOut(hdc,0,0,buffer,strlen(buffer));


//***********************************************************
计时器使用

1. #define TIMER_ID1_SEC   1
2. case WM_CREATE: 
         SetTimer(hwnd, TIMER_ID1_SEC, 1000,NULL);

3. case WM_TIMER:
 switch(wparam)
           {
           case TIMER_ID1_SEC:
   //do something
   break;
  //...... 


【原型】DWORD GetTickCount(void);
返回从Windows启动后的毫秒数。  除以1000

time = hour*3600 + minute*60 + second

    int time = GetTickCount()/1000 ;
    int hour = time /3600 ;
    int minute = (time - hour*3600 )/60 ;
    int second = time % 60;


//***********************************************************

windows下实现win32俄罗斯方块练手,编程的几点心得

编程珠玑2阅读笔记: 1.使用c语言性能监视器,完成对代码的调优工作 2.关联数组:  拓扑排序算法,可以用于当存在遮挡的时候决定三维场景的绘制顺序。 3.小型算法中的测试与调试工具 脚手...

Win32 IME 编程心得【转】

一些术语 IME: Input Method Editor/Engine, 输入法编辑器, 引擎IMM: Input Method Manager, 输入法管理器Comp: Compositio...

WIN32无边框窗体的缩放、移动与WM_NCHITTEST消息&&UpdateLayeredWindow重要心得

一、WM_NCHITTEST消息 MSDN对它的解释是: The WM_NCHITTEST message is sent to a window when the cursor moves,...

WIN32无边框窗体的缩放、移动与WM_NCHITTEST消息&&UpdateLayeredWindow重要心得

一、WM_NCHITTEST消息 MSDN对它的解释是: The WM_NCHITTEST message is sent to a window when the cursor moves, or...

利用Python和win32编程范例——按需定制一个按键精灵

转自:作者 橘子一方 http://www.orangecube.net/articles/python-win32-example.html  利用Python和win32编程范例——按需...

win32窗口编程实例代码,自己敲出来的,仅供新人参考

// mydemo1.cpp : 定义应用程序的入口点。 // #include "stdafx.h" #include "mydemo1.h" #define WM_MYMSG ...

win32 socket编程 示例(功能简单,完善)

最近在做的一个项目要用到网络通信方面的内容,于是自学了下win32socket,原来自己学过计算机网络,只了解网络各层的原理,但没有真正的编程来实现这些原理,哎,不过现在还来得及,下面是自己的一个示例...

WIN32 API串口通信编程

WIN32 API串口通讯实例教程   第一节实现串口通讯的函数及串口编程简介   API函数不仅提供了打开和读写通讯端口的操作方法,还提供了名目繁多的函数以支持对串行通讯的各种操作。常用函数...

如何利用Python和win32编程避免重复性体力劳动(四)——下拉列表操作:CB_SETCURSEL、CBN_SELENDOK和CBN_SELCHANGE

Part 4:控件操作B 至于另存为图片,情况要稍微复杂一点,因为另存为图片的默认选项是BMP,特别不巧,我使用的FaceGen版本保存为BMP有BUG,不能成功保存,所以我们除了定位保存文件的...
  • seele52
  • seele52
  • 2013年12月31日 23:11
  • 3601

如何利用Python和win32编程避免重复性体力劳动(二)——菜单操作:GetMenu,GetSubMenu,GetMenuItemID以及wParam的HIWORD&LOWORD

Part 2:菜单操作 有了句柄,我们就可以操作FaceGen了!嗯,要先打开文件,File→Open,然后再File→Save Image(很悲剧,Save Image没有快捷键,所以不得不进行菜单...
  • seele52
  • seele52
  • 2013年12月25日 01:01
  • 4001
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Win32编程心得。一
举报原因:
原因补充:

(最多只允许输入30个字)