Ui_Edit
此示例展示以下控件的使用方法:
多行编辑器控件UiEdit使用流程
UiEdit* m_pEdit;
//对象实例化 m_pEdit = new UiEdit; //设置编辑器是否支持放大镜 m_pEdit->EnableZoomIn(true); //设置编辑器是否支持表情识别 m_pEdit->OpenFace(true); //设置字体大小,详见MzMetrics.h m_pEdit->SetFontSize(MZFS_NORMAL); //启用、关闭列表线的绘制 m_pEdit->EnableGridlines(false); //每个文字使用自己的字体,颜色等 m_pEdit->EnableRichTextFormat(true); //控件文本可以读写 m_pEdit->SetReadOnly(false); //设置行距为10 m_pEdit->SetLineSpace(10); //设置编辑器右边的无效区域宽度为10 m_pEdit->SetRightInvalid(10); //启用列表线的绘制 m_pEdit->EnableGridlines(true); //设置控件内部的文字可以滚动 m_pEdit->EnableInsideScroll(true); //编辑框的最小高度为100 m_pEdit->SetInitHeight(100); //设置编辑器背景类型,类型详见UiEdit.h m_pEdit->SetEditBgType(UI_EDIT_BGTYPE_FILL_WHITE); //设置字体颜色 m_pEdit->SetFontColor(RGB(155,155,2)); //设置编辑器输入法模式,模式种类详见SipHelper.h m_pEdit->SetSipMode(IM_SIP_MODE_GEL_PY); //启用Redo,Undo功能 m_pEdit->EnableUndo(true);
示例代码展示:
如何添加图片:
选择图片 TCHAR* tempfilename = new TCHAR[MAX_PATH]; IMzSelect *pSelect = NULL; IFileBrowser *pFile = NULL; CoInitializeEx(NULL, COINIT_MULTITHREADED ); if ( SUCCEEDED( CoCreateInstance( CLSID_FileBrowser, NULL,CLSCTX_INPROC_SERVER ,IID_MZ_FileBrowser,(void **)&pFile ) ) ) { if( SUCCEEDED( pFile->QueryInterface( IID_MZ_Select, (void**)&pSelect ) ) ) { TCHAR file[ MAX_PATH ] = { 0 }; pFile->SetParentWnd( m_hWnd ); pFile->SetOpenDirectoryPath( L"\\Disk\\Photo" ); pFile->SetOpenDocumentType(DOCUMENT_SELECT_PHOTO); pFile->SetOpenDocumentType(DOCUMENT_SELECT_SINGLE_FILE); if( pSelect->Invoke() ) { //获得图片路径 StringCbCopy( tempfilename,256*sizeof(TCHAR), pFile->GetSelectedFileName() ); } pSelect->Release(); } pFile->Release(); } CoUninitialize(); ::InvalidateRect( m_hWnd, NULL, FALSE ); ::UpdateWindow( m_hWnd ); //将图片路径以消息的形式发送给主窗口 if (wcslen(tempfilename)>0) { PostMessage(WM_SELECTED_FILE,(WPARAM)tempfilename,NULL); } else MzAutoMsgBoxEx(m_hWnd, L"选择文件失败"); //在主窗口中处理消息,添加图片 virtual LRESULT MzDefWndProc(UINT message, WPARAM wParam, LPARAM lParam) { switch(message) { case WM_SELECTED_FILE: //有文件被选中时 { WCHAR* fileName = (WCHAR*)wParam; m_pEdit->AddImage(fileName); m_pEdit->Invalidate(); m_pEdit->Update(); } break; } return CMzWndEx::MzDefWndProc(message,wParam,lParam); }