简单的MiniGUI软键盘Word下载.docx
- 文档编号:17366566
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:15
- 大小:29.91KB
简单的MiniGUI软键盘Word下载.docx
《简单的MiniGUI软键盘Word下载.docx》由会员分享,可在线阅读,更多相关《简单的MiniGUI软键盘Word下载.docx(15页珍藏版)》请在冰豆网上搜索。
9"
0"
-"
="
<
-"
};
staticconstintSCANCODE1[]=
SCANCODE_GRAVE,SCANCODE_1,SCANCODE_2,SCANCODE_3,
SCANCODE_4,
SCANCODE_5,SCANCODE_6,SCANCODE_7,SCANCODE_8,
SCANCODE_9,
SCANCODE_0,SCANCODE_MINUS,SCANCODE_EQUAL,
SCANCODE_BACKSPACE
staticconstchar*caption2[]=
Tab"
q"
w"
e"
r"
t"
y"
u"
i"
o"
p"
["
]"
\\"
staticconstintSCANCODE2[]=
SCANCODE_TAB,SCANCODE_Q,SCANCODE_W,SCANCODE_E,
SCANCODE_R,
SCANCODE_T,SCANCODE_Y,SCANCODE_U,SCANCODE_I,SCANCODE_O,
SCANCODE_P,SCANCODE_BRACKET_LEFT,SCANCODE_BRACKET_RIGHT,SCANCODE_BACKSLASH
staticconstchar*caption3[]=
Shift"
a"
s"
d"
f"
g"
h"
j"
k"
l"
;
"
'
staticconstintSCANCODE3[]=
SCANCODE_LEFTSHIFT,SCANCODE_A,SCANCODE_S,SCANCODE_D,
SCANCODE_F,
SCANCODE_G,SCANCODE_H,SCANCODE_J,SCANCODE_K,
SCANCODE_L,
SCANCODE_SEMICOLON,SCANCODE_APOSTROPHE
staticconstchar*caption4[]=
Ctrl"
z"
x"
c"
v"
b"
n"
m
"
."
/"
Enter"
staticconstintSCANCODE4[]=
SCANCODE_LEFTCONTROL,SCANCODE_Z,SCANCODE_X,SCANCODE_C,
SCANCODE_V,
SCANCODE_B,SCANCODE_N,SCANCODE_M,SCANCODE_COMMA,
SCANCODE_PERIOD,
SCANCODE_SLASH,SCANCODE_ENTER
staticconstchar*caption5[]=
Del"
英"
中"
Space"
|"
->
staticconstintSCANCODE5[]=
SCANCODE_REMOVE,-1,-1,SCANCODE_SPACE,
SCANCODE_CURSORBLOCKDOWN,
SCANCODE_CURSORBLOCKUP,SCANCODE_CURSORBLOCKLEFT,
SCANCODE_CURSORBLOCKRIGHT
staticvoidcreate_novaskb1(HWNDhWnd)
HWNDcb;
COOLBARITEMINFOitem;
inti;
staticBITMAPdel_bmp;
if(LoadBitmap(HDC_SCREEN,&
del_bmp,"
./little/del.bmp"
)!
=ERR_BMP_OK)
exit
(1);
cb=CreateWindow(CTRL_COOLBAR,
WS_CHILD|WS_VISIBLE|WS_BORDER,
IDC_NovaSKB1,
0,0,240,20,
hWnd,
0);
item.ItemType=TYPE_TEXTITEM;
item.Bmp=NULL;
item.dwAddData=0;
for(i=0;
i<
ITEM_NUM1-1;
i++){
item.insPos=i;
item.id=i;
item.Caption=caption1[i];
item.ItemHint=NULL;
SendMessage(cb,CBM_ADDITEM,0,(LPARAM)&
item);
}
/*del按键*/
item.ItemType=TYPE_BMPITEM;
item.Bmp=&
del_bmp;
item.Caption=NULL;
item.dwAddData=0;
staticvoidcreate_novaskb2(HWNDhWnd){
IDC_NovaSKB2,
0,22,240,20,
ITEM_NUM2;
item.Caption=caption2[i];
staticvoidcreate_novaskb3(HWNDhWnd){
IDC_NovaSKB3,
0,44,240,20,
ITEM_NUM3;
item.Caption=caption3[i];
staticvoidcreate_novaskb4(HWNDhWnd){
IDC_NovaSKB4,
0,66,240,20,
ITEM_NUM4;
item.Caption=caption4[i];
staticvoidcreate_novaskb5(HWNDhWnd){
staticBITMAPdown_bmp;
staticBITMAPup_bmp;
staticBITMAPleft_bmp;
staticBITMAPright_bmp;
down_bmp,
./little/down.bmp"
up_bmp,"
./little/up.bmp"
=
ERR_BMP_OK)
left_bmp,
./little/left.bmp"
right_bmp,
./little/right.bmp"
IDC_NovaSKB5,
0,88,240,20,
ITEM_NUM5-4;
item.Caption=caption5[i];
#if1
/*down按键*/
down_bmp;
/*up按键*/
i++;
up_bmp;
/*left按键*/
left_bmp;
/*right按键*/
right_bmp;
#endif
staticintNovaSKBProc(HWNDhWnd,intmessage,WPARAMwParam,
LPARAMlParam)
switch(message)
caseMSG_CREATE:
create_novaskb1(hWnd);
create_novaskb2(hWnd);
create_novaskb3(hWnd);
create_novaskb4(hWnd);
create_novaskb5(hWnd);
break;
caseMSG_COMMAND:
intid=LOWORD(wParam);
intcode=HIWORD(wParam);
switch(id)
caseIDC_NovaSKB1:
SendMessage(hIMEWnd,
MSG_KEYDOWN,SCANCODE1[code],0);
caseIDC_NovaSKB2:
MSG_KEYDOWN,SCANCODE2[code],0);
caseIDC_NovaSKB3:
SendMessage(hIMEWnd,MSG_KEYDOWN,SCANCODE3[code],0);
caseIDC_NovaSKB4:
SendMessage(hIMEWnd,MSG_KEYDOWN,SCANCODE4[code],0);
caseIDC_NovaSKB5:
if(code==1)
/*英文*/
SetIMEStatus(IS_ENABLE,0);
/*刷新输入窗口*/
ShowWindow(hIMEWnd,SW_HIDE);
ShowWindow(hIMEWnd,SW_SHOWNORMAL);
elseif(code==2)
/*中文*/
SetIMEStatus(IS_ENABLE,1);
ShowWindow(hIMEWnd,
SW_SHOWNORMAL);
else
SendMessage(hIMEWnd,MSG_KEYDOWN,SCANCODE5[code],0);
//Send2ActiveClient(MSG_KEYDOWN,SCANCODE_CURSORDOWN,0);
//Send2ActiveClient(MSG_KEYUP,SCANCODE_CURSORDOWN,0);
caseMSG_KEYDOWN:
Send2ActiveClient(MSG_KEYDOWN,wParam,lParam);
caseMSG_DESTROY:
DestroyAllControls(hWnd);
return0;
caseMSG_CLOSE:
DestroyMainWindow(hWnd);
PostQuitMessage(hWnd);
returnDefaultMainWinProc(hWnd,message,wParam,lParam);
staticvoidInitNovaSKBCreateInfo(PMAINWINCREATEpCreateInfo,
intx,inty)
pCreateInfo->
dwStyle=WS_ABSSCRPOS|WS_BORDER|WS_VISIBLE;
dwExStyle=WS_EX_TOOLWINDOW;
spCaption="
NovaSKB"
hMenu=0;
hCursor=GetSystemCursor(IDC_ARROW);
hIcon=0;
MainWindowProc=NovaSKBProc;
lx=x;
ty=y;
rx=x+WIDTH_SKB;
by=y+HEIGHT_SKB;
iBkColor=PIXEL_lightwhite;
dwAddData=0;
hHosting=HWND_DESKTOP;
}
HWNDNovaSKBWindow(HWNDhosting,intx,inty)
HWNDhwnd_novaskb;
MAINWINCREATECreateInfo;
InitNovaSKBCreateInfo(&
CreateInfo,x,y);
CreateInfo.hHosting=hosting;
hwnd_novaskb=CreateMainWindow(&
CreateInfo);
if(hwnd_novaskb==HWND_INVALID)
return-1;
ShowWindow(hwnd_novaskb,SW_HIDE);
returnhwnd_novaskb;
创建于:
2006-05-0715:
30:
30,修改于:
34:
22,已浏览1264次,
有评论20条
网友评论
网友:
本站网友时间:
2006-05-0908:
57:
54IP地址:
218.87.41.?
非常感谢,别人找了n久,功夫不负有心人啊
朋友时间:
2006-05-1808:
43IP地址:
60.183.132.?
你的版本是free的吗,我的1.3.3版的汉字显示效果实在是差,后来加上了TTF支持,感觉也不
好看,不知道您的字体是怎么弄的(在font配置的时候一般选哪些字体,),很漂亮~希望能得
到您的指点
er时间:
2006-05-1809:
38:
31IP地址:
211.71.95.?
刚开始就是用的1.3.3,也试过1.6.8都差不多,也没有啥特殊配置.就是1.3.3在redhat中有些字
显示两个竖线,不过在开发板上没事.
阿布时间:
2006-05-1810:
19:
22IP地址:
222.171.7.?
谢谢你提供的源码,好奇怪,我用的是1.3.3,在redhat中用qvfb没事,但是在开发板上有些字
显示两个竖线,和你的情况正好相反,不知道是为什么
guan时间:
2006-06-2316:
29:
36IP地址:
219.131.185.?
不错,先谢谢了
2006-09-1420:
15:
23IP地址:
219.137.116.?
太好了,谢谢
18:
41IP地址:
在windows,vc++6.0调试出错
errorC2065:
hIMEWnd'
:
undeclaredidentifier
Send2ActiveClient'
2006-11-0314:
36:
52IP地址:
222.92.76.?
我想问一下把这代码放到哪里去哈
我现在初学不知道怎么搞
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简单 MiniGUI 软键
![提示](https://static.bdocx.com/images/bang_tan.gif)