1、MFC函数和API函数要怎么样才能区分开?我分不清楚!
   怎么样才能得到控件上的文字,比如按钮上的“确定”两个字,要调用什么函数返回?我找不到!
2、afx_msg void OnHSroll (UINT nsBCode,UINT nPos,CScrollBar * pScrollBar);
   lvi.pszText=(LPTSTR)(LPCTSTR)(strItem);
   SetIcon(m_hIcon,true);
   SetIcon(m_hIcon,false);
   能具体解释一下这几句话么?看不懂!
3、StrItem.Format(_T("图表%i"),i);
   _T是什么?%i是什么?是不是印错了?麻烦大家了!感激不尽!!

解决方案 »

  1.   

    1,在MFC中调用API函数只要在前面加::,如: "::SetTimer(hwnd,0,100,Null)"
    2,afx_msg void OnHSroll 表示消息映射
     lvi.pszText=(LPTSTR)(LPCTSTR)(strItem);CString转化为字符指针
    3,_T 是VC的字符转换宏
      

  2.   

    1 MFC函数原形中一般不会出现句柄(除了那几个FromHandle),而API函数一般都以句柄作为第一个参数
    获得文字用GetWindowText2 afx_msg void OnHSroll (UINT nsBCode,UINT nPos,CScrollBar * pScrollBar);
        // 消息控制函数的声明
       lvi.pszText=(LPTSTR)(LPCTSTR)(strItem);
        // 如果没猜错,把一个CString对象转化为LPTSTR类型。
        // CString似乎没有提供(LPTSTR)操作符,所以用(LPCTSTR)过渡一下
       SetIcon(m_hIcon,true);
       SetIcon(m_hIcon,false);
        // 设置窗口图标,后面的BOOL型变量指名是否为大图标(TRUE表示32*32的大图标)
        // 用true和false可能编译器会报warning3 _T是个宏,为了方便UNICODE的使用;%i是格式符号,参考printf的使用
      

  3.   

    补充一下,MFC函数很多都是对API的封装,在原形上基本上都是相差在第一个句柄上。不过不能严格的说有句柄出现的就是MFC函数。拿不准请查阅MSDN
      

  4.   

    楼上的说的不是很清楚
    在API函数前的确最好加上  ::来区别MFC类封装的同名函数
    比如
    CButton类中有一个函数 SetWindowText(...)是吧?而你在该类中要使用API全局函数SetWindowText的时候,必须用::SetWindowText(...) 来表示你用的是全局函数,否则,就会被认为是CButton类的成员函数....%i是格式字符,比如C语言中的printf()函数
    printf("我今年%d岁了",22) ;
    输出结果就是:我今年22岁了
    具体是什么意思,请查看c++相关书籍,很多八多的哦