导航:首页 > 编程语言 > vc窗体应用程序

vc窗体应用程序

发布时间:2021-03-08 06:42:38

① 如何用C语言开发窗体应用程序。。

  1. 生产窗体可以使用函数。
    函数功能:该函数创建一个具有扩展风格的层叠式窗口、弹出式窗口或子窗口,其他与CreateWindow函数相同。
    函数原型:
    CreateWindowEx函数创建一个层叠的,自动弹出的(pop-up)或是一个子窗口通过扩展格式。另外这个函数的作用与CreateWindow函数的作用相同。要获得更多的关于创建窗口的信息和关于CreateWindowEx函数参数的详细描述。参见CreateWindow

    HWND CreateWindowEx(
    DWOR DdwExStyle, //窗口的扩展风格
    LPCTSTR lpClassName, //指向注册类名的指针
    LPCTSTR lpWindowName, //指向窗口名称的指针
    DWORD dwStyle, //窗口风格
    int x, //窗口的水平位置
    int y, //窗口的垂直位置
    int nWidth, //窗口的宽度
    int nHeight, //窗口的高度
    HWND hWndParent, //父窗口的句柄
    HMENU hMenu, //菜单的句柄或是子窗口的标识符
    HINSTANCE hInstance, //应用程序实例的句柄
    LPVOID lpParam //指向窗口的创建数据
    );

  2. 例程:

    include<windows.h>
    #include<stdio.h>
    LRESULTCALLBACKWinDouProc(
    HWNDhwnd,//handletowindow
    UINTuMsg,//messageidentifier
    WPARAMwParam,//firstmessageparameter
    LPARAMlParam//secondmessageparameter
    );
    classCWnd
    {
    public:
    CWnd()
    {
    m_hWnd=NULL;
    }
    BOOLCreateEx(
    DWORDdwExStyle,//extendedwindowstyle
    LPCTSTRlpClassName,//pointertoregisteredclassname
    LPCTSTRlpWindowName,//pointertowindowname
    DWORDdwStyle,//windowstyle
    intx,//horizontalpositionofwindow
    inty,//verticalpositionofwindow
    intnWidth,//windowwidth
    intnHeight,//windowheight
    HWNDhWndParent,//handletoparentorownerwindow
    HMENUhMenu,//handletomenuorchild-windowidentifier
    HANDLEhInstance,//handletoapplicationinstance
    LPVOIDlpParam//pointertowindow-creationdata
    );
    BOOLShowWindow(intnCmdShow);
    BOOLUpdateWindow();
    public:
    HWNDm_hWnd;
    };
    BOOLCWnd::CreateEx(
    DWORDdwExStyle,//extendedwindowstyle
    LPCTSTRlpClassName,//pointertoregisteredclassname
    LPCTSTRlpWindowName,//pointertowindowname
    DWORDdwStyle,//windowstyle
    intx,//horizontalpositionofwindow
    inty,//verticalpositionofwindow
    intnWidth,//windowwidth
    intnHeight,//windowheight
    HWNDhWndParent,//handletoparentorownerwindow
    HMENUhMenu,//handletomenuorchild-windowidentifier
    HANDLEhInstance,//handletoapplicationinstance
    LPVOIDlpParam//pointertowindow-creationdata
    )
    {
    m_hWnd=::CreateWindowEx(dwExStyle,lpClassName,lpWindowName,dwStyle,x,y,nWidth,nHeight,hWndParent,hMenu,(HINSTANCE)hInstance,lpParam);
    if(m_hWnd!=NULL)
    returnTRUE;
    else
    returnFALSE;
    }
    BOOLCWnd::ShowWindow(intnCmdShow)
    {
    return::ShowWindow(m_hWnd,nCmdShow);
    }
    BOOLCWnd::UpdateWindow()
    {
    return::UpdateWindow(m_hWnd);
    }
    intWINAPIWinMain(
    HINSTANCEhInstance,//handletocurrentinstance
    HINSTANCEhPrevInstance,//handletopreviousinstance
    LPSTRlpCmdLine,//pointertocommandline
    intnCmdShow//showstateofwindow
    )
    {
    WNDCLASSwndclass;//先设计窗口类
    wndclass.cbClsExtra=0;
    wndclass.cbWndExtra=0;
    wndclass.hbrBackground=(HBRUSH)GetStockObject(DKGRAY_BRUSH);
    wndclass.hCursor=LoadCursor(NULL,IDC_HELP);
    wndclass.hIcon=LoadIcon(NULL,IDI_WARNING);
    wndclass.hInstance=hInstance;
    wndclass.lpfnWndProc=WinDouProc;
    wndclass.lpszClassName="Magic_Maggie";
    wndclass.lpszMenuName=0;
    wndclass.style=CS_VREDRAW|CS_HREDRAW;
    //某一个变量原油几个变量去掉一个特征,可以用取反(~)后再进行与(&)
    //例如:style上去掉CS_NOCLOSE,可以style&~CS_NOCLOSE;
    RegisterClass(&wndclass);///注意先建立再注册昂
    CWndwnd;
    wnd.CreateEx(NULL,"Magic_Maggie","DouDou",WS_OVERLAPPEDWINDOW,0,0,800,600,NULL,NULL,hInstance,NULL);
    wnd.ShowWindow(SW_SHOWNORMAL);
    wnd.UpdateWindow();
    MSGmsg;//消息循环
    while(GetMessage(&msg,NULL,0,0))
    {
    TranslateMessage(&msg);
    DispatchMessage(&msg);//触发WinDouProc
    }
    return0;
    }


    LRESULTCALLBACKWinDouProc(
    HWNDhwnd,//handletowindow
    UINTuMsg,//messageidentifier
    WPARAMwParam,//firstmessageparameter
    LPARAMlParam//secondmessageparameter
    )
    {
    switch(uMsg)
    {
    caseWM_LBUTTONDOWN:
    MessageBox(hwnd,"您按下了鼠标左键昂","豆豆的程序",MB_OK);
    HDChdc;
    hdc=GetDC(hwnd);
    //.text.
    TextOut(hdc,0,0,"感谢您对豆豆程序的支持昂",strlen("感谢您对豆豆程序的支持昂"));
    ReleaseDC(hwnd,hdc);
    break;

    caseWM_CHAR:
    charszChar[20];
    sprintf(szChar,"Charis%d",wParam);
    MessageBox(hwnd,szChar,"豆豆的程序",MB_OK);
    break;

    caseWM_PAINT:
    PAINTSTRUCTps;
    HDChDc;
    hDc=BeginPaint(hwnd,&ps);
    TextOut(hDc,0,0,"这个是重绘滴哦",strlen("这个是重绘滴哦"));
    EndPaint(hwnd,&ps);
    break;

    caseWM_CLOSE://这个case与下边的destroy这个case不要弄错了,否则窗口不出现,但任务管理器中运行
    if(IDYES==MessageBox(hwnd,"您真的要退出么?","豆豆的程序",MB_YESNO))
    {
    DestroyWindow(hwnd);
    }
    break;

    caseWM_DESTROY:
    PostQuitMessage(0);
    //////////////////////////////////////////?????????????????????
    break;

    default:
    returnDefWindowProc(hwnd,uMsg,wParam,lParam);//别忘记了return

    }
    return0;
    }

② windows窗体应用程序和MFC有什么区别

MFC才可以做到真正做到可视化(visual)。VC6.0貌似没有窗口程序的吧。Visual
Studio才有的。不过是用了回.net技术,应答该是VC++.NET。
VC6.0有的是Win32应用程序,这个就是基本用代码写的Win32程序,灵活,可以清晰的了解Windows程序的运行方式。

③ VC++ windows窗体程序

vc下面的picture控件是吧?
它的属性里面有选项,在里面选择类型为BITMAP,再选择位图的专id就好了
如果用代码实属现的话,
你看看这儿吧
http://apps.hi..com/share/detail/32232749

④ visual studio 里的VC++中有两个可以创建的项目:MFC 应用程序与WINDOWS Forms即窗体应用程序 之间的不同

你说的没错,MFC是不基于.net的,而WinForm是基于.net的。
用MFC开发的程序经过简单的设置(设版置为静态连权接),其release版本就可以脱离开发环境成为一个绿色软件。而WinForm则不然,它的release版本的软件需要开发时设置的对应版本及以上版本的.net运行库的支持才能运行。当然也可以用一些软件构建一个虚拟的.net环境,以前的飞信就是这么做的,可以利用飞信的虚拟环境来将你的WinForm程序(release版本)脱离Windows的.net来运行,但这样软件包会变的非常大(约大20M左右)。当然,vista和win7都已经在系统安装时集成了.net,所以xp以上的系统不必考虑.net的支持。
其实MFC是基于visual C++语言的开发,而WinForm是基于托管C++的开发,也就是说WinForm程序开发可以简单认为是通常所说的CLI或者是C++/CLR。
WinForm用C#语言来开发比较方便。

⑤ 怎样用VC++开发多文档多窗体应用程序

就是建一个工程抄:
打开VC++,执行“文件”——“新建”命令,单击“Win32 Console Application”选项后,在“工程”文本框中输入“prog10_1”,在“位置”中选择“c:\programming”后,“位置”文本框中即显示“c:\programming\prog10_1”.选择“创建新工作区”选项,单击“确定”按钮后,在选择“An empty project”选项,即建立了一个工程。
添加源程序:
执行“工程”——'添加工程"命令,在file中选择prog10_1.cpp,并以同样方式选择prog10_1_2.cpp和prog10_1_3.cpp后,就将三个源文件全部添加到了工程中。在左侧窗口中单击"File view"选项卡,再单击"Source File",此时双击某个源文件名,在右侧窗口中即显示相应的源程序。

⑥ 怎样用VC++开发多文档多窗体应用程序

文章摘要: 多窗体指应用程序中有多个窗口界面,这些窗口分别显示在专屏幕上,它们之属间没有绝对的从属关系。在多窗体中每个单独的窗体都依照应用功能分类进行设计,这样可以使整个程序的功能更加协调,相互之间的逻辑关系更具体。在用Delphi、VB开发数据库应用时,常常使用这种方法,那么在VC中如何实现呢?其实在VC中不仅能创建多窗体程序,而且也可建立多窗体多菜单的应用程序。 (共2页)

⑦ VC++中有了MFC应用程序为什么还有windows窗体应用程序(区别)

winform 是基复于托管c++的,编程效率高,开制发程序简单方便,但需要.net支持。且计算机开机后首次运行需要.net支持的程序时需要加载.net运行库,启动速度较慢。
MFC在进行设置后就可以生成只需要windows xp以下系统自带的动态库就可以运行了,相当于绿色软件。

⑧ 怎样用vc++编写一个窗口应用程序

1、首先设计好界面。

⑨ VC++中windows窗口程序和MFC应用程序有什么区别

这是两种不同的编程方法。
编 Windows 窗口程序,消息的处理等很多事情得你自己考虑。但回是你很清楚程序的走向。
MFC 编程答是微软将 windows 的 API 进行了一定程度的封装。编程时,很多事情不用你自己去考虑。调用 MFC 的函数就可以了。但是想深入了解 MFC,还是很难的。
如果侧重快速开发应用,那就 MFC 吧。如果想深入了解 windows 的机制,还是 windows 窗口程序。

⑩ 编写VS2010中的VC++下面的windows窗体应用程序,需要看些什么资料

我又来了。。。 你是指VS2010中VC++的Windows窗体应用程序吗? 如果是,那: 在void InitializeComponent(void)函数中添加如专下语句(或者直接在窗体事件属里选Paint事件): this->Paint += gcnew System::Windows::Forms::PaintEventHandler(this, ...

阅读全文

与vc窗体应用程序相关的资料

热点内容
网络中常用的传输介质 浏览:518
文件如何使用 浏览:322
同步推密码找回 浏览:865
乐高怎么才能用电脑编程序 浏览:65
本机qq文件为什么找不到 浏览:264
安卓qq空间免升级 浏览:490
linux如何删除模块驱动程序 浏览:193
at89c51c程序 浏览:329
怎么创建word大纲文件 浏览:622
袅袅朗诵文件生成器 浏览:626
1054件文件是多少gb 浏览:371
高州禁养区内能养猪多少头的文件 浏览:927
win8ico文件 浏览:949
仁和数控怎么编程 浏览:381
项目文件夹图片 浏览:87
怎么在东芝电视安装app 浏览:954
plc显示数字怎么编程 浏览:439
如何辨别假网站 浏览:711
宽带用别人的账号密码 浏览:556
新app如何占有市场 浏览:42

友情链接