teky 的 blog
在vck中学习,在vck中进步~
<2008年9月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011
公告

留言簿(11)

随笔档案

文章分类

文章档案

相册

Windows Mobile

我的好友

朋友创业,其路漫漫

搜索

最新评论

阅读排行榜

评论排行榜

 
VC知识库BLOG   首页  新随笔  联系  聚合  登录 
  随笔-30 文章-17 评论-94 Trackbacks-4


Spin Box controls是从列表中进行选择的控件
Spin Box controls在屏幕空间有限的时候就体现出他的价值了


它左右滚动可以浏览列表中选项,但不需要占用edit以外的屏幕空间
 
所以在Pocket PC 和Smartphone中普遍的采用它取代list boxes 控件


Spin box Controls风格:
 
1.  UDS_WRAP


左右点击的时候,循环显示listbox中项, (到最小的时候显示最大的,到最大值又回到最小值)


2. UDS_EXPANDABLE


点击action的时候, 会变成全屏来显示listbox


3.UDS_SETBUDDYINT


所谓的邦定了,把listbox中选中的值 显示在edit中


4. UDN_EXPANDING


在风格2中,点击action的时候,会 向父窗口发送UDN_EXPANDING NOTIFY
消息,父窗口可以返回TRUE来禁止它展开


 
Spin box Controls 实际上一对控件,他是由一个上下控件 (up/down controls) 和一个单选list box结合而成

标准的list box消息也可以用于这里的list box中

 

创建spin box controls有两中方法:
1 编辑rc资源文件创建:


CONTROL "", IDC_LIST, "listbox", WS_TABSTOP | WS_VISIBLE | LBS_NOINTEGRALHEIGHT, 4,10,93,10
CONTROL "", IDC_UPDOWN, UPDOWN_CLASS, WS_VISIBLE | UDS_AUTOBUDDY | UDS_HORZ | UDS_ALIGNRIGHT | UDS_ARROWKEYS | UDS_SETBUDDYINT | UDS_WRAP | UDS_EXPANDABLE, 0,0,0,0


2 在程序中用CreateWindow 创建

hwndList = CreateWindow(TEXT("listbox"), NULL, WS_VISIBLE | LBS_NOINTEGRALHEIGHT, x, y, cx, cy, hwndParent, (HMENU)nListID, hinst, 0L);
hwndUpDown = CreateWindow(UPDOWN_CLASS, NULL, WS_VISIBLE | UDS_HORZ |UDS_ALIGNRIGHT | UDS_ARROWKEYS | UDS_SETBUDDYINT | UDS_WRAP | UDS_EXPANDABLE, 0, 0, 0, 0, hwndParent, (HMENU)nUpDownID, hinst, 0L);


SendMessage(hwndUpDown, UDM_SETBUDDY, (WPARAM)hwndList, 0);


SendMessage (hwndList, LB_ADDSTRING,0,(LPARAM)_T(“Item1"));
SendMessage (hwndList, LB_ADDSTRING,0,(LPARAM)_T(" Item2 "));
SendMessage (hwndList, LB_ADDSTRING,0,(LPARAM)_T(" Item3 "));


和spin box controls类似的还有: Expandable Edit Controls


 

 

posted on 2006-03-09 11:00 teky 阅读(2912) 评论(3)  编辑 收藏
Comments
  • # re: Smartphone - Spin Box Controls
    eric
    Posted @ 2006-05-31 16:12
    父窗口可以返回TRUE来禁止它展开

    这个没有试成功过,即使return TRUE, expand的edit还是显示
  • # re: Smartphone - Spin Box Controls
    膜结构
    Posted @ 2007-03-17 02:48
    虽然看不懂,感觉你写的不错!
  • # re: Smartphone - Spin Box Controls
    sandy
    Posted @ 2008-09-24 14:23
    您好,有个问题。
    在SmartPhone上,如果想在非模式对话框切换控件,对于LISTBOX和SPIN的组合而成的控件,如何让SPIN不响应滚动呢
标题  
姓名  
主页
验证码 *
内容   
  登录  使用高级评论  Top
[使用Ctrl+Enter键可以直接提交]