实时搜索: mfc如何使用

mfc如何使用

608条评论 2994人喜欢 5253次阅读 953人点赞
如何利用api(那什么地球提供api)如何将右边地球界面加入到我自己设计的界面中去啊,网上有人已经实现了,比如说GetScreen软件,希望牛人能帮帮我~~~~~小弟在线等~~~
备注:可能是因为屏蔽吧,之前提问的问题都没有显示,所以这次我没说这是什么软件,不过看图片肯定能看出来,谢谢了
最好能给出几句关键代码~~~ , 能说具体点么?比如我要用的代理IP是202.168.13.2 端口是8080,我要用这个代理访问百度,并把百度首页的源码读取出来,能把完整的源码写出来么? , 有VC++6.0做 , 上下功夫一一些单位   ...

如何在MFC中调用COM: 要先注册组件,在开始-》运行中用regsvr32.exe来注册组件。
CVideoPlayWnd这个看起来像是一个控件,应该用类似
CVideoPlayWnd *s = new CVideoPlayWnd ;
s->Create(.....)创建控件
然后CoInitialize(NULL)在BOOL CXXApp::InitInstance()中调用。
CoUninitialize();可以不调用

在MFC中如何定义全局变量?如何引用它?: 用MFC制作的工程由很多文件构成,它不能象一般C++程序那样随意在类外定义全局变量,在这里要想定义能被工程内多个文件共享的全局变量和函数必须用一些特殊方法才行。实际上有多种方法可以实现,这里只介绍两种方法。

一、在应用程序类中定义

  用MFC生成的工程中都有一个名为CxxxApp的类,它派生于CWinApp类。这个类主要进行程序的初始化,生成文档、视图对象等工作。我们可以把需要全局访问的变量和函数定义为这个类的成员变量和成员函数,就可以实现全局访问了。

  从严格意义上讲,这种变量和函数并不是全局的,因为它仍然只是类中的成员,只是由于我们很容易获得CxxxApp类的指针,所以我们可以在文档、视图、对话框以及各种自定义类中访问到它们,达到与全局变量类似的效果。访问时用函数“AfxGetApp()”获得CxxxApp类的指针,用“AfxGetApp()->成员”访问变量或函数。

  例:

  Test.h:(应用程序类头文件)

class CTestApp : public CWinApp
{
  public:
   int x; //全局变量
   int f(int y); //全局函数
   …………
};
  Test.cpp:(应用程序类程序文件)

int CTestApp::f(int y) //全局函数定义
{
  y++;
  return y;
}
  定义在CTestApp类中的变量和函数可以在其它类中被访问。比如在视图的某函数中要访问变量x和函数f():

void CTestView::xyz()
{
  CTestApp *app = (CTestApp *)AfxGetApp(); //生成指向应用程序类的指针
  app->x = 0; //访问变量x
  int z = app->f(1); //访问函数f()
  …………
}
  这样,变量x和函数f()可以视作为全局的。

  用这种方法实现的全局变量和全局函数虽比较简单,但也有缺点,一是访问不太方便,每次都需要获取应用程序类的指针;再就是把一些与应用程序类本身无关的变量和函数放在里面,使这个类看上去怪怪的,破坏了类的封装。

  二、用静态变量和静态函数实现

  很喜欢API函数的那种调用方法,不论在哪个类中只要用“::API函数”就可以调用了。合理利用静态类型(static)可以实现与此相似的全局变量和全局函数。

  静态变量和静态函数有如下性质:

  若在一个类中用关键字static声明数据成员,则这个数据成员就只存在一个拷贝,无论该类创建了多少个实例,它始终只存在一个,即使该类的实例一个也没创建,它也存在。

  若在一个类中用关键字static声明函数,该函数可以用“类名::函数名”方式访问,无需引用该类的实例,甚至这个类的实例可以不存在。

  利用这个性质实现的全局变量和函数使用起来很方便。

  值得注意的是,全局变量和全局函数最好集中封装,不要在文档、视图等类内部定义,这样用起来才有全局的感觉。

  例:

  1、添加一个没有基类的新类,设类名起为CPublic,姑且称之为公用类

  单击“Insert”菜单下的“New Class”命令,选择“Class type”为“Generic Class”,在“Name”栏中填入类名“CPublic”,单击“OK”,则新类建立完毕。

  2、包含公用类的头文件,使各个类都能访问它

  CPublic的头文件应包含在应用程序类的头文件中,这样在其它类中引用CPublic类时就不需要再包含了。

  Test.h:(应用程序类头文件)

#include "Public.h" //包含公用类头文件

class CTestApp : public CWinApp
{
…………
};
  3、在公用类中定义全局变量和全局函数,均使用static修饰,静态变量还必须在类外定义和初始化

  Public.h:(公用类头文件)

class CPublic
{
public:
CPublic();
virtual ~CPublic();

public:
static int x; //全局变量
static int time; //全局变量
static int f(int y); //全局函数
…………
}
  在公用类中对静态变量进行初始化和定义函数体:

  Public.cpp:(公用类程序文件)

int CPublic::x = 0; //初始化全局变量
int CPublic::time; //定义全局变量

CPublic::CPublic()
{

}

CPublic::~CPublic()
{

}

int CPublic::f(int y) //全局函数,这里不要再加static
{
y++;
return y;
}
  4、全局量的使用

  使用变量:CPublic::变量名

  使用函数:CPublic::函数()

  如在视图的某函数中访问变量x和函数f():

void CTestView::xyz()
{
CPublic::x = 0; //访问变量x
CPublic::time = CPublic::f(1); //访问函数f()
…………
}
  在其它类中访问x、time和f()的方法与此相同。

  5、几点注意:

  ① 由于静态量可独立于类存在,不需要生成CPublic类的实例。

  ② 静态数据成员的定义和初始化必须在类外进行,如例中x的初始化;变量time虽然没有初始化,但也必须在类外进行定义。由于没有生成CPublic类的实例,所以它的构造函数和析构函数都不会被执行,在里面做什么工作都没有什么意义。

  ③ 如果静态函数需要访问CPublic类内的变量,这些变量也必须为静态的。因为非静态量在不生成实例时都不会存在。 如:

class CPublic
{
public:
int x; //内部变量
static int f(int y) //全局函数
{
x++;
return x;
};
…………
};
  这里x虽为类内成员,但如果不生成CPublic类的实例,就会出现函数f()存在,而变量x不存在的问题。

  总之,用没有实例的类管理全局量是一个不错的选择,它具有集中管理,使用方便的好处。当然,除非特别必要,全局量还是少用为好,一个好的编程者决不会随意滥用全局量的,一个封装做得不好的程序,在修改维护时会让你吃足苦头。

怎样用MFC做一个图形界面程序: 给你个最最简单的MFC程序。你可以打开2005 新建win32 程序 建立空项目 然后编写如下代码//hello.cpp

#include <afxwin.h>

// 说明应用程序类
class CHelloApp : public CWinApp
{
  public:    
   virtual BOOL InitInstance();
};

// 建立应用程序类的实例
CHelloApp HelloApp;

// 说明主窗口类
class CHelloWindow : public CFrameWnd
{
  CStatic* cs;
  public:
    CHelloWindow();
};

// 每当应用程序首次执行时都要调用的初始化函数
BOOL CHelloApp::InitInstance()
{
  m_pMainWnd = new CHelloWindow();
  m_pMainWnd->ShowWindow(m_nCmdShow);
  m_pMainWnd->UpdateWindow();
  return TRUE;
}

// 窗口类的构造函数
CHelloWindow::CHelloWindow()
{
  // 建立窗口本身
  Create(NULL,
      "Hello World!",
      WS_OVERLAPPEDWINDOW,
      CRect(0,0,200,200));

  // 建立静态标签
  cs = new CStatic();
  cs->Create("hello world",
        WS_CHILD|WS_VISIBLE|SS_CENTER,
        CRect(50,80,150,150),
        this);
} 这样就出来了。
http://www.xici.net/b304234/d17269213.htm 你可以看这篇文章,非常好的入门文章

MFC如何调用API: 你说说让你的窗口显示这个地球吧。用CBitmap类建立一个位图对象,用BitBlt在窗口的OnPaint函数中输出即可。

如何在mfc中CInternetSession使用代理访问HTTP: //设置代理
//参数分别为:代理服务器地址,端口号,用户名,密码
//用到的变量说明:
//sess为CInternetSession变量
//pConnect为CHttpConnection变量
//pFile 为CHttpFile变量
int TMTNHTTPProtocol::SetProxy(char* proxyAddr, char* proxyPort, char* proxyUser, char* proxyPassword)
{
char tmp[1024];
INTERNET_PROXY_INFO proxyinfo;

try
{
memset(tmp, 0, 1024);
proxyinfo.dwAccessType = INTERNET_OPEN_TYPE_PROXY;
strcat(tmp , proxyAddr);
strcat(tmp , ":");
strcat(tmp , proxyPort);
proxyinfo.lpszProxy = tmp;
proxyinfo.lpszProxyBypass = NULL;

if (! sess.SetOption(INTERNET_OPTION_PROXY, (LPVOID)&proxyinfo, sizeof(INTERNET_PROXY_INFO)))
{
return 0;
}

pConnect = sess.GetHttpConnection("www.baidu.com", INTERNET_FLAG_NO_AUTO_REDIRECT, 80);

pFile = pConnect->OpenRequest(CHttpConnection::HTTP_VERB_POST, pUrl);

if (!pFile->SetOption(INTERNET_OPTION_PROXY_USERNAME, proxyUser, strlen(proxyUser) + 1))
{
return 0;
}

if (!pFile->SetOption(INTERNET_OPTION_PROXY_PASSWORD, proxyPassword, strlen(proxyPassword) + 1))
{
return 0;
}

return 1;
}
catch(...)
{
return 0;
}

}

MFC 如何使用SQL语句向ODBC添加数据: cSet.Open();
cSet.AddNew();
cSet.m_Name = imDlg.m_strName;
cSet.m_Shape = imDlg.m_intShape;
cSet.Update();
cSet.Requery();
cSet.Close();

在MFC里如何用菜单命令实现两个FormView: 创建分割视图-在新建工程的第四步,advanced选项里面选择use splitter window,第五步选择windows explore(可选项,建议选上),在CMainFrame的OnCreateClient函数里面,选择自己的类,这些类是要自己去创建的,要基于FormView。可以左右都是FormView。要实现菜单命令切换功能也很简单,只是我前不久也发过个问题,居然没人回答~。这里跟你共享一下代码:
voidCMainFrame::OnChangeView1()
{
m_wndSplitter.DeleteView(0,1);
m_wndSplitter.CreateView(0,1,
RUNTIME_CLASS(CFomr1View),
CSize(0,0),
NULL);
m_wndSplitter.RecalcLayout();
}
切换别的视图,将它所在的类在上面函数中替换即可。

提示:这些视图要自己去创建,并将他们的类基于FormView即可。

MFC中若将文本框绑定变量的类型置为CEdit,那么如何使用啊?:

CEdit  m_edit; 变量类型 定义的变量

要控制edit框,首先就要知道文本框的ID,自己重新起名字比较好,然后在控件上点击右键添加变量变量名自己定,类别为contril。

然后自己搜有关mfc的函数

比如,获取edit中的文本用 GetDlgItemText(int id, cstring str)

edit id号和存放文本的字符串

  • mate9为什么这么贵

    人力资源总监的现状分析: 理论上与发达国家或地区的实践上,人力资源总监应是高层员工、高级管理人员,因为他要参与到各种决策、调配人员的管理事务中,属于组织的核心成员。 国内企业普遍将其放到了中层管理人员的位置上,这本身就是人力资源管理依然滞留在...

    633条评论 2048人喜欢 5939次阅读 821人点赞
  • dota2 lol 哪个好玩

    如何成为一名优秀的人力资源总监:   1、对上,人力资源总监要成为zd老板的老师,向老板推销自己科学的人力资源管理理念、方法、人力资源战略构想,取得决策层对自己工作的支持——此为传道。  2、对下,人力资源总监应该成为员工的老师,向员工传达讲解公司的...

    633条评论 2697人喜欢 5699次阅读 877人点赞
  • dnf武极泽斯是谁

    人力资源总监由什么人担任?: 近几年公司规模不断扩大,随着人员的不断增加,公司的职能部门也开始出现,尤其是人力资源部门是我一直都很重视的。之前的人力资源总监一直都是由市场部的负责人来兼任,现在我想聘请一个拥有人力资源知识背景的专业人士担任,不知道...

    817条评论 6321人喜欢 5887次阅读 825人点赞
  • .风干牛肉怎样做

    一个运行良好的人力资源部是怎样的: 团结、紧张、严肃、活泼、有序、快乐是一个良好人力资源部的环境和工作标准。具体是标准明确,责任分明,考核清晨,奖罚分明,关爱有加。职责:1.1 负责制订企业年度及中长期人力资源规划;1.2 负责建立和完善公司劳动、人事...

    625条评论 2269人喜欢 5885次阅读 753人点赞
  • 2018多少周

    1,你如何理解人力资源战略与规划?:   人力资源战略是根据组织的发展战略、目标来以及组织内外环境变化,对组织人员的供需状况进行预测,并制定相应的管理政策与措施,为企业提供符合质量和数量要求的人力资源,以保证组织目标顺利实现的管理过程。自  人力资源规划...

    990条评论 5559人喜欢 5954次阅读 508人点赞