困惑中。。谁能帮忙解决这个问题? 给一张键盘的图片,用它来做个程序检测键盘。当按下键盘某个按键的时候,会在图片上相应的那个键亮起红色来。看起来简单,可是在下是个菜鸟,不知道如何入手,至于检测键盘扫描码我知道怎么做,关键是如何LOAD那张图片进我的应用程序?如何知道在具体位置亮红色的?做过的高手谁能帮我? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 没作过,不过可以这样试试1.将键盘的图片.bmp显示出来: CBitmap bmpBoard; bmpBoard.LoadBitmap( IDB_...... );2.在程序中重载WM_KEYDOWN,改写其处理函数 switch(按下的键){ case VK_RETURN: HighLightShow( 回车键 ); case .... ....}3.写加亮显示的函数HighLightShow( int ) 思路如下:用n个Rect记录位图中每个键的位置,要加亮显示时则在该位置画红色,并取消其他位置的红色。或者你将键盘的位图切为每个键一张。并都有两张(未加亮,加亮)。这样你就只需在需要的时候切换显示的位图。 菜鸟基础提问:如何在c++中读取位图?(恳求详细解答) DC中的图有残留 关于协议hdlc的问题 高手解释下:WIN32程序与MFC程序的特点,区别与联系 对象释放问题 请问怎么把CString型的字符串转换为char*的。 如何在程序中引用Editbox中的值? 打印预览出现异常!!!!!怎么办??? 为什么我的VC6编译器不承认Template-Based Classed? 急急急!如何使edit控件响应键盘事件??? 一个很菜的问题,如何在VC编译器中编写C的DOS的console程序 关于BSTR资源释放的问题!
CBitmap bmpBoard;
bmpBoard.LoadBitmap( IDB_...... );
2.在程序中重载WM_KEYDOWN,改写其处理函数
switch(按下的键)
{
case VK_RETURN:
HighLightShow( 回车键 );
case ....
....
}3.写加亮显示的函数HighLightShow( int )
思路如下:用n个Rect记录位图中每个键的位置,要加亮显示时则在该位置画红色,并取消其他位置的红色。
或者你将键盘的位图切为每个键一张。并都有两张(未加亮,加亮)。这样你就只需在需要的时候切换显示的位图。