关于创建CEdit控件中的疑问。

vc_marger 2005-03-17 10:24:52
在用CEdit::Create创建控件时,有下面的疑问:
1.为什么创建的空间是平面的,没有立体的感觉,要怎样才能做到让它显示立体的效果?
2.创建时,控件ID,是一个什么样的概念,它有什么作用,最好举例说明下?
3.MoveWindow这个函数有什么作用?
4.为什么若同时创建多个控件,总是会重合在一起?
...全文
86 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
菲斯可儿 2005-03-18
  • 打赏
  • 举报
回复
立体效果? 3D边框吗? 或者自己做子类化。
zhiyong1822 2005-03-18
  • 打赏
  • 举报
回复
应该不会有差异,如果有差异的话,也是出在你的控件类型设置上。
zhiyong1822 2005-03-18
  • 打赏
  • 举报
回复
2、动态创建的控件时,id就显得更重要了。id的作用是该控件的唯一标识,通过id可以对该控件进行
控制处理 CEdit *edit1=(CEdit*)GetDlgItem(id);以后就可以通过变量edit1对该控件进行处理了。
1、在virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID
);
中的类型中设置如edit1->Create(ES_MULTILINE | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER, CRect(10, 10, 100, 100), this, 1);当然在第一个参数中还可以更具需要设置
其他类型每个类型间用‘|’分开。
edit类型一般形式为ES_xxxx,和其父类的类型WS_xxxx.
3、MoveWindow()作用是为了改变窗口的位置和大小
他的函数声明形势
void MoveWindow(
int x,//x,y表示窗口左上角的坐标。
int y,
int nWidth,//下面两个表示其宽,高
int nHeight,
BOOL bRepaint = TRUE //表示是否接受 WM_PAINT 消息。
);
void MoveWindow(
LPCRECT lpRect,//表示窗口的矩形
BOOL bRepaint = TRUE
);
4、在建立控件的过程中把

edit1->Create(ES_MULTILINE | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER, CRect(10, 10, 100, 100), this, 1);
中的CRect(...)中不同控件它里面的值不要相同,如果设置的不好,就会重叠。
vc_marger 2005-03-18
  • 打赏
  • 举报
回复
fanqing,我指就是文本框它自身的一些设置,比如阴影效果什么的。用create创建出来的,跟直接划出来的有差异。
fanqing 2005-03-18
  • 打赏
  • 举报
回复
1.MoveWindow移动位置和设置大小
2.id可以理解为学号.用于识别对象
3.听说下一代操作系统会是立体的,届时你就可以使用.
现在除了他提供的边框有一些立体设置外,其余的你自己画吧.
juststone 2005-03-18
  • 打赏
  • 举报
回复
3.用来设置窗口(CEdit等)的位置和大小
4.在RECT参数设置

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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