旋转控件和高级编辑控件

一. 旋转控件 CSpinButtonCtrl

(1)控件类型

  UDS_ALIGNRIGHT/UDS_ALIGNLEFT 内嵌到绑定的控件左边和右边

  UDS_SETBUDDYINT 点击控件发送WM_SETTEXT消息,改变CEdit控件的值

  UDS_WRAP 在RANG返回循环增加和减少

  UDS_ARROWKEYS

  UDS_NOTHOUSANDS

  UDS_AUTOBUDDY

  UDS_HORZ Spin控件水平放置,默认为垂直放置

(2)创建控件

  CSpinButtonCtrl *pSpin = new CSpinButtonCtrl;

  pSpin->Create(WS_CHILD|WS_VISIBLE|UDS_ARROWKEYS|UDS_ALIGNRIGHT

         |UDS_SETBUDDYINT|UDS_WRAP , CRect(0,0,20,25), this, IDC_SPIN);

  pSpin->MoveWindow(200, 302,20,25);

(3)绑定CEdit控件

   若在创建CSpin控件时添加UDS_AUTOBUDDY类型,会自动绑定到最近的CEdit控件上

  手动绑定 pSpin->SetBuddy(pEdit);

(4)设置范围

  pSpin->SetRange32(1,20);   // 默认范围100-0

二. 高级编辑控件CRichEdit

(1) 重要数据结构CHARFORMAT

  typedef struct _charformat  {

    UINT     cbSize;   // 数据结构大小,由于版本变化结构大小可能发生变化

    DWORD    dwMask;   // CFM_FACE|CFM_SIZE|CFM_COLOR|CFM_BOLD|CFM_UNDERLINE

    DWORD    dwEffects; // CFM_BOLD|CFM_UNDERLINE开关CFR_BOLD|CFE_UNDERLINE

    LONG     yHeight; // 字体搞丢

    LONG     yOffset;

    COLORREF crTextColor; // 字体颜色

    BYTE     bCharSet;

    BYTE     bPitchAndFamily;

    TCHAR    szFaceName[LF_FACESIZE];  // 字体设置

  } CHARFORMAT;

  例子:

  CHARFORMAT fm = {sizeof(CHARFORMAT)};

  fm.dwMask = CFM_FACE|CFM_SIZE|CFM_COLOR|CFM_BOLD|CFM_UNDERLINE;

  strcpy(fm.szFaceName, "楷体—GB2312");

  fm.crTextColor = RGB(255,0,0);

  cf.yHeight = 200;

  cf.dwEffects = CFE_BOLD|CFE_UNDERLINE;

  int nLen = m_hist.GetWindowTextLength();

  m_hist.SetSel(nLen,nLen);

  COleDataTime time = COleDataTime::GetCurrentTime();

  m_hist.ReplaceSel("你对XXX说:("+time.Format("%H:%M:%S")+")\r\n");

  m_hist.SetSel(nLen, -1);

  pRichEdit->SetSelectionCharFormat(cf);

(2)常用函数

  (a)可以调用CWnd::SetWindowText函数设置整个RichEidt控件的文字,

      更多情况是调用CRichEditCtrl::ReplaceSel函数插入文字或覆盖文字

  (b)SetDefaultCharFormat 设置所有文字格式(已经输入和将要输入)

  (c)SetSelectionCharFormat 为选中的文字设置格式

  (d)SetWordCharFormat  为将要输入的文字设置格式

  (e)SetParaFormat   为当前选择的段落设置格式

  (f)int nLen = GetWindowTextLength();

  (g)SetSel(nLen, -1);

(3)特别注意

  必须在APP类的InitInstance函数中,在程序刚启动时执行全局函数AfxInitRichEdit()

  普通编辑框内部的所有文字的颜色和字体都是统一的

  高级编辑控件是不同文字和段落可以设置不同的字体和颜色

  普通编辑框缺省有内置的上下文菜单,而高级编辑控件内没有上下文菜单

时间: 2024-10-10 11:04:44

旋转控件和高级编辑控件的相关文章

DevExpress2011控件教程)编辑控件(comboBox,AspxCheckBox) 范例1

DevExpress2011控件教程)编辑控件(comboBox,AspxCheckBox) 范例1 AspxCheckBox 是一个检查编辑控件去展示特殊条件是否关闭或者打开.它通常会展示Yes/No 或者是 True/False 的选择给用户.用户可以通过用鼠标点击编辑控件改变Check状态或者通过按 SPACE键来改变. 2011版本允许有2或3种状态. ASPxCheckBox支持2到3中状态,依赖 AllowGrayed属性设置. 用程序设置状态,一般使用Checked 或者 Chec

[转载]ExtJs4 笔记(8) Ext.slider 滚轴控件、 Ext.ProgressBar 进度条控件、 Ext.Editor 编辑控件

作者:李盼(Lipan)出处:[Lipan] (http://www.cnblogs.com/lipan/)版权声明:本文的版权归作者与博客园共有.转载时须注明本文的详细链接,否则作者将保留追究其法律责任. 本篇要登场的有三个控件,分别是滚轴控件.进度条控件和编辑控件. 一.滚轴控件 Ext.slider 1.滚轴控件的定义 下面我们定义三个具有代表意义滚轴控件,分别展示滚轴横向.纵向,以及单值.多值选择的特性: [html] <h1>滚轴控件</h1> <div class

控件 UI: VisualState, VisualStateManager, 控件的默认 UI

VisualState 和 VisualStateManager 控件的默认 Style, ControlTemplate, VisualState 示例1.演示“VisualState 和 VisualStateManager”相关知识点Controls/UI/VisualState/VisualStateDemo.xaml <Page x:Class="Windows10.Controls.UI.VisualState.VisualStateDemo" xmlns="

高级列表控件ListCtrl关联的MFC中的类:CListCtrl

高级列表控件ListCtrl关联的MFC中的类:CListCtrl■ 报表样式ListCtrl常用操作:1.添加列标题头:InsertColumn2.获取与设置列宽:GetColumnWidth.SetColumnWidth3.添加一行:InsertItem.SetItemText4.获取与设置单元文本:GetItemText.SetItemText5.允许多行选中时,获取选中的行数:GetSelectedCount6.单行选中时,获取选中的行:GetSelectionMark7.选中某行:Se

GTK常用控件之行编辑( GtkEntry )

行编辑,只允许输入一行内容的控件,如密码输入框. 行编辑的创建: GtkWidget *gtk_entry_new(void); 返回值:行编辑指针 设置行编辑内容的最大长度: void gtk_entry_set_max_length(GtkEntry *entry, gint max); entry:行编辑 max:长度的最大值,这里填0代表长度不作限制 设置行编辑的文本内容: void gtk_entry_set_text(GtkEntry *entry, const gchar *tex

基于MVC+EasyUI的Web开发框架经验总结(5)--使用HTML编辑控件CKEditor和CKFinder

Web开发上有很多HTML的编辑控件,如CKEditor.kindeditor等等,很多都做的很好,本文主要介绍在MVC界面里面,CKEditor的配置和使用.CKEditor的前身是FCKEditor,随着它的更新,上传图片的功能被分离出去了,现在如果需要实现上传图片,要么自己写代码或者采用其他上传控件(如Uploadify),还有一种方法是使用CKFinder,这两者的合并使用,能给我们带来更多的方便. 1.CKEditor的使用 CKEditor的下载地址是http://ckeditor.

VC2010编译源代码编辑控件scintilla

VC2010编译源代码编辑控件scintilla flyfish 代码编辑器notepad++使用了scintilla VS著名的插件Visual Assist X 也使用scintilla 编译方法1  命令行编译 执行 Visual Studio 命令提示 (2010) 进入控制台界面,使用CD命令进入下载的scintilla目录 scintilla\win32 执行 nmake -f scintilla.mak 参数f代表文件名称 编译方法2 进入目录scintilla\win32 直接打

基于MVC4+EasyUI的Web开发框架经验总结(5)--使用HTML编辑控件CKEditor和CKFinder

Web开发上有很多HTML的编辑控件,如CKEditor.kindeditor等等,很多都做的很好,本文主要介绍在MVC界面里面,CKEditor的配置和使用.CKEditor的前身是FCKEditor,随着它的更新,上传图片的功能被分离出去了,现在如果需要实现上传图片,要么自己写代码或者采用其他上传控件(如Uploadify),还有一种方法是使用CKFinder,这两者的合并使用,能给我们带来更多的方便. 1.CKEditor的使用 CKEditor的下载地址是http://ckeditor.

HTML编辑控件CKEditor的使用

1.CKEditor的使用: CKEditor的下载地址是http://ckeditor.com/download,里面可以根据需要进行样式的定制,本文主要介绍当前较新的版本4.4.1的继承使用.而CKFinder的下载地址是:http://ckfinder.com/download. CKEditor使用比较简单,在页面添加相应的js以及样式文件就可以了,不用做其他的配置,在mvc试图页面引用文件如下: <script src="~/Content/JQueryTools/ckedito