VC++6.0&&VS2008&MFC&API学习问题总结(四)(编程内容技巧)

1、CEdit控件多行显示如何自动显示最后一行?

CEdit m_EDT_Client_Show_Message;

m_EDT_Client_Show_Message.LineScroll(m_EDT_Client_Show_Message.GetLineCount());        //显示部分总是显示最后一行


2、MFC同时激活两个对话框

想要在屏幕上同时显示两个对话框,并且这两个对话框都可以被激活,则至少第二个对话框应该为非模态对话框。启动非模态对话框的方法与启动一个普通窗口的步骤是一样的,即先调用窗口类的Create()函数创建一个窗口对象,再用ShowWindow()使之显示出来即可(值得注意的是:第二个对话框的对象不能为局部变量,否则在退出OnInitDialog时,该对象会被自动关闭,从而导致第二窗口也会关闭)。例如,下列的代码演示了如何在主对话框中,单击一个button启动另一个非模态对话框。     


CClientSocket dlg_CClientSocket;    //不能像下面一样写在一个方法内,而应该作为CMySocketDlg类下的全局变量


void CMySocketDlg::OnBnClickedBtnOpenClient()    //打开客户端
{
    //值得注意的是:第二个对话框的对象不能为局部变量,否则在退出OnInitDialog时,该对象会被自动关闭,从而导致第二窗口也会关闭
    //CClientSocket dlg_CClientSocket;        //如果这么写就dlg_CClientSocket就是CMySocketDlg::OnBnClickedBtnOpenClient()的局部变量了,就会失败了
    dlg_CClientSocket.Create(IDD_CLIENT_SOCKET,this);
    dlg_CClientSocket.ShowWindow(SW_SHOW);
}


3*改变对话框table键顺序(转载)

打开ResourceView,点击相应对话框。

点击ctrl+d,就会显示目前的table键顺序。

鼠标依次点击控件,就可以改变控件的table顺序。

*编辑框处回车时按按钮

打开ResourceView,点击相应对话框。

右键某个Button控件,选择properties。

Stype页中选中Default button,即把改按钮设置为默认按钮。

那么,在运行时,如果在编辑框中按回车键,就会点击该按钮。



4、MFC按下回车键不退出dialog而是发送EDIT中的数据(网络编程,其他类似)

如下,按下回车键把待发送的内容发出去:

afx_msg void OnBnClickedServerSend();


BEGIN_MESSAGE_MAP(CMySocketDlg, CDialog)
//……………………………………
    ON_BN_CLICKED(IDC_SERVER_SEND, &CMySocketDlg::OnBnClickedServerSend) //按键响应
    ON_BN_CLICKED(IDOK, &CMySocketDlg::OnBnClickedServerSend)    //回车键响应
//……………………………………
END_MESSAGE_MAP()


void CMySocketDlg::OnBnClickedServerSend()    //点击发送的响应
{
//………………
}

下面的关闭窗口,函数响应可以为:    OnCancel();

VC++6.0&&VS2008&MFC&API学习问题总结(四)(编程内容技巧)_第1张图片

你可能感兴趣的:(VC++6.0&&VS2008&MFC&API学习问题总结(四)(编程内容技巧))