永发信息网

怎么用c语言写窗体程序

答案:1  悬赏:60  手机版
解决时间 2021-03-04 05:20
怎么用c语言写窗体程序
最佳答案
步骤:
1、注册窗口类;
2、创建窗体;
3、消息循环;
4、编写窗口消息处理函数。
代码:



#include <windows.h>
#include<tchar.h>
LRESULT CALLBACK WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
int WINAPI _tWinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR szCmdLine, int nCmdShow)
{
    WNDCLASS wc;
    wc.style = CS_HREDRAW | CS_VREDRAW;
    wc.lpfnWndProc = WindowProc;
    wc.cbClsExtra = 0;
    wc.cbWndExtra = 0;
    wc.hInstance = hInstance;
    wc.hIcon = NULL;
    wc.hCursor = LoadCursor(NULL,IDC_ARROW);
    wc.hbrBackground = (HBRUSH)COLOR_WINDOW;//(HBRUSH)GetStockObject();
    wc.lpszMenuName = NULL;
    wc.lpszClassName = _T("MyWindowClass");
    if (!RegisterClass(&wc))
    {
        MessageBox (NULL, _T("无法注册窗口类"), _T("错误"), MB_OK);
        return 0 ;
    }
    HWND newWindow = CreateWindow(
                                        _T("MyWindowClass"),
                                        _T("我的第一个winapi程序"),
                                        WS_OVERLAPPEDWINDOW,
                                        0,
                                        0,
                                        CW_USEDEFAULT,
                                        CW_USEDEFAULT,
                                        NULL,
                                        NULL,
                                        hInstance,
                                        NULL
                                    );
    if (NULL == newWindow)
    {
        MessageBox (NULL, _T("无法创建窗体"), _T("错误"), MB_OK);
        return 0;
    }
    ShowWindow(newWindow, nCmdShow);
    UpdateWindow(newWindow);
    MSG msg;
    while(GetMessage(&msg, NULL, 0, 0))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
}
    LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
    {
        switch (uMsg)
        {
            case WM_DESTROY:
            {
                PostQuitMessage(0);
                break;
            }
            default :
                return DefWindowProc(hwnd, uMsg, wParam, lParam);
        }
        return 0;
    }   

就是一个只有标题栏、关闭按钮、最小化按钮、最大化/还原按钮、显示区域的窗体。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
九牧王五金扶绥形象店地址有知道的么?有点事
耳是人体的重要感觉器官,听觉是人们获取信息
SQL2005生日类型的约束里面默认为当前日期的
白土湾地址有知道的么?有点事想过去
guess鞋一般价格多少
这个体最终怎么解啊,,,求大神学霸来助我一
欧洲通货与欧元的区别
尧华宴席厅我想知道这个在什么地方
如何培养幼儿的记忆力
8.我国研发的嫦娥一号探月卫星沿椭圆轨道运行
我是英雄联盟新手,完成了新手任务。为什么显
关于抗震设防烈度为6度、7度地区烧结普通砖砌
诱惑美甲美瞳NO.3在哪里啊,我有事要去这个地
如何惩罚一个男人
施耐德哪个国家的
推荐资讯
日语的塔喔给什么意思,还有五路赛什么意思
对运行中的连锁保护系统进行维修时,应注意哪
圣斗士涉及的希腊神话故事
娃娃音唱歌 本人不算很娃娃音。。就是拿麦唱
典范英语皮皮公主全文及翻译
花园小区-东一门在哪里啊,我有事要去这个地
洪云楼酒家在什么地方啊,我要过去处理事情
疏通厕所一般多少钱
北京市房山区人事考试中心地址在什么地方,想
新的苹果手机解锁密码忘记了
辉奕商行地址在哪,我要去那里办事
爱品客蛋糕坊(三分店)地址在哪,我要去那里办
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?