VC时间格式转换
你先定义一个线段类CLine,在其头文件中定义pt1和pt2,并定义一个成员函数DrawLine(),代码如下:class CLine : public CObject {private:CPoint pt1;CPoint pt2;public:CLine(CPoint p1, CPoint p2);virtual ~CLine();void DrawLine(CDC *pDC);};在实现文件Line.cpp中编写如下代码:CLine::CLine(CPoint p1, CPoint p2){pt1=p1;pt2=p2;}void CLine::DrawLine(CDC *pDC){pDC->MoveTo(pt1);pDC->LineTo(pt2);}要使用一个动态数组来保存已画好的线段,为此在文档类C***Doc的头文件中定义下面的成员变量和成员函数,并包含定义类Line的头文件:#include "Line.h"#include //使用MFC类模板class C***Doc : public CDocument{……protected:CTypedPtrArray m_LineArray; //存放线段对象指针的动态数组public:CLine * GetLine(int nIndex);void AddLine(CPoint p1, CPoint p2);int GetNumLines();……};在实现源文件***Doc.cpp中编写如下代码:void C***Doc::AddLine(CPoint p1, CPoint p2){CLine *pLine=new CLine(p1, p2);m_LineArray.Add(pLine);}CLine *C***Doc::GetLine(int nIndex){if(nIndexm_LineArray.GetUpperBound())return NULL;return m_LineArray.GetAt(nIndex);}int C***Doc::GetNumLines(){return m_LineArray.GetSize();}在WM_MOUSEMOVE消息处理函数OnMouseMove()中还要加入以下代码:void C***View::OnMouseMove(UINT nFlags, CPoint point) {if(fg){C***Doc *pDoc=GetDocument();ASSERT_VALID(pDoc);pDoc->AddLine(m_ptOrigin,point);//其中m_ptOrigin是你在C***View中定义的起始点坐标……}}最后在OnDraw()函数中实现重绘:void C***View::OnDraw(CDC* pDC){CMyDrawDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);// TODO: add draw code for native data hereint nIndex=pDoc->GetNumLines();while(nIndex--){pDoc->GetLine(nIndex)->DrawLine(pDC);}}
用VC怎样取某WORD文件里的第X段内容
展开全部可以参考下面用类库Spire.Doc.dll来进行的操作。
提取Word内容包含以下几种情况:测试文档:提取指定段落内容12345678910 Document doc = newDocument();doc.LoadFromFile("测试文档.docx");Paragraph paragraph = doc.Sections[0].Paragraphs[2];StringBuilder sb = newStringBuilder();stringtext = paragraph.Text;sb.AppendLine(text);File.WriteAllText("提取.txt", sb.ToString());System.Diagnostics.Process.Start("提取.txt"); 2.提取全部文本内容123456789101112131415 //初始化文档并加载一个实例 Document document = newDocument(); document.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.docx"); //初始化一个StringBuilder类新实例 StringBuilder sb = newStringBuilder(); //遍历section及段落,将段落中的文本保存到StringBuilder实例 foreach(Section section indocument.Sections) { foreach(Paragraph paragraph insection.Paragraphs) { sb.AppendLine(paragraph.Text); } } //将提取的文档保存为文本格式 File.WriteAllText("Extract.txt1", sb.ToString()); 测试结果:3.提取文本框中的内容123456789101112131415161718192021222324252627282930313233 //初始化文档并加载一个实例 Document document = newDocument(); document.LoadFromFile("测试文档.docx"); //诊断文档是否含有文本框 if(document.TextBoxes.Count > 0) { //初始化一个StreamWriter类并保存提取的文档 using(StreamWriter sw = File.CreateText("result.txt")) { //从文本框提取文档 foreach(Section section indocument.Sections) { foreach(Paragraph p insection.Paragraphs) { foreach(DocumentObject obj inp.ChildObjects) { if(obj.DocumentObjectType == DocumentObjectType.TextBox) { TextBox textbox = obj asTextBox; foreach(DocumentObject objt intextbox.ChildObjects) { if(objt.DocumentObjectType == DocumentObjectType.Paragraph) { sw.Write((objt asParagraph).Text); } } } } } } } } 读取结果:
如何用Vc代码 设置WORD文档的页码 显示为第*页共*页
添加包含总页数的自定义页码库中的一些页码含有总页数(第 X 页,共 Y 页)。
但是,如果要创建自定义页码,请执行下列操作:双击页眉区域或页脚区域(靠近页面顶部或页面底部)。
这将打开“页眉和页脚工具”下的“设计”选项卡。
若要将页码放置到页面中间或右侧,请执行下列操作:若要将页码放置到中间,请单击“设计”选项卡的“位置”组中的“插入‘对齐方式’选项卡”,单击“居中”,再单击“确定”。
若要将页码放置到页面右侧,请单击“设计”选项卡的“位置”组中的“插入‘对齐方式’选项卡”,单击“靠右”,再单击“确定”。
键入第和一个空格。
在“插入”选项卡上的“文本”组中,单击“文档部件”,然后单击“域”。
在“域名”列表中,单击“Page”,再单击“确定”。
在该页码后键入一个空格,再依次键入页、逗号、共,然后再键入一个空格。
在“插入”选项卡上的“文本”组中,单击“文档部件”,然后单击“域”。
在“域名”列表中,单击“NumPages”,然后单击“确定”。
在总页数后键入一个空格,再键入页。
若要更改编号格式,请单击“页眉和页脚”组中的“页码”,再单击“设置页码格式”。
若要返回至文档正文,请单击“设计”选项卡(位于“页眉和页脚工具”下)上的“关闭页眉和页脚”。
怎么用VC做帮助文件
展开全部 VC中调用CHM帮助必须用API函数HtmlHelp(),此函数在LIB库函数内,为方便调用,我把它整体打包了,您要做的就是把它放到VC工程所在的目录,然后包含CHMHelp.h头文件即可。
系统包含文件如下: [cpp] view plain copy #include "CHMHelp.h" BOOL CDataDlg::OnInitDialog() { CDialog::OnInitDialog(); SetWindowContextHelpId(IDH_WJH_0300702025); return TRUE; } 上述代码中IDH_WJH_0300702025为在CHMHelpID.h中定义的敏感帮助的页面ID,设置了ID后在需要显示帮助的过程中(一般是用户按F1)增加如下代码: [cpp] view plain copy BOOL CMainFrame::OnHelpInfo(HELPINFO* pHelpInfo) { HWND hWnd; if(pHelpInfo->dwContextId > 0) hWnd = HtmlHelp((HWND)pHelpInfo->hItemHandle, theApp.m_szHelpFile, HH_HELP_CONTEXT, pHelpInfo->dwContextId); else hWnd = HtmlHelp((HWND)pHelpInfo->hItemHandle, theApp.m_szHelpFile, HH_HELP_CONTEXT, IDH_WJH_0100000000); return (hWnd != NULL); return CMDIFrameWnd::OnHelpInfo(pHelpInfo); } 上述代码即响应用户F1按键,若当前显示界面设置了热点敏感帮助的页面ID时,程序将打开CHM帮助文档并跳转到ID对应的页面;若当前显示界面没有设置热点敏感帮助的页面ID,则显示软件帮助缺省的页面。
IDH_WJH_0100000000为软件的缺省显示页面ID。
二、CHM帮助文档的制作要求 CHM帮助文档必须包含API文档信息,包含页面ID文件和ID对应页面名称申明二个文件,格式如下: [cpp] view plain copy CHMHelpID.h 页面ID文件格式: #define IDH_WJH_0000000000 0 #define IDH_WJH_0100000000 100000000 #define IDH_WJH_0100100000 100100000 #define IDH_WJH_0100101000 100101000 AliasID.hID对应页面名称申明文件格式 [cpp] view plain copy IDH_WJH_0000000000 = 用户操作手册.Content/0000000000_操 作 手 册.Htm IDH_WJH_0100000000 = 用户操作手册.Content/0100000000_第一部分 系统介绍.Htm IDH_WJH_0100100000 = 用户操作手册.Content/0100100000_第一章 主要功能.Htm IDH_WJH_0100101000 = 用户操作手册.Content/0100101000_1、基本功能.Htm IDH_WJH_0100102000 = 用户操作手册.Content/0100102000_2、高级应用功能.Htm 编制好这两文件后,包含在HHP工程文件中,用HTML WORK SHOP进行编译就可以了。
现在网上也有很多软件可以按照WORD文档的章节自动生成上述文件,极大的方便了用户制作软件热点敏感帮助。
现推荐一款制作CHM的软件:Word2CHM帮助文档制作工具,此软件自动将WORD文档按照章节转换成CHM文档,并自动生成上述两个文件。
您需要做的就是按照第一节介绍的方法在VC下加入代码编译软件即可实现热点敏感帮助。
转载请注明出处51数据库 » vc另存word格式
北京夜场模特领队