MiniGUI实现扩展控件

来源:互联网 发布:西安九索数据怎么样 编辑:程序博客网 时间:2024/06/05 16:45

         MiniGUI就不作详细介绍了。 反正就是嵌入式方面用的比较广泛的一套开源的东西。 不过貌似现在新版本不开源了。

      其实貌似mGNCS这套东西实现了按钮的扩展的,不过不知道怎么用,丫的一点介绍都没得。

     无赖就自己写了。 一个自定义按钮类。 可以实现图片载入,鼠标滑动会有相应的效果。

static int LoadMyBitmap()

{

if(!loadbitmap(HDC_SCREEN,&bmp,"bmp.bmp"))  return 1;         //loadbitmap函数忘了 差不多就这样。下班回来写的。没搞代码

}

static int UnloadMyBitmap()

{

       UnloadBitmap(&bmp);

}

 static int ButtonControlProc(HWND hwnd,int message,WPARAM wParam,LPARAM lParam)

{

    HDC     hdc;

      switch(message)

     {

      case MSG_PAINT:               //设置一开始的按钮外观,贴图,或者加文字什么的。都可以在这里搞。

               {

                    hdc = BeginPaint(hwnd);

                    RECT  rect;

                    GetClientRect(hwnd,&rect);

                    FillBoxWithBitmap(hdc,rect.left,rect.top,rect.right,rect.bottom,&bmp);

                    EndPaint(hwnd,hdc);

              }

    case MSG_MOUSEMOVE:          //这个消息是当鼠标落在该窗口上时触发。在这里就将位图换成其他的,就可以达到动态效果

     {

 

     }

   case  MSG_MOUSEMOVEIN:     //这个消息是当鼠标从该窗口上移出去是触发,将窗口位图还原成最开始的位图。

   {

    }

    }

  case MSG_LBUTTONDOWN:           //这个不说就知道了把。鼠标左键按下触发,设置位图

  {

   }

 case MSG_LBUTTONUP://  鼠标左键弹起触发,还原位图。

 {

 

}

DefaultControlProc(hwnd,message,wParam,lParam);

}

RegisterMyControl()

{

WNDCLASS myClass;

myClass.dwClassName = 类名。

 不想写了,记不清楚  将myClass成员赋值后,

RegisterClass(&myClass);

}

UnRegisterMyControl()

{

UnRegisterClass(类名);

}

这就实现了 一个自定义按钮控件, 使用的话在对话框数据里面想普通控件一样使用就是。 注意自定义控件要多发送消息。来实现效果。

0 0
原创粉丝点击