在VisualStudio中使用Windows桌面搜索
来源:互联网 发布:mac文件夹加密软件 编辑:程序博客网 时间:2024/05/02 02:50
1、创建向导对话框
void CMy56_s1Dlg::OnWiz()
{
CSheet sheet;
sheet.SetWizardMode();
int iRet=sheet.DoModal();//返回ID_WIZFINISH或IDCANCEL
}
//重载BOOL CPropertyPage::OnSetActive( )来控制显示的按钮
BOOL CPage1::OnSetActive()
{
((CPropertySheet*)GetParent())->SetWizardButtons(PSWIZB_BACK|PSWIZB_NEXT);
return CPropertyPage::OnSetActive();
}
BOOL CPage2::OnSetActive()
{
((CPropertySheet*)GetParent())->SetWizardButtons(PSWIZB_BACK|PSWIZB_FINISH);
return CPropertyPage::OnSetActive();
}
/*
服务器方在端口6802上等待连接,当连接建立后关闭监听套接口
客户方向服务器端口6802发起连接请求
*/
BOOL CMy63_s1_serverDlg::OnInitDialog()
{
CDialog::OnInitDialog();
CSocket sockListen;
//创建本地套接口
sockListen.Create(6802,SOCK_STREAM,"127.0.0.1");
//绑定参数
sockListen.Bind(6802,"127.0.0.1");
sockListen.Listen(5);
//等待连接请求,m_sockSend为成员变量,用于通信
sockListen.Accept(m_sockSend);
//关闭监听套接口
sockListen.Close();
//启动定时器,定时发送数据
SetTimer(1,3000,NULL);
}
void CMy63_s1_serverDlg::OnTimer(UINT nIDEvent)
{
static iIndex=0;
char szSend[20];
sprintf(szSend,"%010d",iIndex++);
//发送TCP数据
int iSend= m_sockSend.Send(szSend,10,0);
}
BOOL CMy63_s1_clientDlg::OnInitDialog()
{
CDialog::OnInitDialog();
//创建本地套接口
m_sockRecv.Create();
//发起连接请求
BOOL fC=m_sockRecv.Connect("127.0.0.1",6802);
TRACE("connect is %s ",(fC)?"OK":"Error");
//启动定时器,定时接收数据
SetTimer(1,3000,NULL);
}
void CMy63_s1_clientDlg::OnTimer(UINT nIDEvent)
{
char szRecv[20];
//接收 TCP数据
int iRecv =m_sockRecv.Receive(szRecv,10,0);
TRACE("received %d byte ",iRecv);
if(iRecv>=0)
{
szRecv[iRecv]='';
m_szRecv=szRecv;
UpdateData(FALSE);
}
}
void CCJMDIFrameWnd::DockControlBarLeftOf(CControlBar* Bar,
CControlBar* LeftOf)
{
CRect rect;
DWORD dw;
UINT n;
// 使用MFC来调整所有工具栏的尺寸
// 确保GetWindowRec准确
RecalcLayout(TRUE);
LeftOf->GetWindowRect(&rect);
rect.OffsetRect(1,0);
dw=LeftOf->GetBarStyle();
n = 0;
n = (dw&CBRS_ALIGN_TOP) ? AFX_IDW_DOCKBAR_TOP: n;
n = (dw&CBRS_ALIGN_BOTTOM&& n==0) ? AFX_IDW_DOCKBAR_BOTTOM:n;
n = (dw&CBRS_ALIGN_LEFT && n==0) ? AFX_IDW_DOCKBAR_LEFT:n;
n = (dw&CBRS_ALIGN_RIGHT&& n==0) ? AFX_IDW_DOCKBAR_RIGHT:n;
DockControlBar(Bar,n,&rect);
}
在使用具体某个软件的时候,我们常常会在该程序中使用向导模式来建立新的文件,最典型的例子就是在Frontpage2000中或者Word2000中使用向导方式来新建一个网页文件或者Word文档。那么看到别的程序都能提供人性化的向导对话框后,不知您有没有什么冲动?如果有的话,不妨使用下面的代码来创建一个向导对话框:
以下是引用片段:
void CMy56_s1Dlg::OnWiz()
{
CSheet sheet;
sheet.SetWizardMode();
int iRet=sheet.DoModal();//返回ID_WIZFINISH或IDCANCEL
}
//重载BOOL CPropertyPage::OnSetActive( )来控制显示的按钮
BOOL CPage1::OnSetActive()
{
((CPropertySheet*)GetParent())->SetWizardButtons(PSWIZB_BACK|PSWIZB_NEXT);
return CPropertyPage::OnSetActive();
}
BOOL CPage2::OnSetActive()
{
((CPropertySheet*)GetParent())->SetWizardButtons(PSWIZB_BACK|PSWIZB_FINISH);
return CPropertyPage::OnSetActive();
}
2、在
以下是引用片段:
/*
服务器方在端口6802上等待连接,当连接建立后关闭监听套接口
客户方向服务器端口6802发起连接请求
*/
BOOL CMy63_s1_serverDlg::OnInitDialog()
{
CDialog::OnInitDialog();
CSocket sockListen;
//创建本地套接口
sockListen.Create(6802,SOCK_STREAM,"127.0.0.1");
//绑定参数
sockListen.Bind(6802,"127.0.0.1");
sockListen.Listen(5);
//等待连接请求,m_sockSend为成员变量,用于通信
sockListen.Accept(m_sockSend);
//关闭监听套接口
sockListen.Close();
//启动定时器,定时发送数据
SetTimer(1,3000,NULL);
}
void CMy63_s1_serverDlg::OnTimer(UINT nIDEvent)
{
static iIndex=0;
char szSend[20];
sprintf(szSend,"%010d",iIndex++);
//发送TCP数据
int iSend= m_sockSend.Send(szSend,10,0);
}
BOOL CMy63_s1_clientDlg::OnInitDialog()
{
CDialog::OnInitDialog();
//创建本地套接口
m_sockRecv.Create();
//发起连接请求
BOOL fC=m_sockRecv.Connect("127.0.0.1",6802);
TRACE("connect is %s ",(fC)?"OK":"Error");
//启动定时器,定时接收数据
SetTimer(1,3000,NULL);
}
void CMy63_s1_clientDlg::OnTimer(UINT nIDEvent)
{
char szRecv[20];
//
int iRecv =m_sockRecv.Receive(szRecv,10,0);
TRACE("received %d byte ",iRecv);
if(iRecv>=0)
{
szRecv[iRecv]='';
m_szRecv=szRecv;
UpdateData(FALSE);
}
}
3、让工具栏并列显示
假设在Windows程序窗口中有几个工具栏,现在我们
以下是引用片段:
void CCJMDIFrameWnd::DockControlBarLeftOf(CControlBar* Bar,
CControlBar* LeftOf)
{
CRect rect;
DWORD dw;
UINT n;
// 使用MFC来调整所有工具栏的尺寸
// 确保GetWindowRec准确
RecalcLayout(TRUE);
LeftOf->GetWindowRect(&rect);
rect.OffsetRect(1,0);
dw=LeftOf->GetBarStyle();
n = 0;
n = (dw&CBRS_ALIGN_TOP) ? AFX_IDW_DOCKBAR_TOP: n;
n = (dw&CBRS_ALIGN_BOTTOM&& n==0) ? AFX_IDW_DOCKBAR_BOTTOM:n;
n = (dw&CBRS_ALIGN_LEFT && n==0) ? AFX_IDW_DOCKBAR_LEFT:n;
n = (dw&CBRS_ALIGN_RIGHT&& n==0) ? AFX_IDW_DOCKBAR_RIGHT:n;
DockControlBar(Bar,n,&rect);
}
- 在VisualStudio中使用Windows桌面搜索
- 在visualstudio中使用Qt
- 在VisualStudio中使用GIT
- 在VisualStudio中应该使用什么字体
- 在linux 桌面环境中使用windows 应用
- 在VisualStudio中调试SP
- 在VisualStudio中调试Javascript
- VisualStudio中使用tfs规范
- 在Windows中显示Linux的桌面
- 在Windows中显示Linux的桌面
- 关于在Windows 7中在桌面使用TextOut函数的一些问题
- 使用Eclipse RCP进行桌面程序开发(四):在Windows中使用Active X控件
- 使用Eclipse RCP进行桌面程序开发(四):在Windows中使用Active X控件
- 使用Eclipse RCP进行桌面程序开发(四):在Windows中使用Active X控件
- 使用Eclipse RCP进行桌面程序开发(四):在Windows中使用Active X控件
- 在windows xp上使用VisualStudio 2008和QT编译webkit
- Windows VisualStudio 下使用glog gflags
- Windows平台下使用VisualStudio编译FFmpeg
- VC开发多语言界面支持的简单方法
- 开发人员常犯的十大数据库错误
- MPICH2在visual studio 2005中的配置
- 哪些事件经常会导致项目被延误
- mvnForum 一个开源的BBS搭建过程
- 在VisualStudio中使用Windows桌面搜索
- 使用OpenSSL实现证书的管理
- oracle连接SQL SERVER
- 清除“6.cn弹出页面”
- 基于OpenGL的三维曲面数据场动态显示
- 开源感想---简单最美
- 经典赣州普通话
- 慢性咽炎
- 理解MFC控制条窗口布局原理之一