b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

共享emWin软键盘控件

电脑杂谈  发布时间:2020-09-06 19:04:54  来源:网络整理

如何用手提电脑自带键盘鼠标让cad放大和缩小_怎么让机械键盘静音_如何让控件在键盘之上

构建emWin软键盘控件并将其命名为ButtonSKB控件花了两天时间:

前言:

([1) ButtonSKB已经是一个控件,也就是说,ButtonSKB可以像Button控件一样使用。

(2) ButtonSKB是通过Button控件修改的(通过蒙皮),实际上,在一个大按钮中“绘制”了多个小按钮(请注意,这是“绘制”,而不是“正在创建”),即,ButtonSKB实际上是1个按钮,但是此按钮的绘制功能已更改,更改为我们自己的绘制功能并绘制了多个小按钮,为什么这样做?请继续查看...

(3)我相信现在每个人都使用软键盘的方式是创建数十个Button控件来形成键盘。这带来了两个问题:1.占用了大量的SRAM(50个Button会消耗8Kbytes 2.管理麻烦(例如移动,隐藏,禁用等)

([4)因为ButtonSKB是一个Button控件,所以所有Button APP功能都适用于ButtonSKB;如果只需要修改内部小按钮的属性该怎么办?您只能修改上述绘图功能

([5)论坛上有很多专家,谁可以将ButtonSKB演变成中文输入法控件?但是它不能占用太多SRAM,谢谢!!

怎么让机械键盘静音_如何用手提电脑自带键盘鼠标让cad放大和缩小_如何让控件在键盘之上

如何使用ButtonSKB:

(1)使用GUIbuilder创建一个WINDOW表单并放置Button控件,然后将其保存为WindowDLG.c;当然,您可以设计任何形式的软键盘,但不要忘记它必须是WINDOW +按钮组成:

(2)将WindowDLG.c下的ID定义和控制结构复制到SKIN_buttonSKB.c文件(替换原始文件):

#define ID_WINDOW_0(GUI_ID_USER + 0x0 0)

#define ID_BUTTON_0(GUI_ID_USER + 0x0 2)

#define ID_BUTTON_1(GUI_ID_USER + 0x0 3)

....

怎么让机械键盘静音_如何用手提电脑自带键盘鼠标让cad放大和缩小_如何让控件在键盘之上

#define ID_BUTTON_18(GUI_ID_USER + 0x1 4)

#define ID_BUTTON_19(GUI_ID_USER + 0x1 5)

静态const GUI_WIDGET_CREATE_INFO _aDialogCreate [] = {

{WINDOW_CreateIndirect,“ Window”,ID_WINDOW_0,0,0,151,207,0,0x0,0},

{BUTTON_CreateIndirect,“ Ent”,ID_BUTTON_0,113,168,31,31,0,0x0,0},

{BUTTON_CreateIndirect,“。”,ID_BUTTON_1,78,168,31,31,0,0x0,0},

{BUTTON_CreateIndirect,“,”,ID_BUTTON_2,43,168,31,31,0,0x0,0},

{BUTTON_CreateIndirect,“ 0”,ID_BUTTON_3,7,168,31,31,0,0x0,0},

怎么让机械键盘静音_如何让控件在键盘之上_如何用手提电脑自带键盘鼠标让cad放大和缩小

....

{BUTTON_CreateIndirect,“ /”,ID_BUTTON_17,78,17,31,31,0,0x0,0},

{BUTTON_CreateIndirect,“ =”,ID_BUTTON_18,43,17,31,32,0,0x0,0},

{BUTTON_CreateIndirect,“ Del”,ID_BUTTON_19,6,17,31,31,0,0x0,0},

};

(3)经过以上两个步骤,buttonSKB控件已被修改,如何调用?当然,可以将它用作Button控件:

静态const GUI_WIDGET_CREATE_INFO _aDialogCreateSKB [] = {

{FRAMEWIN_CreateIndirect,“”,ID_FRAMEWIN_0,40,25,161,232,FRAMEWIN_CF_MOVEABLE,0},

怎么让机械键盘静音_如何让控件在键盘之上_如何用手提电脑自带键盘鼠标让cad放大和缩小

{BUTTON_CreateIndirect,“”,ID_BUTTON_8,0,0,151,207,0,0x0,2},// SKB请注意,最后一个参数是2

{EDIT_CreateIndirect,“ Edit”,ID_EDIT_0,120,1,23,13,0,0x64,0},

};

“ ID_BUTTON_8”是软键盘控件。

(4)别忘了将WM_INIT_DIALOG消息中的Button控件的绘图功能更改为自定义绘图功能,以便我们可以随意绘制Button控件,emWin不再参与绘图此控件的工作原理:

hItem = WM_GetDialogItem(pMsg-> hWin,ID_BUTTON_ 8);

BUTTON_SetSkin(hItem,SKIN_buttonSKB3C);

如果不执行步骤4,会发生什么?当然,它显示了大按钮的原始外观:

ButtonSKB控件源代码(使用位图皮肤)

ButtonSKB控件源代码(不使用位图外观)


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-315285-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 八神莲
        八神莲

        反正从来不用小米的东西

        • 朱武需
          朱武需

          如果他能接受这个称呼

      • 窦梁宾
        窦梁宾

        可采取撞击战术对付美军舰的风声起了作用

      • 李幼卿
        李幼卿

        海军建设还需加油啊

      热点图片
      拼命载入中...