• 首页>范文 > 范文
  • 怎么写控件

    1.C++写标准控件怎么写

    帮你写个控件滑动控件是Windows中最常用的控件之一。

    一般而言它是由一个滑动条,一个滑块和可选的刻度组成,用户可以通过移动滑块在相应的控件中显示对应的值。通常,在滑动控件附近一定有标签控件或编辑框控件,用于显示相应的值。

    滑动控件在应用程序中用途级为广泛,如在桌面的属性中就可以看到。为此,看一下它的实现方法。

    (1)在VC++ 6.0中新建一个对话框文档的工程。 (2)打开资源管理器,在对话框中放置一个EDIT控件,然后在它旁边放上一个Slider控件。

    基本的框架已经完成了。 (3)对Slider控件右击,选择“建立类向导”,对刚才的Slider控件定义一个变量m_Slider,类型为CSliderCtrl。

    (4)在对话框初始化的代码BOOL CMy601Dlg::OnInitDialog(),后添加相应的属性。以下是常用的属性设置函数: * GetRange,SetRange函数 用于查询和设置滑动条的取值范围,默认为0~100。

    函数定义形式如下:void GetRange(int &nMin,int &nMax) const;void SetRange(int nMin,int nMax,BOOL bRedrGETaw=FALSE); * GetPos,SetPos函数 用于查询和设置滑动条的当前值。函数定义形式如下:int GetPos() const;int SetPos(int nPos); * GetLineSize,SetLineSize函数 用于查询和设置在按一下右或左箭头时滑块的移动量,默认为1个单位。

    函数定义形式如下:int GetLineSize() const;int SetLineSize(int nSize); * GetPageSize,SetPageSize函数 用于查询和设置函滑块和块移动量,块移动量是指当按下PgUp或PgDown时滑块的移动量。函数定 义形式如下:int GetPageSize() const;int SetPageSize(int nSize); * SetTicFreq函数 用于设置滑动条刻度的频度。

    默认为一个单位一个函数。函数定义形式如下:void SetTicFreq(int nFreq); * SetTic函数 用于在指定的位置设置刻度。

    Windows默认的刻度是均匀的。函数定义形式如下:BOOL SetTic(int nTic); * ClearTics函数 用于清除所有的刻度。

    函数定义形式如下:void ClearTics(BOOL bRedraw=FALSE); 我们在初始化时写入以下语句:m_Slider.SetRange(-100,100);m_Slider.SetTicFreq(10); 即:设置范围为-100到100,刻度为每10个单位一个。 (5)现在我们加入事件过程代码。

    选择Slider的“事件”然后选择第一个过程(NM_CUSTOMDRAW)随后加入以下代码: void CMy601Dlg::OnCustomdrawSlider1(NMHDR* pNMHDR, LRESULT* pResult) {UpdateData(TRUE);m_Int=m_Slider.GetPos();UpdateData(FALSE); *pResult = 0;} 其中m_Int是定义的EDIT控件的类型为INT的变量。至此我们的编辑工作结束了。

    (6)编译运行程序试试吧,很方便就使用了Slider 控件。 以上代码在Windows2000,VC++ 6.0/VC++.net上调试通过。

    2.几种控件或层显示隐藏的写法

    function addforum(){var forumAdd = document.getElementById("forumAdd"); //获取ID为forumAdd的层

    if(forumAdd.style.display == "none"){ //判断层display样式

    document.getElementById("forumAdd").style.display = "block"; //若隐藏,则显示

    return false; //记得返回}document.getElementById("forumAdd").style.display = "none"; //否则执行隐藏

    return false;} 2、对控件进行显示、隐藏 写法如下:同方法一 3、对控件、层进行赋值 document.getElementById('BtnAdd').innerHTML ="【Unvs.cn】"; document.form1.UserName.value = '【Unvs.cn】'; (一种获取控件的ID:document.getElementById('')).value =' 【Unvs.cn】';)二、后台对层进行显示隐藏或赋值 1、对层显示隐藏 写法如下(有两种方法): this.forumAdd.Visible = true;

    this.forumAdd.Style["Display"] = "Block"; //层显示 2、对控件进行显示隐藏 写法如下: this.txtUserName.Visible = true; //方法同上 3、对控件进行赋值 一种就是常有文本框的写法:this.控件名.Text 一种就是用innerHTML写法:this.txtUserName.innerHTML= "【Unvs.cn】";其实这篇文章介绍的只是一些很常规的方法,基础的东西,同时还包含了一个知识点,就是通过js如何调用页面控件的值。。。个人正在JS学习中,所以总结这篇文章,分享给大家。

    3.怎么把java写的控件(比如说一个按钮)加到layout布局里面呀

    我有点不太明白你的意思,Java写的控件,放在Layout里,我现在理解是把Button放到一个容器里。如果是这样的话,那就简单了,有个add()方法的。比如:

    public class Test extends Jframe

    {

    public Test()

    {

    Contianer contentPane = this.getContentPane() ;

    contentPane.setLayout(new BorderLayout()) ; //设置为BorderLayout布局

    contentPane.add(new Button("按键") , BorderLayout.NORTH) ; //放在北边

    contentPane.add(new Button("按键") , BorderLayout.SOUTH) ; //放在南边

    setVisible(true) ;

    setSize(400,300) ;

    }

    public static void main(String args[])

    {

    new Test() ;

    }

    }

    (代码没有调试过,自己调试吧)

    基本上就可以 把Button入进去了,不知道你是这个意思没。

    4.如何编写自定义控件的事件

    //声明一个委托,委托可以理解成定义个函数指针类型.

    public delegate void rbtEnterHandler();

    //在你的类里

    class xxx

    {

    //定义rbtEnterHandler委托类型的事件,事件名叫rbtEnter

    event rbtEnterHandler rbtEnter

    //在你需要的地方触发事件

    void XXX()

    {

    if (rbtEnter!=null)

    rbtEnter();

    }

    }

    外部使用事件的方法,就和其他控件或类的事件一样.

    5.vs 怎么使用编辑框控件 怎么写

    一、Edit Control中应用函数来读写数据

    1、int 变量同Edit Control中数据的转换

    从Edit Control中获取数值变量 并且把Unicode转换成ASCII的简单方法:

    int num;

    num=GetDlgItemInt(IDC_EDIT,NULL,TRUE);

    另外往Edit Control上写int变量

    SetDlgItemInt(IDC_EDIT1,num,TRUE);

    总结一下:int同Edit Control之间的数据传递:GetDlgItemInt +SetDlgItemInt。

    2.从Edit Control获取字符串和往Edit Control上输入字符串

    从Edit Control获取字符串:

    CString str;

    GetDlgItemText(IDC_EDITBOX,str)

    这样Edit Control中的字符串就会被保存在str中

    SetDlgItemText(IDC_EDIT1,_T("string"));

    这样Edit Control将被写入string。

    二、Edit Control应用MFC提供的DDX和DDV进行数值读写。

    应用MFC提供的DDX和DDV进行数值读写非常方便,但进行编辑输入(不能是control只能是value,即只能输出不能输入),不能使用。

    进行输出更改时,用DDX非常方便。直接把它当一般的变量读写即可。

    vs2005中Edit Control控件右键单击 添加变量 选择value 设置变量名 比如说num 我们把它赋值给voltage

    在你需要该数据的地方

    UpdateData(TRUE);

    voltage=num;

    UpdateData(FALSE);

    使用Edit Control编辑输入时,只能将控件设置为Control,这时只能是CEdit。这时需要将CEdit中的值先读取为文本格式,再将文本转换为相应的数据型变量。使用的函数如下:

    int GetWindowTextA( LPTSTR lpszStringBuf, int nMaxCount ) const;

    void GetWindowTextA( CString& rString ) const;

    设置CEdit中文本的函数:

    void SetWindowText( LPCTSTR lpszString );

    例如:m_edit_fileName.SetWindowTextA(_T("Hello world"));

    发表评论

    登录后才能评论