MFC 知识 总结(1)

  1. IP 转换
    temp.Format(_T("%s"),szOption1);
     unsigned long IPByte;
    //预转换,得到所需空间的大小,这次用的函数和上面名字相反 
    int ansiLen = ::WideCharToMultiByte(CP_ACP, NULL, temp, wcslen(temp), NULL, 0, NULL, NULL); 
    //同上,分配空间要给'\0'留个空间 
    char* szAnsi = new char[ansiLen + 1]; 
    //转换 
    //unicode版对应的strlen是wcslen 
    ::WideCharToMultiByte(CP_ACP, NULL,temp, wcslen(temp), szAnsi, ansiLen, NULL, NULL); 
    //最后加上'\0' 
    szAnsi[ansiLen] = '\0'; */

    IPByte   = inet_addr(szAnsi); 
    unsigned   char   *pIP   =   (unsigned   char*)&IPByte; 
    m_ip.SetAddress(*pIP,   *(pIP+1),   *(pIP+2),   *(pIP+3));
    m_port.Format(_T("%d"),m);

2.MFC类向导 三种类的区别
MFC class:
建立基于MFC的类,比如视图,frame,控件等等,从MFC类库派生,可以在Base class中选择父类。
Generic class:
geniric class就是自己写的类,普通C++类,没有派生始祖,包含头文件后,可以使用任何MFC类。使用generic class,它不选择MFC中的类作为基类,也就是没有基类,或者你手工在Base class中填上父类。输入任何类做基类。
generic class,是一个一般的类,可以不从mfc的类中继承,也可以从mfc的类中继承,但自己一定要注意亲自加入mfc的头文件,同时不会有消息映射表,这些都要手动添加。
Form class:
应该是指MFC中带界面资源模板的类,一般都需要选择模板ID,包括CFormView,CRecordView,CDAORecordView和CDialog四种类 但是VC会根据实际项目的类型是dialog,SDI,MDI来选择classvizard里面下拉框中的可选类。
基于dialog的项目,添加form class 时只显示CDialog,前三种不显示(它认为,那三个view类在对话框中不必要使用)
基于SDI或MDI的项目,添加form class 时下拉框显示上述4种类。
Form Class是窗口类,一般情况下用这项时,VC会同时为你生成相应的窗口。
3.MFC 清屏

    Invalidate(false);
    UpdateWindow();
    RedrawWindow();

如果是刷新图片之类的。。用双缓冲
注意位置。~~

for(;;){。。。。Invalidate(false);
UpdateWindow();}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值