续学习笔记(1)……
4 简单解析自动生成的界面代码
设计的界面生成的C程序,FramewinDLG.C是个啥模样?(程序清单请参见文章末)。下面从3方面简单解析,不妥之处恳请网友指出。
- 与控件尺寸、位置相关的数值信息
看下这几行:
static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = {
{ FRAMEWIN_CreateIndirect, "Framewin", ID_FRAMEWIN_0, 0, 0, 320, 240, 0, 0x64, 0 },
{ BUTTON_CreateIndirect, "ON", ID_BUTTON_0, 60, 100, 80, 38, 0, 0x0, 0 },
我画了图1这张图,可对照着看一下。在用GUIBuilderV5.46 工具设计这个界面时,选中ON按钮控件,可看到:xPos=60; yPos=100; xSize=80; ySize=38;这些数值的含义是显而易见的。需要注意的是yPos=100;这个值,是由Y0=0处算起的值,而不是由屏幕的原点算起的,而Y0值(相对屏幕原点)大小与你选择的窗口标题字的大小相关联。
图1 程序中控件数据信息与界面图形的对应关系图
(2)与用户程序执行功能相关的消息代码
switch(NCode) {
case WM_NOTIFICATION_CLICKED: //ON按钮按下
// USER START (Optionally insert code for reacting on notification message)
// USER END //笔者注:用户在此可插入自己对通知消息进行响应的代码
break;
case WM_NOTIFICATION_RELEASED: //ON按钮弹起
// USER START (Optionally insert code for reacting on notification message)
// USER END
break;
对于OFF