登录
首页 » VC++源码 » VC++ 创建一个非模态对话框

VC++ 创建一个非模态对话框

于 2022-02-10 发布 文件大小:33.69 kB
0 76
下载积分: 2 下载次数: 1

代码说明:

VC++ 创建一个非模态对话框,比较一下模态对话框,与其有何异同。以下是创建对话框的代码:   void CNonModeDlgDlg::Finish()   {    m_pChoice = NULL;    GetDlgItem(IDOK)->EnableWindow();   }   void CNonModeDlgDlg::OnOK()   {    if ( m_pChoice == NULL )    {    m_pChoice = new CChoiceDlg(this);    if ( m_pChoice->Create() == TRUE )    {    GetDlgItem(IDOK)->EnableWindow(FALSE);    }    }    else    {    m_pChoice->SetActiveWindow();    }   }

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • VC++ 读取SQL Server数据库结构
    VC++ 读取SQL Server数据库结构,读取指定数据库指定数据表的数据结构,演示中仅是读取出字段名、字段类型和字段类型取值大小,只是演示一种获取字段数据的方法:   m_grid.SetExtendedStyle(LVS_EX_FLATSB    |LVS_EX_FULLROWSELECT    |LVS_EX_HEADERDRAGDROP    |LVS_EX_ONECLICKACTIVATE    |LVS_EX_GRIDLINES);   m_grid.InsertColumn(0,"字段名",LVCFMT_LEFT,100,0);   m_grid.InsertColumn(1,"类型",LVCFMT_LEFT,100,1);   m_grid.InsertColumn(2,"大小",LVCFMT_LEFT,100,2);
    2022-07-17 13:15:00下载
    积分:1
  • VC串口调试、发送和接收消息范例
    VC串口调试、发送和接收消息数据范例,这里面涉及到线程控制、串口调试、发送消息、接收消息等编写技巧,还有串口读和写操作,独占方式、延时发送消息,设置发送和接收缓冲区大小等,关于一些参数定义和接收数据函数的代码如下:   OVERLAPPED tOverLaped= {0}; //线程函数使用的OVERLAPPED结构   OVERLAPPED wOverLaped = {0}; //写操作使用的OVERLAPPED结构   OVERLAPPED rOverLaped = {0}; //读操作使用的OVERLAPPED结构   BOOL IsFun = TRUE; //线程是否运行   BOOL IsStop = FALSE; //数据是否发送完毕   //自定义消息处理函数,用于接收数据   void CSeriesPortDlg::OnRecieveData(WPARAM wParam, LPARAM lParam)   {    DWORD res,factbyte;    memset(DataBuffer,0,1024); //初始化数据缓冲区    COMSTAT rst;    ClearCommError(hCom,&res,&rst);//清空串口错误标志,记录当前通信状态    rOverLaped.hEvent = CreateEvent(NULL,TRUE,FALSE,NULL); //创建一个事件对象    if (ReadFile(hCom,DataBuffer,rst.cbInQue,&factbyte,&rOverLaped)) //读取数据到缓冲区中    {    DataBuffer[rst.cbInQue]= 0;    IsStop = FALSE;    }    else    {    res = WaitForSingleObject(rOverLaped.hEvent,5000);    }    IsStop = FALSE;    MessageBox(DataBuffer);   }
    2023-05-17 19:05:03下载
    积分:1
  • VC Calendar 自定义的日历选择插件
    VC++ 6.0 Calendar 自定义的日历选择插件,这个功能相信大家都比较熟悉了,是用来选择日期和时间的,避免用户输入出错,选择后可把数据填充在指定的文本框内,或提交至下一个数据处理环节。这个例子是前两年的,风格和Windows XP相似,与Windows7和10版本有所区别,核心代码为:   //设置选择日期   void CCalendarDlg::OnSetCursel()   {    //更新变量    UpdateData(TRUE);    //构造日期变量    CTime tm(m_nYear,m_nMonth,m_nDay,0,0,0);    m_MonthCalCtrl.SetCurSel(tm);   }   //设置日期   void CCalendarDlg::OnSetToday()   {    //更新变量    UpdateData(TRUE);    //构造日期变量    CTime tm(m_nYear,m_nMonth,m_nDay,0,0,0);    m_MonthCalCtrl.SetToday(&tm);    m_MonthCalCtrl.SetCurSel(tm);   }   
    2022-01-25 19:36:09下载
    积分:1
  • VC++ 6.0制作的弹出式菜单
    VC++ 6.0制作的弹出式菜单,代码作者:一剑,这里主要是定义了CMainFrame::OnContextMenu函数来实现弹出式菜单,请参见以下核心代码:   void CMainFrame::OnContextMenu(CWnd* pWnd, CPoint point)   {    CMenu menu;    CMenu *popup;    //IDR_POP_MENU是菜单资源的ID号,是刚添加的菜单    menu.LoadMenu(IDR_POP_MENU);    ASSERT(menu);    //此函数用于得到子菜单的指针。    //由于需要的是“可弹出项”的第一层子菜单,因此用GetSubMenu(0)来得到。    popup=menu.GetSubMenu(0);    popup->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,point.x, point.y,this);      }   然后需要定义几个菜单命令响应函数,请参见源代码文件。
    2022-03-30 01:28:38下载
    积分:1
  • 端口扫描VC6.0程序示例
    扫描端口,程序里面有一些相关的技巧是可以借鉴的,比如增加列表框标题栏的某一列、在列表框中加一条、显示列表框标题栏、单击“扫描单个端口”单选按钮、单击“扫描多个端口”单选按钮、开始扫描时绑定进度条组件、不合理IP的处理、扫描单个端口、连接主机,测试端口是否打开、设置扫描完毕状态、将扫描结果填充到列表框中、测试主机的某个端口是否打开、保存扫描结果到文本文件中等。
    2022-10-09 07:35:03下载
    积分:1
  • VC++ 6.0通过消息机制实现进程间的通信
    VC++ 6.0通过消息机制实现进程间的通信,这个实例写了两个子程序,一个是发送消息端,一个是接收消息端,接收端主要是接收其他进程向该窗口发送的消息,发送消息端获取目的窗口对象,向窗口“MYRECEIVER”发送自定义消息,若接收端没上线,则会使用AfxMessageBox弹出提示("没有找到MYRECEIVER窗口!"),更多源代码细节,请参考压缩包中的对应文件,最终的运行效果请参见截图所示。
    2022-10-26 09:30:07下载
    积分:1
  • VC6.0 使用信号量Semaphore实现线程的同步
    VC6.0 使用信号量Semaphore实现线程的同步,使用信号量实现线程同步,设置访问保护对象的最多线程数为2,确定当前已经启动运行的线程数目,可以创建线程。   CWinThread* pThread=AfxBeginThread(ThreadProc,&m_Edit);//开辟一个工作线程,   int thread=0;//全局变量记录当前运行线程的数目   CSemaphore mySemaphore(2,2);//创建CSemaphore类对象   UINT ThreadProc(LPVOID pParam)//工作线程入口函数   {    CEdit *pedit=(CEdit*)pParam;    CString str;    thread++;//线程数目加1    str.Format("%d",thread);    pedit->SetWindowText(str);//编辑框显示    CSingleLock singlelock(&mySemaphore);//创建CSingleLock类对象    singlelock.Lock();//计数器初始值减1    MessageBox(NULL,"信号量控制访问资源线程数","提示",MB_ICONWARNING);//弹出对话框    thread--;//线程数目减1    str.Format("%d",thread);    pedit->SetWindowText(str);//编辑框显示    return 0;   }
    2022-02-20 19:37:49下载
    积分:1
  • VC++ 获取所有进程并进行管理-进程管理器
    进程:进程管理器,VC++ 6.0枚举获取所有进程并进行管理-模拟一个进程管理器的写法,枚举Windows中所有正在运行的进程,本示例将演示如何获取进程路径,打开进程句柄,获取进程优先级,终止进程主函数,创建状态栏,获取当前行行号,在状态栏上显示时间,取得选择项目的索引,重新取得第一个位置,更新进程等。
    2022-01-22 05:53:39下载
    积分:1
  • VC++ 物资进出货库存管理系统
    VC++ 物资管理系统,类似进销存的系统,带有入出库管理,主要功能有物资信息查询、库存盘点、往来单位信息管理、进货管理、商品信息管理、操作员管理、员工信息管理、数据恢复、数据备份、数据库设置模块、系统设置、查询条件检索窗口,仓库信息管理、销售统计排行 、库存查询等模块。本系统在编写时使用了三方控件:RxDll.dll。   用户名:mr 默认密码:mingrisoft   数据库在根目录,两个文件:wzglxt_Data.MDF和wzglxt_Log.LDF
    2022-04-18 10:15:36下载
    积分:1
  • VC++ 设置位置断点跟踪程序
    VC++ 设置位置断点跟踪程序,利用随机产生的数组来测试断点跟踪的效果,具体的实现代码:   srand( (unsigned)time( NULL ) );//产生随机种子   int array[number];   CString str1,str2;   str1="原始顺序:";   for(int i=0;i  {    array[i]=rand();//设置条件断点    str2.Format("%d ",array[i]);    str1+=str2;   }   pDC->TextOut(20,10,str1);//输出原始数组顺序   BubbleSort(array, 1, number);   str1="排序顺序:";   for( i=0;i  {    str2.Format("%d ",array[i]);    str1+=str2;   }   pDC->TextOut(20,30,str1);//输出排序后的数组顺序
    2022-03-21 21:04:24下载
    积分:1
  • 696518资源总数
  • 104225会员总数
  • 32今日下载