请教一个控件问题

随风来去 2009-06-25 11:06:04
自己做了个IP输入框,一个Panel +4个Edit
现在的问题是,想在多个界面复用,该怎么做呢?

是自己做一个component?
但是根据CB的提示自建新组件,继承了TCustomPanel,发现不能通过图形方式构造,难道要全部通过手写代码实现?包括Edit的加入,各种事件的响应处理?

有没有什么办法通过图形方式做一个界面,然后其他界面通过include来调用
好象CB中只有继承Form和Frame的才能 图形化编辑?

我用的是CB 6.0
...全文
101 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
虎滴小猪猪 2009-06-25
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 Ring_Pt 的回复:]
你新建一个frame,然后在上面放好你需要的那些控件保存
如果某个form上你需要用这个frame,那么就点bcb 工具条standard下面的frame控件放到这个form上,bcb会让你在已有的frame里选择一个
这样frame就放到这个form上了 要用的时候就写frame->Edit1->....
[/Quote]
没用过,先学习了
ccrun.com 2009-06-25
  • 打赏
  • 举报
回复
今天新帖甚少,就用这个技术帖灌个水吧。这段时间经过观察,我收集的标准混分回复:

1. 楼上的可行
2. up,帮顶
3. 没用过,帮顶
4. 不会,帮顶
5. XXXX就可以了(XXXX为楼上某正确答案中某关键词)
6. 学习了
7. 收藏

以后技术帖中有类似回复的,如果楼主结帖后该回复有得分,这些混水摸鱼的回复将一律被删除(同时将扣掉该回复对应的专家分)。
Jim@luckeeinc.com 2009-06-25
  • 打赏
  • 举报
回复
你新建一个frame,然后在上面放好你需要的那些控件保存
如果某个form上你需要用这个frame,那么就点bcb 工具条standard下面的frame控件放到这个form上,bcb会让你在已有的frame里选择一个
这样frame就放到这个form上了 要用的时候就写frame->Edit1->....
随风来去 2009-06-25
  • 打赏
  • 举报
回复
呃,一直没怎么注意frame,frame不是一个独立窗口么?

原来写Java的时候,窗口我记得都是继承JFrame的
hnzlk 2009-06-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 Ring_Pt 的回复:]
如果要多个界面复用那就做个frame 里面放好这些控件
[/Quote]

好办法!
Jim@luckeeinc.com 2009-06-25
  • 打赏
  • 举报
回复
如果要多个界面复用那就做个frame 里面放好这些控件
随风来去 2009-06-25
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zhouzhangkui 的回复:]
lz是要做一个输入IP的控件,还是?

我以前见过一段代码是输入IP地址的,
对TEdit进行修改的
贴出来

C/C++ code
void __fastcall TForm1::Button1Click(TObject *Sender)
{
char ip[16];
GetWindowText( IPHwd, ip , 16 );
ShowMessage(ip);

}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormCrea…
[/Quote]

呵呵,是一个IP输入框,因为网上也找不到合适的,snpack的也有缺陷,我就完全仿照windows 地址输入框,包括各种按键的响应自己实现了一个

你贴的这个调用的方式对方向键,Tab键支持都不好,用起来不方便了。

TFrame我试用了一下确实不错,结贴给分了
ccrun.com 2009-06-25
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 xjq2003 的回复:]
如果人家想要专家分数的话,直接做斑竹不就可以了,
[/Quote]

做版主和得专家分是两回事,这个根本不挨边的。
做版主仅仅维护一下版面,删除一些广告帖,ZZ帖等,除此之外并没有什么特权。
得专家分并不是因为是版主就能多得,你需要认真分析楼主的问题,给出合理的解释,或者给出详细的代码。这样楼主才能在结帖时给分。

周药师 2009-06-25
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 xjq2003 的回复:]
引用 5 楼 ccrun 的回复:
今天新帖甚少,就用这个技术帖灌个水吧。这段时间经过观察,我收集的标准混分回复:

1. 楼上的可行
2. up,帮顶
3. 没用过,帮顶
4. 不会,帮顶
5. XXXX就可以了(XXXX为楼上某正确答案中某关键词)
6. 学习了
7. 收藏

以后技术帖中有类似回复的,如果楼主结帖后该回复有得分,这些混水摸鱼的回复将一律被删除(同时将扣掉该回复对应的专家分)。


没有用过,帮人顶,也是好心啊,

[/Quote]

我个人认为
lz给不给分都不是很重要的
随便去吧
重要的是来互相学习、交流,
而且本来我们CB版的人气已经很淡了
多些回复,多些人气,
带动一下气氛,提高热情...
iyln 2009-06-25
  • 打赏
  • 举报
回复
继续TCustomEdit做控件肯定要手工写代码的。
ccrun.com 2009-06-25
  • 打赏
  • 举报
回复
如果真心帮楼主顶帖,直接点击“将帖子提前”这个链接,方便快捷。根本无需多加一个灌水回复。
学习这个事情,默默的就行了吧。
至于收藏,那就更简单了,直接点击“放进我的网摘”这个链接,这才叫真的收藏。
周药师 2009-06-25
  • 打赏
  • 举报
回复
lz是要做一个输入IP的控件,还是?

我以前见过一段代码是输入IP地址的,
对TEdit进行修改的
贴出来

void __fastcall TForm1::Button1Click(TObject *Sender)
{
char ip[16];
GetWindowText( IPHwd, ip , 16 );
ShowMessage(ip);

}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)
{
INITCOMMONCONTROLSEX CommCtrl;
CommCtrl.dwSize = sizeof(CommCtrl);
CommCtrl.dwICC = ICC_INTERNET_CLASSES;//指定Class
if( InitCommonControlsEx( &CommCtrl ) )
{
IPHwd = CreateWindow( TEXT("SysIPAddress32"),
TEXT("IPADDR2"),
WS_CHILD | WS_TABSTOP | WS_GROUP,
160, //Left
72, //Top
130, //Width
20, //Height
Form1->Handle, //这个是父窗口的句柄
0,
0,
0);

ShowWindow( IPHwd, SW_SHOW );

TEdit * EditTmp =new TEdit(this);
EditTmp->Parent=Form1;
SendMessage (IPHwd, WM_SETFONT, SendMessage (EditTmp->Handle, WM_GETFONT, 0, 0), 0) ;
delete EditTmp;
}

}

xjq2003 2009-06-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 ccrun 的回复:]
今天新帖甚少,就用这个技术帖灌个水吧。这段时间经过观察,我收集的标准混分回复:

1. 楼上的可行
2. up,帮顶
3. 没用过,帮顶
4. 不会,帮顶
5. XXXX就可以了(XXXX为楼上某正确答案中某关键词)
6. 学习了
7. 收藏

以后技术帖中有类似回复的,如果楼主结帖后该回复有得分,这些混水摸鱼的回复将一律被删除(同时将扣掉该回复对应的专家分)。
[/Quote]
没有用过,帮人顶,也是好心啊,
自己学习一下,收藏一下,
楼主可以不给分啊。
如果人家想要专家分数的话,直接做斑竹不就可以了,
就像妖哥一样。

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧