设为首页 加入收藏

TOP

子视窗控制项(四十二)
2010-12-30 21:12:42 来源: 作者: 【 】 浏览:32691
Tags:视窗 控制
wParam, lParam) ;
}

POPPAD1是一个多行编辑器(只是没有档案I/O),其C语言原始码不到100行(不过,有一个缺陷,即预先定义的多行编辑控制项只限於30,000字元的文字)。您可以看到,POPPAD1本身并没有做多少工作,预先定义的编辑控制项完成了许多工作,这样,您可以知道,无需额外的程式时编辑控制项能做些什么。

编辑类别样式
 

如前面所提到的,在CreateWindow呼叫中将「edit」作为视窗类别建立了一个编辑控制项,视窗样式是WS_CHILD加上几个选项。如同在静态子视窗控制项中一样,编辑控制项中的文字可以置左对齐、置右对齐或者居中,您使用视窗样式ES_LEFT、ES_RIGHT和ES_CENTER来指定这些格式。

内定状态下,编辑控制项是单行的。您使用ES_MULTILINE视窗样式可以建立多行编辑控制项。对於单行编辑控制项,您一般只可以在编辑控制项矩形的尾部输入文字。要建立一个自动水平卷动的编辑控制项,您可以采用样式ES_AUTOHSCROLL。对一个多行编辑控制项,文字会自动跳行,除非使用ES_AUTOHSCROLL样式。在这种情况下,您必须按Enter键来开始新的一行。您还可以便用样式ES_AUTOVSCROLL来将垂直卷动列包括在多行编辑控制项中。

当您在多行编辑控制项中包括这些卷动样式时,也许还想给编辑控制项增加卷动列。要做到这些,可以对非子视窗使用同一视窗样式识别字WS_HSCROLL和WS_VSCROLL。内定状态下,编辑控制项没有边界,利用样式WS_BORDER则可以增加边界。

当您在编辑控制项中选择文字时,Windows将选择的文字反白显示。但是当编辑控制项失去输入焦点时,被选择的文字将不再被加亮。如果希望在编辑控制项没有输入焦点时被选择的文字仍然被加亮,您可以使用样式ES_NOHIDESEL。

在POPPAD1建立其编辑控制项时,CreateWindow呼叫依如下形式给出样式:

WS_CHILD | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL |
WS_BORDER | ES_LEFT | ES_MULTILINE |
ES_AUTOHSCROLL | ES_AUTOVSCROLL

在POPPAD1中,编辑控制项的大小是後来当WndProc接收到WM_SIZE讯息时通过呼叫MoveWindow来定义的

首页 上一页 39 40 41 42 43 44 45 下一页 尾页 42/61/61
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇功能表及其他资源 下一篇计时器

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: