20170315MFC04_树形控件富文本框
2017-03-15 22:29
197 查看
MFC:
1:MFC是windows下编程的基准,是所有桌面应用程序的鼻祖。树形控件:
1:适合表示有层次的关系,就是有层次的节点。2:原始操作:增删改查,树形控件的删除是所有子集全部删除,类似于文件夹的关系。
3:里面的数据使用list来进行承载的。插入等操作是非常快的。
4:LPWSTR:LPCTSTR:微软的命名规则:
L->long P->point C->const T->template str(字符串) W->wchar(宽字节) sz(char[])
5:注意选项:
1:Has Line:一般设置成true
2:Has Button:一般设置成true
3:Always Show Selection:设置成true,当失去焦点的时候还会有被选中的状态。
void CTreeCtrlDemoDlg::OnBnClickedBtnAdd() { // TODO: 在此添加控件通知处理程序代码 CString strInput; GetDlgItemTextW(IDC_EDIT_INPUT, strInput); HTREEITEM hItem = m_tree.GetSelectedItem();//用来表示树形控件节点项的结构体 if (!hItem) hItem = TVI_ROOT;//为获取到当前选择的节点,就默认这个节点为根节点 TVINSERTSTRUCT ts = { 0 }; ts.hParent = hItem; ts.item.pszText = (LPWSTR)(LPCTSTR)strInput; ts.item.mask = TVIF_TEXT; ts.hInsertAfter = TVI_LAST; HTREEITEM hnewItem = m_tree.InsertItem(&ts);//插入后返回就这个节点本身 m_tree.SelectItem(hnewItem);//设置当前节点为选中 m_tree.EnsureVisible(hnewItem);//设置确保显示。 } void CTreeCtrlDemoDlg::OnBnClickedBtnDel() { // TODO: 在此添加控件通知处理程序代码 HTREEITEM hItem = m_tree.GetSelectedItem(); if (!hItem) return;//未选择节点不执行删除 HTREEITEM hParen = m_tree.GetParentItem(hItem); m_tree.DeleteItem(hItem); m_tree.SelectItem(hParen); } void CTreeCtrlDemoDlg::OnBnClickedBtnChange() { // TODO: 在此添加控件通知处理程序代码 HTREEITEM hItem = m_tree.GetSelectedItem(); if (hItem) { CString strInput; GetDlgItemTextW(IDC_EDIT_INPUT, strInput); m_tree.SetItemText(hItem, strInput); } } void CTreeCtrlDemoDlg::OnSelchangedTree(NMHDR *pNMHDR, LRESULT *pResult) { LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW>(pNMHDR); // TODO: 在此添加控件通知处理程序代码 HTREEITEM hItem = m_tree.GetSelectedItem(); if (hItem) { CString strInput = m_tree.GetItemText(hItem); SetDlgItemTextW(IDC_EDIT_INPUT, strInput); } *pResult = 0; }
富文本框:
1:必须在RichEditDemo.cpp的初始化函数里面写上AfxInitRichEdit2();,这样才可以正常运行void CRichEditDemoDlg::OnBnClickedBtnColor()//选择颜色的对话框 { // TODO: 在此添加控件通知处理程序代码 CHARFORMAT cf = { 0 }; cf.cbSize = sizeof(CHARFORMAT); m_edit.GetSelectionCharFormat(cf); CColorDialog color_dialog(cf.crTextColor); if (color_dialog.DoModal() == IDOK) { cf.crTextColor = color_dialog.GetColor(); cf.dwMask = CFM_COLOR; cf.dwEffects = 0;//这个参数不能掉。 m_edit.SetSelectionCharFormat(cf); } } void CRichEditDemoDlg::OnBnClickedBtnFont()//选择字体的对话框 { // TODO: 在此添加控件通知处理程序代码 CHARFORMAT cf = { 0 }; cf.cbSize = sizeof(CHARFORMAT); m_edit.GetSelectionCharFormat(cf); CFontDialog font_dialog(cf); if (font_dialog.DoModal() == IDOK) { font_dialog.GetCharFormat(cf); m_edit.SetSelectionCharFormat(cf); } }
2:CHARFORMAT structure of MFC是Microsoft Foundation Classes (MFC)即微软类库中字符格式类的结构。结构中不可或缺的两个成员是dwMask和 dwEffects,前者是定义或设置字符的字体、颜色、粗体、斜体、下划线等属性值,后者则是相关属性的效果。
相关文章推荐
- 20170315MFC04_树形控件富文本框
- 20170315MFC04_树形控件富文本框
- 20170315MFC04_树形控件富文本框
- 20170315MFC04_树形控件富文本框
- 20170315MFC04_树形控件富文本框
- 20170315MFC04_树形控件富文本框
- 20170315MFC04_树形控件富文本框
- 20170315MFC04_树形控件富文本框
- [自定义服务器控件] 第一步:文本框。
- 树形控件
- VB的文本框控件TextBox打开Office的Word文档
- VC6.0 MFC添加树形控件CTreeCtrl
- 带右键菜单的树形控件(1)
- 把自身引用的数据表(树形结构)绑定到TreeView上的控件
- Qt树形控件QTreeView使用1——节点的添加删除操作 复选框的设置
- AutoCompleteTextView-------android 高级控件(自动补全文本框)
- MFC TreeCtrl树形控件中限定右键点击节点弹出菜单
- cxGrid作树形控件使用
- 如何:使用 Windows 窗体 TextBox 控件创建密码文本框 .NET Framework 2.0 其他版本 密码框是一种 Windows 窗体文本框,它在用户键入字符串时显示占位符。 创
- 树形控件(CTreeCtrl)简介(转)