Windows static控件(静态文本框控件)

本文介绍了Windows平台下的static控件,重点讨论了其文本自动换行限制和更新文本时的处理方式,以及如何获取和修改控件文本。同时提到了控件样式如WS_CHILD、WS_VISIBLE和WS_BORDER的作用。
摘要由CSDN通过智能技术生成
使用 TextOut 和 DrawText 函数有时候会不方便,例如:
  • 文本不能自动换行,超出窗口范围会被隐藏;
  • 每次更改文本都要先擦除背景再重新输出,比较麻烦。

实际开发中一般使用静态文本框控件来输出文本。静态文本框是Windows 的一种标准控件,可以用来在窗口上显示一段文本,并且文本容易受到控制。除了静态文本框,Windows的标准控件还有很多种,例如按钮、下拉菜单、单选按钮、复选框等。

其实,控件也是一种窗口,也使用 CreateWindow 函数来创建。 但是它们使用的窗口类的名字比较特殊,是由Windows预定义的;静态文本框控件的窗口类名是 static

与前面创建的独立窗口不同,控件是子窗口,创建时必须指定父窗口,这样控件才能有“归属”。

我们先来回顾一下 CreateWindow 函数的原型:
   
   
   
  1. HWND CreateWindow(
  2. LPCWSTR lpClassName, //窗口类名
  3. LPCWSTR lpWindowName, //窗体标题(或控件文本)
  4. DWORD dwStyle, //窗口/控件样式
  5. int x, //窗口相对桌面(或子窗口相对父窗口)的 X 坐标
  6. int y, //窗口相对桌面(或子窗口相对父窗口)的 Y 坐标
  7. int nWidth, //窗体宽度
  8. int nHeight, //窗体高度
  9. HWND hWndParent, //父窗口句柄
  10. HMENU hMenu, //菜单句柄
  11. HINSTANCE hInstance, //当前程序实例句柄
  12. LPVOID lpParam //一个指向某数值的指针
  13. );
几点说明:
1) 对于参数 lpClassName 和 lpWindowName,一般使用宽字符,请加前缀 L 或使用 TEXT()

lpClassName 为窗口类的名字,可以是 RegisterClass 注册的类名,也可以是 Windows 预定义的控件类名。

如果你创建的是独立窗口,则 lpWindowName 应传入窗口的标题,若你希望创建控件,则应传入控件的文本。

2) dwStyle 表示窗口样式或控件样式。窗口样式以 WS 开头,详情请查看《 CreateWindow窗口风格取值 》。这些样式既可以用于独立窗口,也可以用于控件(子窗口)。

除了窗口样式,不同的控件也有自己特有的样式。对于 static 控件,它的样式以 SS 开头,常用的有:
样式 说明
SS_LEFT 文本居左。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值