- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 Windows应用程序;;符号常量名称;;;;;【例6-1】 设计一个窗口,在该窗口中练习键盘的响应,要求如下:;long WINAPI WndProc(HWND hWnd,UINT iMessage,UINT wParam,LONG lParam);switch(iMessage);case WM_CHAR:
if(wParam==(65VK_CONTROL))
{ if(nCtrlKeyDown == TRUE);//输出信息。;else if(nShiftBKeyDown == TRUE)
{ Rectangle(hDC,0,0,300,200);; 一个有关键盘操作的示
例程序”的字符串
程序中缓冲区大小只设30
个字符,当缓冲区满时若
再输入任何字符,就出现(1)
号错误提示
用户按下左箭头键直至光
标到达本行起始位置时,
就无法再往左移动,则出
现(2)号错误信息;#includewindows.h
#includestdlib.h
#includestring.h;switch(iMessage) //处理消息; if(nNumChar=BufSize) //如写入的字符数超过缓冲区大小,则报警
{ MessageBox(hWnd,“缓冲区已满,不能再输入字符了\n
若需要删除字符,请用BackSpace键,NULL,MB_OK);
break;}
for(x=nNumChar;xnArrayPos;x=x-1)
cCharBuf[x]=cCharBuf[x-1];
cCharBuf[nArrayPos]=(unsigned char)wParam;
nArrayPos=nArrayPos+1; nNumChar=nNumChar+1;
CaretPos(xCaret,yCaret);
InvalidateRect(hWnd,NULL,TRUE);
}
break;
case WM_CREATE: //处理窗口创建消息
{ hDC=GetDC(hWnd);
GetTextMetrics(hDC,tm); //获取字体信息
nLnHeight=tm.tmHeight+tm.tmExternalLeading;
nCharWidth=tm.tmAveCharWidth;
yCaret=nLnHeight;
ReleaseDC(hWnd,hDC);;case WM_SETFOCUS: //处理活动焦点消息
{ CreateCaret(hWnd,0,0,nLnHeight);
CaretPos(xCaret,yCaret);
ShowCaret(hWnd); //在活动焦点的窗口中显示插字符
}
break;;case VK_DELETE://处理按下键为Delete时的消息;case VK_RIGHT: // 处理按下右方向键时的消息; BOOL InitWindowsClass(HINSTANCE hInstance)//初始化窗口类
{
WNDCLASS WndClass;
WndClass.cbClsExtra=0;
......
WndClass.style=CS_HREDRAW|CS_VREDRAW;
return RegisterClass(WndClass);
}
BOOL InitWindows(HINSTANCE hInstance,int nCmdShow)//初始化窗口
{
HWND hWnd;
hWnd=CreateWindow(......);
if(!hWnd) return FALSE;
hWndMain=hWnd;
ShowWindow(hWnd,nCmdShow); //显示窗口
UpdateWindow(hWnd); //绘制用户区
return TRUE;
};代表预定义光标的常量;例如,下面的语句为窗口类wndclass
WNDCLASS wndclass;
…
wndclass.hCursor=LoadCursor (hThislnst,
文档评论(0)