VC++学习笔记:控件操作与透明窗体

需积分: 10 1 下载量 176 浏览量 更新于2024-07-25 收藏 1.32MB DOC 举报
"VC++学习笔记基础篇2涵盖了CComboBox控件的使用方法以及如何创建透明窗体。笔记适合初学者,记录了作者在学习过程中的关键知识点,并包含了一些示例代码。" 在这个笔记中,作者首先介绍了CComboBox控件在VC++中的一些基本操作。CComboBox是MFC中用于实现组合框(Combobox)功能的类,常用于创建具有下拉列表的输入框。以下是关于CComboBox控件的一些核心函数: 1. **GetCount()**:此函数返回列表框中选项的数量。例如,通过`int i = m_cbox.GetCount();`可以获取到当前列表框中的项目数,然后将其转换为字符串显示。 2. **GetCurSel()**:获取用户当前选定的选项的索引值,从0开始计数。如果未选择任何选项,则返回-1。可以通过`int i = m_cbox.GetCurSel();`来获取,结合`Format()`函数显示用户选择的项。 3. **SetCurSel()**:用于设置选中的选项,索引值从0开始。例如,`m_cbox.SetCurSel(index);`可以将指定索引的项设为选中状态。-1表示不选择任何项。 4. **SetEditSel()**:设置编辑区域中蓝色高亮部分的长度,可以用来控制用户的输入范围。 5. **Clear(), Cut(), Paste(), Copy()**:这些函数分别对应清除内容、剪切、粘贴和复制操作,与常见的编辑操作一致。 6. **LimitText()**:限制编辑框内能输入的最大字符数,如`m_cbox.LimitText(10);`限制最多输入10个字符。 7. **GetLBText()**:获取指定索引处列表框项的文本,例如`m_cbox.GetLBText(nIndex, str);`将索引nIndex处的文本存入字符串变量。 8. **SetDroppedWidth()**:设置下拉列表框展开时的最小宽度,如`m_cbox.SetDroppedWidth(nWidth);`。 9. **AddString(), DeleteString(), InsertString()**:分别用于在列表框末尾添加、删除和在指定位置插入字符串。 10. **ResetContent()**:清除列表框中的所有内容。 接下来,笔记提到了如何在对话框中实现透明效果。通过在`OnInitDialog()`函数中添加特定代码,可以改变窗体的扩展样式,实现透明: ```cpp SetWindowLong(this->GetSafeHwnd(), GWL_EXSTYLE, GetWindowLong(this->GetSafeHwnd(), GWL_EXSTYLE) ^ 0x80000); ``` 这段代码通过位运算改变了窗体的扩展风格,添加了WS_EX_TRANSPARENT标志,从而使得窗体变得透明。同时,笔记中还引用了`LoadLibrary()`和`GetProcAddress()`函数,暗示了动态链接库(DLL)的使用,可能涉及获取并调用Windows API函数以完成更复杂的透明效果设置。 这篇笔记提供了一个基础的VC++学习框架,特别是对于CComboBox控件的使用和对话框透明化技术,对初学者来说是非常实用的学习资料。