1. 程式人生 > >20170315MFC04_樹形控制元件富文字框

20170315MFC04_樹形控制元件富文字框

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_樹形控制元件文字

MFC: 1:MFC是windows下程式設計的基準,是所有桌面應用程式的鼻祖。 樹形控制元件: 1:適合表示有層次的關係,就是有層次的節點。 2:原始操作:增刪改查,樹形控制元件的刪除是所有子集全部刪除,類似於資料夾的關係。 3:裡面的資料使用list來進行承載的。插入等

IOS控制元件-UITextField文字控制元件的基本使用

首先檢視要繼承UITextFieldDelegate //UITextField文字框控制元件的基本使用     func test5() {         let textField = UITextField(frame

bootstrap-wysiwyg中JS控制元件文字中的圖片由本地上傳到伺服器(阿里雲、七牛、自己的資料庫)

一、我假設你是要儲存到自己的資料庫中(因為上傳到阿里雲、七牛更簡單原理一樣的) 點選插入圖片如下圖: 1、其實你插入的時候不需要做什麼處理一樣也可以插入資料庫的(但是前提你插入的那個欄位必須要求足夠空間比如Mysql你要用LONGTEXT型別,否則是存不下的這樣子前臺獲

.net伺服器控制元件文字,密碼文字區域的控制元件的使用

<%@ Page Language="c#" %> <script runat="server"> void Page_Load() { Message1.Text = ""; Message2.Text = ""; Message3.Text = "

文字伺服器控制元件(標籤Label控制元件文字(TextBox)控制元件)

第一個例項: 總體的佈局圖: 佈局實現程式碼: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTY

樹形控制元件,下拉,listbox的用法

  MFC樹控制元件的簡單入門   本文簡單介紹了有關MFC中樹形控制元件的最基本的用法,鑑於水平有限,僅希望能夠讀者通過簡單的程式設計例項,起到對樹形控制元件入門之目的。因為筆者對MFC知識點的學習也都是從例項中學習,這樣效率會相對較高,好了不說廢話了,開始… 1.   

Qt樹形控制元件QTreeView使用1——節點的新增刪除操作 複選的設定

通過QStandardItem和QStandardItemModel可以很簡單方便的給QTreeView新增節點,但是,許多樹形控制元件都需要樹的節點需要一個複選框(checkBox),網上許多資料都是通過自定義model來實現的,而且不能很好的實現checkbox的父子關聯(父節點選中子節點全部選中

HTML5新控制元件 - 數值輸入

1,預設只能輸入整數 <input type="number"/> 2,使用step屬性表示可以接受的數值間隔(比如下面就允許輸入11.5) <input type="number" step="0.1"/> 3,使用min和max

selenium如何處理特殊的文字------例如知乎

常見的富文字框是input, textarea文字框,如果有iframe巢狀,需要進行表單切換,可以參考https://blog.csdn.net/supramolecular/article/details/81364061, 但是對於div富文字框,既不包括input 也不包括 textar

CCombobox控制元件修改編輯游標顯示位置,呈現:上下垂直狀態

使用MFC中系統CCombobox控制元件中CBN_DROPDWON風格時,edit編輯控制元件的高度的游標一直處於左上角位置。 效果如下圖所示: 其實,想要實現游標處於垂直狀態,如下圖所示: 這種效果看著就比較順眼了。 在此,有人想要問,怎麼改變編輯框的高度呢?

Ueditor 百度文字的使用(二次渲染)其他的在文件中都有

富文字編輯器有很多。好用的,不好用的,功能簡單的,功能複雜的。 現在,我選擇的是百度的UEditor編輯器。這個編輯器的唯一有點就是功能多。比kindeditor 這些編輯器的功能要多。當然,像layui 提供的富文字框我沒有用,所以,現在不能拿來對比。因為當初想要用layui的時候,我套了一下

Access-控制元件解析-列表-02-獲取選項

微信公眾號原文 系統:Windows 7 軟體:Excel 2010 / Access 2010 這個系列介紹常用的控制元件 包括在介面端的設定及在程式碼端的實現 Part 1:本篇目標 本篇介紹的控制元件為:列表框。涉及

關於c#MVC後臺接收百度文字中的值失敗原因的解決!

最近在使用百度富文字框的時候 ,遇見了一個令我很無語的操作,我在前臺使用jQuery獲取百度富文字框中的值,路徑什麼的都是對的, 也沒有語法錯誤,但是就進不了後臺,後臺就一直接收不到資料 最後通過百度找到了解決的方法:如下 HttpRequest 類使用輸入驗證標誌來跟蹤是否對通過 Co

iOS開發UI篇——一個可擴充套件性極強的樹形控制元件

一、簡介 樹形控制元件在多列列表、多級選單中使用比較常見,比如:國家-省份-城市 多級選擇、學校-專業-班級 多級選擇等等。然而IOS自帶控制元件中並不存在樹形控制元件,我們要在IOS開發中使用樹形控制元件,通常需要自己擴充套件UITableView列表控制元件。現在在這裡開源一個自己寫的高擴充套件性,高複用

iOS開發UI篇--一個可擴充套件性極強的樹形控制元件

一、簡介 樹形控制元件在多列列表、多級選單中使用比較常見,比如:國家-省份-城市 多級選擇、學校-專業-班級 多級選擇等等。然而IOS自帶控制元件中並不存在樹形控制元件,我們要在IOS開發中使用樹形控制元件,通常需要自己擴充套件UITableView列表控制元件。現在在這裡開源一個自己寫的高擴充套件性,高複

文字TinyMCE上傳本地圖片基本配置

注意:上傳本地圖片是TinyMCE 4.3才新引入的功能,所以該配置只適合4.3及其以上 <!doctype html> <html> <head> <script src='https://cloud.tinymce.com/stable/tinymce.m

使用vue製作文字

這裡分享一個富文字框外掛,如圖 使用方法: 1-安裝 npm install --save vue2-editor 或者 yarn add vue2-editor 2- 使用 // Basic Use - Covers most scenarios

Android——(高階控制元件下拉與搜尋

1. 高階控制元件與低階控制元件區別    是否使用介面卡 2. 介面卡種類和作用   2.1 種類       陣列介面卡 ArrayAdapter         new ArrayAdapt

elementui 後臺管理系統遇到的問題(二) 樹形控制元件 el-tree

elementui中樹形控制元件的使用 一、將後臺返回的資料填充到前端控制元件中,需要注意的幾點問題 (1)、el-tree中需要繫結node-key='自定義的id名稱' (2)、在配置data中defaultProps中的屬性時,要按照與後端協商的欄位名稱對稱 (3)、重要的是要月後端協商返回欄位內容

遞迴組裝Cascader 級聯選擇器和Tree 樹形控制元件結構的資料

以商品分類表為例,重點看分類ID和父分類ID public List<Map<String,Object>> getGoodsCategoryTree() { //1.獲取所有商品分類,條件:category_id!=0(0為頂級選單的父類I