注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

deisp的博客

 
 
 

日志

 
 

minigui 经验  

2008-09-02 11:19:47|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

1、控件的隐藏         ShowWindow( GetDlgItem( hwnd, IDC_PROMPT ), SW_HIDE );  
2、控件之间切换 
 (1)使用WS_EX_TOPMOST风格,然后用Tab键 。 
 (2) 在MSG_KEYDOWN中截取消息,然后用SetFocusChild函数 .
3、去掉对话框上的关闭按扭   用 WS_EX_NOCLOSEBOX 风格
4、改变和移动窗口大小      SetWindowPos() or MoveWindow()

*  控件前景色设置  ( 包括标题栏、边框、字体等 )SetWindowElementColorEx( hwnd, item, color )  且用      UpdateWindow( hwnd,  TRUE ) 刷新
   *  修改edit , staic控件的前景色
     SetWindowElementColorEx( pshwnd, FGC_CONTROL_NORMAL,COLOR_red );
   * 修改button控件的前景色
 SetWindowElementColorEx( pshwnd, WED_3DBOX_REVERSE,COLOR_red );
*  控件背景色设置   SetWindowBkcolor()      且用      InvalidateRect( hwnd, NULL, TRUE )  刷新
* 设置控件字体        SetWindowFont (GetDlgItem(hDlg,IDCANCEL1), font0);      font0  为创建的逻辑字体  
*  控件的透明       MiniGUI2.0.3及以前版本不支持透明窗口,但是支持透明控件。        创建透明控件:如果想在一个窗口上创建一个透明特性的控件,在创建窗  

                         口的时候加上
  WS_EX_TRANSPARENT 风格。支持透明特性的控件如下:静态框、编辑框、按钮(单选钮和复选框)、列表框(除图片列表框)、进度条、工具栏、滑块、
  scrollview控件、树型控件、列表型控件、旋钮控件、酷工具栏、动画控件和iconview控件(在图标及文字处不可透明,这些以外的控件区域可以,图片为透明也

可以)。
          例如:   (  1  ) CreateWindowEx( "edit", "Close", WS_CHILD|BS_PUSHBUTTON |BS_NOTIFY|WS_VISIBLE,WS_EX_TRANSPARENT,
   IDOK1+4, 100, 20, 90,38,hDlg,0 );
        (   注:       CreateWindow(class_name, caption, style, id, x, y, w, h, parent, add_data)即为:
  CreateWindowEx(class_name, caption, style, 0,id, x, y, w, h, parent, add_data)          )
(  2  ): 在对话框中如下
   {
          "button",
WS_VISIBLE | BS_PUSHBUTTON | WS_TABSTOP,
       200, 220, 90, 38,
IDCANCEL1,
          "Cancel",
         0,
WS_EX_TRANSPARENT
     在对话框中如下:    },
      static CTRLDATA CtrlYourTaste[] =
{
 {
 "edit",
  WS_VISIBLE ,
70, 220, 90, 38,
  IDOK1,
  "ok",
  0,
  WS_EX_TRANSPARENT
 },
**********  普通按钮上显示位图或图标      位图使用BS_BITMAP风格  ,  图标使用BS_ICON风格   例如:
CreateWindow( "button", "Close", WS_CHILD|BS_PUSHBUTTON|BS_ICON|BS_REALSIZEIMAGE|BS_NOTIFY|WS_VISIBLE,IDOK1+1,
        100, 120, 90, 38,hDlg,(DWORD)GetSystemBitmap ( SYSBMP_ARROWS ) );
CreateWindow( "button", "Close", WS_CHILD|BS_PUSHBUTTON|BS_ICON|BS_REALSIZEIMAGE|BS_NOTIFY|WS_VISIBLE,IDOK1+1,
          100, 120, 90, 38,hDlg,(DWORD)GetSmallSystemIcon( IDI_STOP ) );
CreateWindow( "button", "Close", WS_CHILD|BS_PUSHBUTTON|BS_ICON|BS_REALSIZEIMAGE|BS_NOTIFY|WS_VISIBLE,IDOK1+2,
          200, 120, 90, 38,hDlg,(DWORD)LoadIconFromFile( HDC_SCREEN,"myicon.ico",0));     
在对话框中如下:
 {
 CTRL_BUTTON,
 WS_TABSTOP |BS_PUSHBUTTON| WS_VISIBLE|BS_BITMAP ,
          170, 100, 60, 25,
 IDCANCEL,
 "cancel",
 (DWORD)GetSystemBitmap( SYSBMP_ARROWS )
          }
         {
CTRL_BUTTON,     按钮BS_BITMAP
WS_TABSTOP | BS_PUSHBUTTON| WS_VISIBLE|BS_BITMAP ,
      100, 100, 60, 25,
IDOK,
  "OK",
(DWORD)&bmp_bkgnd
       },
     {
  "static",         静态框为SS_BITMAP
WS_TABSTOP | WS_VISIBLE|SS_BITMAP ,
     170, 100, 60, 25,
  IDCANCEL,
  "cancel",
  (DWORD)&bmp_bkgnd
      }
   窗口的关闭:   PostMessage (hWnd, MSG_CLOSE, 0, 0);   近似相当于         DestroyMainWindow( hWnd );  PostQuitMessage( hWnd );
**********************************************************************
     如何设置文本前景色和背景色:  
       

          ( 1 )    获取DC :BeginPaint(  hwnd  )         ( 2 )设置文本背景颜色  :  SetBkColor( hdc, color  )  
  
          ( 3 ) 设置文本前景颜色(即字体颜色): SetTextColor( hdc,color )          ( 4 )最后文本输出即可:      TextOut( hdc, x, y, text )   
 当DC为创建的DC时:即       mem_dc = CreateMemDC( 640, 480, 16,MEMDC_FLAG_HWSURFACE |
        MEMDC_FLAG_SRCALPHA ,
          0x0000F000, 0x00000F00, 0x000000F0, 0x000000F );
此时DC的设置与应用函数是:
    SetBrushColor (mem_dc, RGBA2Pixel (mem_dc, 0x00, 0x00, 0xFF, 0xFF));
    FillBox (mem_dc, 10, 10, 200, 50);
    SetPenColor( mem_dc,  RGB2Pixel (mem_dc, 0x00,0xFF,0x00 ));
    SetPenWidth( mem_dc, 3 );
    LineEx( mem_dc, 0, 0, 100, 100 );
    SetTextColor( mem_dc,RGBA2Pixel (mem_dc, 0x00, 0x00, 0xFF, 0xFF));
    SetBkColor( mem_dc, RGBA2Pixel (mem_dc, 0x00, 0xFF, 0x00, 0xFF)  );
    TextOut( mem_dc, 10, 10, "您好!");
    BitBlt (mem_dc, 0, 0, 0, 0, hdc, 0, 0, 0);
    DeleteMemDC( mem_dc );
4、       设置文本 的字体       ( 1 )  创建字体          font0=CreateLogFont(  FONT_TYPE_NAME_SCALE_TTF,
      "arial", "ISO8859-1",
      FONT_WEIGHT_BOOK,
      FONT_SLANT_ROMAN,
      FONT_SETWIDTH_NORMAL,
      FONT_OTHER_AUTOSCALE,
      FONT_UNDERLINE_NONE,
      FONT_STRUCKOUT_NONE, 256, 0 );
( 2 ) 选择和 使用字体case MSG_PAINT:
    hdc=BeginPaint(hDlg);
    SelectFont(hdc,font0);
    TextOut(hdc, 30, 10,"OK"); 
    EndPaint( hDlg, hdc );
    return 0;

5、     *  设置输出文本背景透明
  hdc = BeginPaint (hDlg);
  SetBkColor( hdc, COLOR_transparent );
  SetBkMode( hdc,BM_TRANSPARENT );
  DrawText (hdc, msg_text, -1, &msg_rc, DT_LEFT | DT_WORDBREAK);
  EndPaint (hDlg, hdc);

  评论这张
 
阅读(163)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017