zoukankan      html  css  js  c++  java
  • MiniGUI

    CTRL_STATIC
     
    文本
    通过 SS_SIMPLE 风格创建的控件只用来显示单行文本,也就是说,控件文本不会自动换行显示,并且文本永远是左对齐的。
    通过 SS_LEFT、SS_CENTER 或 SS_RIGHT 风格创建的静态框可用来显示多行文本,并分别以左对齐、中对齐和右对齐方式显 示文本。 
    通过 SS_LEFTNOWORDWRAP 风格创建的静态框会扩展文本中的 TAB 符,但不做自动换行处理。
     
    位图/图标
    通过 SS_BITMAP 或者 SS_ICON,这种静态框会显示一幅位图或者图标,需要在创建静态框时通过dwAddData 参数设定要显示的位图对象指针或者图标对象句柄。
    和这两类静态框相关联的风格有 SS_CENTERIMAGE 和SS_REALSIZEIMAGE。默认情况下,位图和图标要经过适当的缩放充满整个静态框,但使用 SS_REALSIZEIMAGE 风格将取消缩放操作,并显示在静态框的左上方,如果在使用 SS_REALSIZEIMAGE 的同时使用 SS_CENTERIMAGE 风格,则会在控件中部显示位图或图标。
     
    分组框
    通过SS_GROUPBOX 设定静态框为分组框。分组框内可以创建的控件有:静态框、按钮、简单编辑框、单行编辑框、多行编辑框、列 表框、滑块和菜单按钮。
     
    填充与边框
    SS_WHITERECT:以白色填充静态框矩形。
    SS_GRAYRECT:以灰色填充静态框矩形。
    SS_BLACKRECT:以黑色填充静态框矩形。
    SS_GRAYFRAME:灰色边框。
    SS_WHITEFRAME:白色边框。  
    SS_BLACKFRAME:黑色边框。
     
    消息
    STM_GETIMAGE:该消息返回位图的指针或者图标句柄。
    STM_SETIMAGE:通过 wParam 参数重新设置位图指针或者图标句柄,并且返回原来的指针。
     
    通知
    当静态框风格中包含 SS_NOTIFY 时,静态框会产生如下两个通知消息:
    STN_DBLCLK:表示用户在静态框内双击了鼠标左键。
    STN_CLICKED:表示用户在静态框内单击了鼠标左键。
     
    mg-samples的静态框示例
     1 #include <stdio.h>
     2 
     3 #include <minigui/common.h>
     4 #include <minigui/minigui.h>
     5 #include <minigui/gdi.h>
     6 #include <minigui/window.h>
     7 #include <minigui/control.h>
     8 
     9 #define CAPTION "Static Control Demo"
    10 #define PROMPTA "Please double click here"
    11 #define PROMPTB "You just double click here:)"
    12 #define PROMPTC "You just click here:)"
    13 
    14 static void my_notif_proc (HWND hwnd, int id, int nc, DWORD add_data)
    15 {
    16     if (nc == STN_DBLCLK)
    17         SetWindowText (hwnd, PROMPTB);
    18     else if(nc == STN_CLICKED)
    19     SetWindowText (hwnd, PROMPTC);
    20 }
    21 
    22 static int StaticDemoWinProc(HWND hWnd, int message, WPARAM wParam, LPARAM lParam)
    23 {
    24     HWND hwnd;
    25 
    26     switch (message) {
    27         case MSG_CREATE:
    28             hwnd = CreateWindow (CTRL_STATIC, PROMPTA, 
    29                           WS_VISIBLE | SS_CENTER | SS_NOTIFY, 
    30               50, 55, 95, 200, 20, hWnd, 0);
    31             SetNotificationCallback (hwnd, my_notif_proc);
    32             return 0;
    33 
    34         case MSG_DESTROY:
    35             DestroyAllControls (hWnd);
    36             return 0;
    37 
    38         case MSG_CLOSE:
    39             DestroyMainWindow (hWnd);
    40             PostQuitMessage (hWnd);
    41             return 0;
    42     }
    43 
    44     return DefaultMainWinProc(hWnd, message, wParam, lParam);
    45 }
    46 
    47 int MiniGUIMain (int argc, const char* argv[])
    48 {
    49     MSG Msg;
    50     HWND hMainWnd;
    51     MAINWINCREATE CreateInfo;
    52 
    53 #ifdef _MGRM_PROCESSES
    54     JoinLayer(NAME_DEF_LAYER , "static" , 0 , 0);
    55 #endif
    56 
    57     CreateInfo.dwStyle = WS_VISIBLE | WS_BORDER | WS_CAPTION;
    58     CreateInfo.dwExStyle = WS_EX_NONE;
    59     CreateInfo.spCaption = CAPTION;
    60     CreateInfo.hMenu = 0;
    61     CreateInfo.hCursor = GetSystemCursor(0);
    62     CreateInfo.hIcon = 0;
    63     CreateInfo.MainWindowProc = StaticDemoWinProc;
    64     CreateInfo.lx = 0;
    65     CreateInfo.ty = 0;
    66     CreateInfo.rx = 320;
    67     CreateInfo.by = 240;
    68     CreateInfo.iBkColor = COLOR_lightwhite;
    69     CreateInfo.dwAddData = 0;
    70     CreateInfo.hHosting = HWND_DESKTOP;
    71     
    72     hMainWnd = CreateMainWindow (&CreateInfo);
    73     
    74     if (hMainWnd == HWND_INVALID)
    75         return -1;
    76 
    77     ShowWindow(hMainWnd, SW_SHOWNORMAL);
    78 
    79     while (GetMessage(&Msg, hMainWnd)) {
    80         TranslateMessage(&Msg);
    81         DispatchMessage(&Msg);
    82     }
    83 
    84     MainWindowThreadCleanup (hMainWnd);
    85 
    86     return 0;
    87 }
    88 
    89 #ifdef _MGRM_THREADS
    90 #include <minigui/dti.c>
    91 #endif
  • 相关阅读:
    .net程序员书单
    脱敏小软件
    .NET处理HTTP请求
    WPF 按名称查找控件
    软件工程现行国标汇集
    企业应用架构模式读书笔记 第一章 分层
    mysql远程访问
    知道二叉树的先序和中序遍历,重建该二叉树
    微信小程序地图模块
    微信小程序蓝牙模块
  • 原文地址:https://www.cnblogs.com/paullam/p/3613587.html
Copyright © 2011-2022 走看看