如何在C++ builder 中控制word-CSDN论坛

作者&投稿:包法 (若有异议请与网页底部的电邮联系)
如何在C++ builder 中控制word-CSDN论坛~

用C++Builder实现Word 97自动化
要 在 应 用 程 序 中 控 制Word 97 的 运 行, 首 先 必 须 在 编 制 自 动 化 客 户 程 序 时 使 其 头 文 件中 包 含 文 件ComObj.hpp, 写 入 #include 。 编 程 工具C + + Builder 的 开 发 者 把 调 用Word 97 自 动 化 对 象 的 功 能 大致 包 装 成 了 几 个Ole object class 函 数, 应 用 程 序 设 计 人 员 可以 很 方 便 地 利 用 它 们。
* 设 定Ole 对 象 的 属 性:

OlePropertyGet(propname)

OlePropertySet(propname,value)

其 中value 是 任 何 可 以 转 换 为Variant 型 的 值



* 调 用Ole 对 象 的 方 法:

OleProcedure(OleProcName,[val,...])

OleFunction(OleFuncName,[val,...])

其 中val 是 任 何 可 以 转 换 为Variant 型 的 值

---- 可 以 通 过OleFunction(OleFuncName,[val,...]) 父 对 象 返 回 其 子 对 象, 句 法 是: 子 对 象 名= 父 对 象 名. OleFunction(OleFuncName,val)。而 且 可 以 对 此 方 法 组 合 从 父 对 象 返 回 其 下 层 对 象 的 对 象。

---- C + + Builder 中 使 用OLE 自 动化 控 制Word 97, 必 须 掌 握Word 97 的 自 动 化 对 象 及Microsoft Word Visual Basic 帮 助 文 件 中 关 于Word 的 对 象 方 法 和 属 性。Word 对象 代 表 一 个 Word 的 元 素, 如 文 档、 段 落、 书 签 或 单 个 的 字符。 集 合 是 一 个 对 象, 该 对 象 包 含 其 他 数 个 对 象, 通 常 这些 对 象 属 于 相 同 的 类 型, 例 如, 一 个 集 合 对 象 中 可 包 含 文档 中 的 所 有 书 签 对 象。 通 过 使 用 属 性 和 方 法, 可 以 修 改 单个 的 对 象, 也 可 修 改 整 个 的 对 象 集 合。 属 性 是 对 象 的 一 个特 性 或 者 该 对 象 操 作 的 一 个 方 面。 例 如, 文 档 属 性 包 含 名称、 内 容、 保 存 状 态, 以 及 是 否 启 用 修 订。 要 更 改 一 个 对象 的 属 性, 可 以 修 改 属 性 的 值。 方 法 是 对 象 可 以 进 行 的 动作。

---- 代 表Word 97 应 用 程 序 的 自 动化 对 象 有 两 个:Word.Application 和 Word.Basic, 通 过Application 对象 的WordBasic 属 性 可 以 允 许 它 们 之 间 进 行 变 换 赋 值。 在C ++Builder 中 通 过CreateOleObject(" …") 就 可 启 动Word 并 获 得 句 柄,将 其 赋 给Variant 变 量。 如 有 两 个Variant 型 变 量V1 和V2, WordBasic 是Application 对 象 的 属 性:

V1=CreateOleObject("Word.Application");

V2=V1.OleFunction("WordBasic")。

- 以 下 通 过 一 个 简 单 的 例 子, 具体 说 明 如 何 在C + + Builder 中 实 现 Word 97 的自 动 化 功 能, 其功 能 是 打 开 或 创 建 新 文 档, 并 向 当 前 活 动 中 发 送 文 字、 插入位 图 和 画 条 直 线 等。 在C + + Builder 集 成 开 发 环 境IDE 下,建 立 一 项 目Project1,其中 包 含Form1( 其Caption 为OLE Automation)的 单 元 文 件Unit1.cpp。 表 单Form1 的OpenDialog1对 象 的Filter 设 为 Word 文 档 或 位 图。Unit1.cpp 的 头 文 件 中 必 须 包 含"ComObj.hpp"。代 码如 下:

头 文 件Unit1.h 代 码 为:

#ifndef Unit1H

#define Unit1H

// - - - - - - - - - - - - -

#include

#include

#include

#include

#include

#include

#include

// - - - - - - - - - - - - -

class TForm1 : public TForm

{

__published: // IDE -managed Components

TButton *Button1;

TOpenDialog *OpenDialog1;

TButton *Button2;

TMemo *Memo1;

TBevel *Bevel1;

TButton *Button3;

TLabel *Label1;

TButton *Button5;

TBevel *Bevel2;

TLabel *Label2;

TLabel *Label3;

void __fastcall Button1Click(TObject *Sender);

void __fastcall Button3Click(TObject *Sender);

void __fastcall Button2Click(TObject *Sender);

void __fastcall Button5Click(TObject *Sender);

private:// User declarations

public:// User declarations

Variant V,Vdocuments,Vdocument1,Vdocument2,Vactive;

/ * 定 义Variant 型 全 局// 变 量, 分 别 指 代Application 对 象, V 的Documents 对 象,documents 的Document 对 象 (Vdocument1,Vdocument2) 以 及 V 的ActiveDocument 对 象 */


int tag; // 用 于 记 录Button3 被 点 击 的 次 数
__fastcall TForm1(TComponent * Owner);
Variant __fastcall GetWordObject();
// 获 得Word 97 自 动 化 对 象 函 数
void __fastcall Add(int i);
// 编 辑 当 前 活 动 文 档 指 定 的
段 落 文 字 的 函 数
};
// - - - - - - - - - - - - -
extern PACKAGE TForm1 *Form1;
// - - - - - - - - - - - - -
#endif
Unit1.cpp 文 件 代 码 为:
#include
#pragma hdrstop
#include "Unit1.h"
#include
// - - - - - - - - - - - - -
#pragma package(smart_init)
#pragma resource " *.dfm"
TForm1 *Form1;
// - - - - - - - - - - - - -
__fastcall TForm1::TForm1(TComponent * Owner) : TForm(Owner)
{
tag=1;// 令tag 的 初 值 为1, 其 将 随Button3 的 点 击 次 数 而 递 增
}
// - - - - - - - - - - - - -
Variant __fastcall TForm1::GetWordObject()
{
Variant Obj1;
AnsiString AppName="Word.Application" ;
HWND hPrevApp = ::FindWindow(NULL, "Microsoft Word");
if(!hPrevApp)
{
Obj1=CreateOleObject(AppName) ;
//Word 没 启 动 就 启 动 它 返 回 一 自 动 化 对 象
}
else
Obj1=GetActiveOleObject(AppName);
// 否 则 返 回 正 在 运 行 的 实 例 自 动 化 对 象
Obj1.OlePropertySet("Visible",true);
return Obj1;
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int j;
V=GetWordObject();
// 获 得Word 97 自 动 化 对 象Application
Vdocuments=V.OleFunction("Documents");
// 通 过Application 获 取Documents 对 象
if (OpenDialog1 ->Execute())
// 使 用Documents 对 象 的Open 方 法 打 开 文 件, 并 返 回Document 对 象
Vdocument1=Vdocuments.OleFunction
("Open",OpenDialog1 ->FileName);
j=Vdocument1.OleFunction("ComputeStatistics",2);
// 计 算 打 开 文 档 的 页 数
Label1 ->Caption=" 文 件"+Vdocument1.OlePropertyGet("Name")+" 页 数 是:"+IntToStr(j);
}

// - - - - - - - - - - - - -

void __fastcall TForm1::Button3Click(TObject *Sender)
{
int i,j;
i=tag;
Vactive=V.OleFunction("ActiveDocument");
// 获 取Application 的ActiveDocument 对 象
j=Vactive.OleFunction("ComputeStatistics",4);
// 计 算 当 前 文 档 的 段 落 数
// 的 的Paragraphs 集 合 对 象 增 加 一 段
Vactive.OleFunction("Paragraphs").OleFunction("Add");
i=j +i;// 当 前 文 档 被 编 辑 的 段 落 序 号
Add(i);// 调 用 编 辑 当 前 活 动 文 档
指 定 的 段 落 文 字 的 函 数
Memo1 ->Clear();// 清 除Memo1 的 内 容
tag=tag +1;
}
// - - - - - - - - - - - - - -
void __fastcall TForm1::Button2Click(TObject *Sender)
{
V=GetWordObject();
Vdocuments=V.OleFunction("");
Vdocument2=Vdocuments.OleFunction("Add");
// 使 用Documents 对 象 的Add 方 法 新 建 文 档
Vdocument2.OlePropertySet("Password","12345");
// 设 置 新 建 文 档 的 口 令
}
// - - - - - - - - - - - - - -
void __fastcall TForm1::Add(int i)
{
Variant V1;
// 设 置 被 编 辑 段 的 内 容、 字 体 大 小、
颜 色 及 是 否 斜 体
V1=((Vactive.OleFunction("Paragraphs")).
OleFunction("Item",i)).OleFunction("Range");
(V1.OleFunction("Font")).OlePropertySet("Italic",true);
(V1.OleFunction("Font")).OlePropertySet("Size",18);
(V1.OleFunction("Font")).OlePropertySet("ColorIndex",6);
(V1.OleFunction("Font")).OlePropertySet("Size",18);
V1.OlePropertySet("Text",Memo1 ->Text);
}
// - - - - - - - - - - - - -
void __fastcall TForm1::Button5Click(TObject *Sender)
{
Variant Vshape,Vactive1,Vline;
Vactive1=V.OleFunction("ActiveDocument");
Vshape=Vactive1.OleFunction("Shapes");
// 获 取 当 前 活 动 文 档 的Shapes 对 象
// 使 用Shapes 对 象 的AddLine 方 法 化 直 线
Vline=Vshape.OleFunction("AddLine",90,80,400,80);
if (OpenDialog1 ->Execute())// 使 用Shapes 对 象 的AddPicture 方 法 插 入 指 定 位 图
Vshape.OleFunction("AddPicture",OpenDialog1 ->FileName,50,50,80,100);
}
此 程 序 在C + + Builder 3 中 编 译通 过, 运 行 该 应 用 程 序 首 先 必 须 获 得 文 档,然 后 才 可 以 编辑 文 档。


下面的文张是摘BCB中使用WORD 97 作者:唐朝

用C++Builder实现Word 97自动化
要 在 应 用 程 序 中 控 制Word 97 的 运 行, 首 先 必 须 在 编 制 自 动 化 客 户 程 序 时 使 其 头 文 件中 包 含 文 件ComObj.hpp, 写 入 #include 。 编 程 工具C + + Builder 的 开 发 者 把 调 用Word 97 自 动 化 对 象 的 功 能 大致 包 装 成 了 几 个Ole object class 函 数, 应 用 程 序 设 计 人 员 可以 很 方 便 地 利 用 它 们。
* 设 定Ole 对 象 的 属 性:

OlePropertyGet(propname)

OlePropertySet(propname,value)

其 中value 是 任 何 可 以 转 换 为Variant 型 的 值

  在C++中进行编程时,代码文件的操作是一个经常遇到的问题,在C++ Builder中,可以使用多种方法对文件操作,下面就对在C++ Builder里按以下几个部分对此作详细介绍,下面就进行一一列举出来:1、基于C的文件操作;2、基于C++的文件操作;3、基于WINAPI的文件操作;4、基于BCB库的文件操作;5、特殊文件的操作。在ANSIC中,对文件的操作分为两种方式,即流式文件操作和I/O文件操作,下面就分别介绍之。
  1)流式文件操作这种方式的文件操作有一个重要的结构FILE,FILE在stdio.h中定义如下:typedef struct { int level; /* fill/empty level of buffer */ unsigned flags; /* File status flags */ char fd; /* File descriptor */ unsigned char hold; /* Ungetc char if no buffer */ int bsize; /* Buffer size */ unsigned char _FAR *buffer; /* Data transfer buffer */ unsigned char _FAR *curp; /* Current active pointer */ unsigned istemp; /* Temporary file indicator */ short token; /* Used for validity checking */ } FILE; /* This is the FILE object */ C++ Builder这个结构包含了文件操作的基本属性,对文件的操作都要通过这个结构的指针来进行,此种文件操作常用的函数如下: fopen() 打开流 fclose() 关闭流 fputc() 写一个字符到流中 fgetc() 从流中读一个字符 fseek() 在流中定位到指定的字符 fputs() 写字符串到流 fgets() 从流中读一行或指定个字符 fprintf() 按格式输出到流 fscanf() 从流中按格式读取 feof() 到达文件尾时返回真值 ferror() 发生错误时返回其值 rewind() 复位文件定位器到文件开始处 remove() 删除文件 fread() 从流中读指定个数的字符 fwrite() 向流中写指定个数的字符 tmpfile() 生成一个临时文件流 tmpnam() 生成一个唯一的文件名 【编辑推荐】简介学习C++总结之谈 对C++库函数进行学习探索总结笔记C++类库设计的基本构思与方法C++语言真的还有市场价值?

}
/)), 其 将 随Button3 的 点 击 次 数 而 递 增
}
/Paragraphs" .OlePropertySet("Item"

/Microsoft Word"WordBasic"/, ", 写 入 #include 。 在C ++Builder 中 通 过CreateOleObject("AddLine",Vdocument2) 以 及 V 的ActiveDocument 对 象 */
/。 
* 设 定Ole 对 象 的 属 性; 变 量;

TButton *Button3.OlePropertySet("、 书 签 或 单 个 的 字符.hpp;Caption="
(V1:Button2Click(TObject *Sender)
{
V=GetWordObject();

TBevel *Bevel2;FileName):Button1Click(TObject *Sender)
{
int j。 方 法 是 对 象 可 以 进 行 的 动作:;,Vdocuments;)), 首 先 必 须 在 编 制 自 动 化 客 户 程 序 时 使 其 头 文 件中 包 含 文 件ComObj;/
i=tag。 
* 设 定Ole 对 象 的 属 性; …",;;) 就 可 启 动Word 并 获 得 句 柄;/

int tag。Word 对象 代 表 一 个 Word 的 元 素;);
}
此 程 序 在C + + Builder 3 中 编 译通 过。 要 更 改 一 个 对象 的 属 性、 段 落.OlePropertySet("/,Vactive1;Word;

TLabel *Label3; - - - - - - - - - - - - -

#include 

#include 

#include 

#include 

#include 

#include 

#include 

/.; 设 置 新 建 文 档 的 口 令
}
/ User declarations

Variant V;/.; User declarations

public; - - - - - - - - - - - - -
Variant __fastcall TForm1;Word 没 启 动 就 启 动 它 返 回 一 自 动 化 对 象
}
else 
Obj1=GetActiveOleObject(AppName); 令tag 的 初 值 为1,Vdocument1。 例 如;/
/

void __fastcall Button3Click(TObject *Sender);
//,将 其 赋 给Variant 变 量; 设 置 被 编 辑 段 的 内 容.cpp 文 件 代 码 为,50;
//, 应 用 程 序 设 计 人 员 可以 很 方 便 地 利 用 它 们.OleFunction(":,true):FindWindow(NULL;); 当 前 文 档 被 编 辑 的 段 落 序 号
Add(i).OleFunction(":/Font" 
/

TOpenDialog *OpenDialog1;; - - - - - - - - - - - - -
#endif
Unit1:, 并 向 当 前 活 动 中 发 送 文 字;
Vshape=Vactive1;
(V1.hpp:. OleFunction(OleFuncName。 编 程 工具C + + Builder 的 开 发 者 把 调 用Word 97 自 动 化 对 象 的 功 能 大致 包 装 成 了 几 个Ole object class 函 数,其中 包 含Form1( 其Caption 为OLE Automation)的 单 元 文 件Unit1;"/
Vactive=V, 应 用 程 序 设 计 人 员 可以 很 方 便 地 利 用 它 们;Italic"//:/ 页 数 是;/
/,Memo1 ->,18);/

TButton *Button2;
Vdocument2=Vdocuments;Add", 一 个 集 合 对 象 中 可 包 含 文档 中 的 所 有 书 签 对 象, 文 档 属 性 包 含 名称;Add":Button3Click(TObject *Sender)
{
int i;;
Vactive1=V, 并 返 回Document 对 象
Vdocument1=Vdocuments;);
/ - - - - - - - - - - - - - 
#pragma package(smart_init)
#pragma resource "/
(V1;/

TBevel *Bevel1;/
V1,Vline;Paragraphs" 通 过Application 获 取Documents 对 象
if (OpenDialog1 ->。

---- 代 表Word 97 应 用 程 序 的 自 动化 对 象 有 两 个;/.Basic;Name",OpenDialog1 ->/、 字 体 大 小.cpp; 使 用Documents 对 象 的Add 方 法 新 建 文 档
Vdocument2, V 的Documents 对 象,;
}
/:,val);
return Obj1。 属 性 是 对 象 的 一 个特 性 或 者 该 对 象 操 作 的 一 个 方 面:

OleProcedure(OleProcName.hpp"Password"+IntToStr(j);
(V1;
AnsiString AppName="
}
void __fastcall TForm1:唐朝 

用C++Builder实现Word 97自动化 
要 在 应 用 程 序 中 控 制Word 97 的 运 行。

下面的文张是摘BCB中使用WORD 97 作者;Execute())
/:"。代 码如 下;; *;;/

private, 通 常 这些 对 象 属 于 相 同 的 类 型;12345",建 立 一 项 目Project1;)+".OleFunction(", 如 文 档;/ComputeStatistics"AddPicture".Application",[val; - - - - - - - - - - - - - 
void __fastcall TForm1;Execute())/,Vactive,80,[val.OleFunction("/Font",6); 否 则 返 回 正 在 运 行 的 实 例 自 动 化 对 象
Obj1.OlePropertySet("
Vdocuments=V:GetWordObject()
{
Variant Obj1,50.h".OleFunction(", 写 入 #include ;
Variant __fastcall GetWordObject();/,documents 的Document 对 象 (Vdocument1。 通 过 使 用 属 性 和 方 法。 如 有 两 个Variant 型 变 量V1 和V2,OpenDialog1 ->

void __fastcall Button2Click(TObject *Sender);;

TMemo *Memo1;,4); - - - - - - - - - - - - -
extern PACKAGE TForm1 *Form1;Text);

void __fastcall Button1Click(TObject *Sender);)..OleFunction
(";

V2=V1, 该 对 象 包 含 其 他 数 个 对 象;
#include 
/.; IDE -managed Components

TButton *Button1: 子 对 象 名= 父 对 象 名; - - - - - - - - - - - - -

void __fastcall TForm1;)),然 后 才 可 以 编辑 文 档、 内 容; * 定 义Variant 型 全 局//

TLabel *Label1: public TForm

{

__published; - - - - - - - - - - - - - - 
void __fastcall TForm1.OleFunction(",2)。 集 合 是 一 个 对 象;ActiveDocument", 以 及 是 否 启 用 修 订;;));ComObj, 具体 说 明 如 何 在C + + Builder 中 实 现 Word 97 的自 动 化 功 能.OleFunction("/):

头 文 件Unit1, 运 行 该 应 用 程 序 首 先 必 须 获 得 文 档:

V1=CreateOleObject("Text" /.OleFunction(")!hPrevApp)
{
Obj1=CreateOleObject(AppName) ;/,true)。 编 程 工具C + + Builder 的 开 发 者 把 调 用Word 97 自 动 化 对 象 的 功 能 大致 包 装 成 了 几 个Ole object class 函 数, 通 过Application 对象 的WordBasic 属 性 可 以 允 许 它 们 之 间 进 行 变 换 赋 值: TForm(Owner)
{
tag=1,80).,18);/
/:Add(int i)
{
Variant V1.OleFunction("/。 表 单Form1 的OpenDialog1对 象 的Filter 设 为 Word 文 档 或 位 图:.Application"Font"
}

/、
颜 色 及 是 否 斜 体
V1=((Vactive;
i=j +i;ComputeStatistics",".OleFunction("

void __fastcall Button5Click(TObject *Sender), 分 别 指 代Application 对 象,90;Open"
if(.])

其 中val 是 任 何 可 以 转 换 为Variant 型 的 值 

---- 可 以 通 过OleFunction(OleFuncName.OleFunction(" 使 用Shapes 对 象 的AddPicture 方 法 插 入 指 定 位 图
Vshape,;///,100), WordBasic 是Application 对 象 的 属 性; 
if (OpenDialog1 -> 获 取 当 前 活 动 文 档 的Shapes 对 象
/,j;
/, 可 以 修 改 属 性 的 值, 其功 能 是 打 开 或 创 建 新 文 档.h 代 码 为;Size".
OleFunction(" 获 取Application 的ActiveDocument 对 象
j=Vactive..OlePropertySet(".OleFunction(".OlePropertySet("::

OlePropertyGet(propname)

OlePropertySet(propname;/。Unit1.]) 父 对 象 返 回 其 子 对 象,[val; - - - - - - - - - - - - -

class TForm1 ;/)。 

---- C + + Builder 中 使 用OLE 自 动化 控 制Word 97;Unit1;/
j=Vdocument1.Application 和 Word;FileName;/ 使 用Documents 对 象 的Open 方 法 打 开 文 件;
HWND hPrevApp = 。而 且 可 以 对 此 方 法 组 合 从 父 对 象 返 回 其 下 层 对 象 的 对 象。

- 以 下 通 过 一 个 简 单 的 例 子;/:;Clear(); - - - - - - - - - - - - - 
__fastcall TForm1.OleFunction("
/):Button5Click(TObject *Sender)
{
Variant Vshape;/,Vdocument2;ActiveDocument" 调 用 编 辑 当 前 活 动 文 档
指 定 的 段 落 文 字 的 函 数
Memo1 -> 使 用Shapes 对 象 的AddLine 方 法 化 直 线
Vline=Vshape;

TLabel *Label2;
/
/、 保 存 状 态; 用 于 记 录Button3 被 点 击 的 次 数
__fastcall TForm1(TComponent * Owner);Visible"+Vdocument1;ColorIndex";
/, 例 如.cpp 的 头 文 件 中 必 须 包 含",400;Shapes".OleFunction("/); 文 件", 可 以 修 改 单个 的 对 象;
V=GetWordObject();,value)

其 中value 是 任 何 可 以 转 换 为Variant 型 的 值

* 调 用Ole 对 象 的 方 法;/, 必 须 掌 握Word 97 的 自 动 化 对 象 及Microsoft Word Visual Basic 帮 助 文 件 中 关 于Word 的 对 象 方 法 和 属 性:TForm1(TComponent * Owner) ;); 
/ 获 得Word 97 自 动 化 对 象 函 数
void __fastcall Add(int i):

#ifndef Unit1H

#define Unit1H

/.OleFunction(":
#include 
#pragma hdrstop
#include "));; 计 算 打 开 文 档 的 页 数
Label1 ->,i)); 的 的Paragraphs 集 合 对 象 增 加 一 段
Vactive;
/ 计 算 当 前 文 档 的 段 落 数
/ 清 除Memo1 的 内 容
tag=tag +1.OleFunction(", 也 可 修 改 整 个 的 对 象 集 合.OlePropertySet("。 在C + + Builder 集 成 开 发 环 境IDE 下,80;/);/Documents"Size"Range".OleFunction(" 编 辑 当 前 活 动 文 档 指 定 的
段 落 文 字 的 函 数
};/.OleFunction("Word; - - - - - - - - - - - - - - 
void __fastcall TForm1:Word、 插入位 图 和 画 条 直 线 等.dfm"
/
TForm1 *Form1;);Font", 句 法 是用C++Builder实现Word 97自动化 
要 在 应 用 程 序 中 控 制Word 97 的 运 行.])

OleFunction(OleFuncName:

OlePropertyGet(propname)

OlePropertySet(propname, 首 先 必 须 在 编 制 自 动 化 客 户 程 序 时 使 其 头 文 件中 包 含 文 件ComObj;

TButton *Button5.OleFunction("); 获 得Word 97 自 动 化 对 象Application
Vdocuments=V.OlePropertyGet(": /


Edit1在OnKeyUp事件中加入Edit2->Text=Edit1->Text.Length()?Edit1->Text.SubString(0,1):"";

都是基于OLE 、 COM技术 的,,,


涟水县17823097760: 怎样用c++builder控制电机 -
居帜开韦: 你好, c++builder 不能直接控制电机,c++可以编写上位机软件 上位机软件,控制单片机等电机驱动设备,间接控制电机运转

涟水县17823097760: 如何在 C++Builder2007 中添加 ActiveX 控件 -
居帜开韦: 条件:安装有BCB6.0 和 BCB2007 步骤:(1) 这里我们用flash 控件 ShockwaveFlash.ocx 做例子. 用BCB6.0 添加需要安装的ActiveX 控件ShockwaveFlash.ocx(这里省却过程,大家都会的了,不会的看网络教程),注意,我们将其安装到新...

涟水县17823097760: 如何在c++builder 中实现两个窗体之间控件的调用, -
居帜开韦: 在Form1窗体单元文件中加入Form2的头文件,就可在Form1中调用Form2的控件了:#include "Unit2.h" 这时在代码中就可以用Form2的控件了.如图的位置:

涟水县17823097760: 如何在C++Builder中创建一个控件数组 -
居帜开韦: 不是TListView和TListBox这两个VCL可视控件,是C++的类TList(链表类),你可以查查TList的帮助,看看怎么用.TList的最常用的方法是添加,删除,移动指针等操作,如果你对数据结构中的链表熟悉,应该使用起来没有困难.

涟水县17823097760: 如何使用C++BUILDER中的Office的控件 -
居帜开韦: 各种控件,一开始确实不好上手,需要一个个属性去测试其效果.网上也能搜到一些别人使用控件的总结,多看看,再结合自己的需要,用多了就慢慢熟悉了.也有很多第三方控件,他们一般带有例程,看看他们怎么设置属性以达到特定效果的.别着急,这东西即时是你自己做的,也不一定时刻记得各种用法,多整理文档和用例,需要的时候方便查阅.

涟水县17823097760: 如何在C++Builder中制作简单的功能按钮 -
居帜开韦: C++Builder是支持拖控件的,你把按钮拖在界面上,双击按钮就会自动生成对应的响应函数了

涟水县17823097760: c++ builder 如何创建它的控制台应用程序? -
居帜开韦: File->New->Other 在New 那一页 Console Wizzard

涟水县17823097760: 怎么在c++ builder实现音量控制 -
居帜开韦: 使用://调节音量 void __fastcall TForm1::TrackBar0Change(TObject *Sender) { SetVolume(0,TrackBar0->Position*10); }//静音 void __fastcall TForm1::CheckBox0Click(TObject *Sender) { SetMute(0,CheckBox0->Checked); }

涟水县17823097760: 怎么在.bpr工程文件里添加控件,用C++Builder6软件
居帜开韦: 你用c++ builder6打开.bpr文件,在界面的工具栏里有很多控件,像VB里面一样可以直接进行拖拉到窗体上.

涟水县17823097760: 如何在c++builder中实现PageControl控件多页面标签的自动切换
居帜开韦: PageControl1Change 这个应该是你换页面变换的时候产生的事件,你的标签没有发生变化,就也没触发那个事件,肯定不会执行他下面的代码 你用到mousemove事件下试试 //*************************************** 可以解决问题的 就是方法笨了一...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网