#include<windows.h>

#include<tchar.h>

LRESULT CALLBACK WndProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam)        //消息处理函数

{

switch(umsg)

{

case WM_CLOSE:

{    ::DestroyWindow(hwnd);   }

break;

case WM_DESTROY:

{     :: PostQuitMessage(0);         }

return 0;

}

return DefWindowProc(hwnd,umsg,wParam,lParam); //返回默认的消息处理函数

}

int WINAPI _tWinMain(IN HINSTANCE hInstance ,IN HINSTANCE hPrevInstance ,IN LPTSTR szCmdLine ,IN int iCmdShow )

{

static TCHAR pszClassName[]=_T("IT Wnd");

//创建窗口  WNDCLASS wxce;

wxce.style = CS_HREDRAW | CS_VREDRAW ;  //窗口的风格  wxce.lpfnWndProc =WndProc;             //消息处理,需要消息处理函数WndProc的名字  wxce.cbClsExtra = 0 ;                   wxce.cbWndExtra = 0;  wxce.hInstance   = hInstance;           //窗口的实例句柄

wxce.hIcon   = (HICON)::LoadIcon(NULL,IDI_APPLICATION);        //窗口的的光标

//wxce.hIconSn= (HICON)::LoadIcon(NULL,IDI_APPLICATION);

wxce.hCursor = (HCURSOR)::LoadCursor(NULL,IDC_ARROW);         //鼠标指针  wxce.hbrBackground = (HBRUSH)::GetStockObject(WHITE_BRUSH);    //背景颜色  wxce.lpszMenuName = NULL;                                     //菜单句柄,本例中没有用到菜单  wxce.lpszClassName = pszClassName;                             //窗口名称

//注册窗口  if(!RegisterClass(&wxce))  {   ::MessageBox(NULL,_T("注册窗口失败"),pszClassName,0);   return FALSE;  }

//创建窗口

HWND hwnd = ::CreateWindow(pszClassName,                             //窗口类名

_T("IT学吧"),                            //窗口标题

WS_VISIBLE|WS_OVERLAPPEDWINDOW,          //窗口风格,或称窗口格式

CW_USEDEFAULT,                           //初始x坐标,这里的初始坐标都设定为默认的

CW_USEDEFAULT,                          //初始Y坐标

CW_USEDEFAULT,                            //初始X方向尺寸,这里也设为默认的

CW_USEDEFAULT,                            //初始Y方向尺寸

NULL,                                     //父窗口句柄

NULL,                                     //窗口菜单句柄

hInstance,                                 //程序实例句柄         NULL   );                                 //创建参数

if(NULL==hwnd)

{

::MessageBox(NULL,_T("创建窗口失败"),pszClassName,0);

return FALSE;

}

::ShowWindow(hwnd,iCmdShow);           //显示窗口

::UpdateWindow(hwnd);                 //更新窗口

MSG msg;  while (::GetMessage(&msg,NULL,NULL,NULL))

{   ::TranslateMessage(&msg);

::DispatchMessage(&msg);

}

return true;

}

简单的windows窗口创建实例的更多相关文章

  1. java最简单的知识之创建一个简单的windows窗口,利用Frame类

    作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 QQ986945193 微博:http://weibo.com/mcxiaobing 首先给大家看一下 ...

  2. 深入解析Windows窗口创建和消息分发(三个核心问题:怎么将不同的窗口过程勾到一起,将不同的hwnd消息分发给对应的CWnd类去处理,CWnd如何简单有效的去处理消息,由浅入深,非常清楚) good

    笔记:争取不用看下面的内容,只看自己的笔记,就能记住这个流程,就算明白了: _tWinMain-->AfxWinMain,它调用四个函数: -->AfxWinInit用于做一些框架的初始化 ...

  3. WIN32 API ------ 最简单的Windows窗口封装类

    1 开发语言抉择 1.1 关于开发Win32 程序的语言选择 C还是C++ 在决定抛弃MFC,而使用纯Win32 API 开发Window桌面程序之后,还存在一个语言的选择,这就是是否使用C++.C+ ...

  4. Windows窗口创建的具体步骤

    /*实现窗口创建的六步骤:第一步:创建入口函数WinMain第二步:注册窗口类第三部:实现回调函数的功能第四步:显示窗口第五步:更新窗口第六步:消息循环*/ #include "stdafx ...

  5. C#的简单的Windows Service 创建与安装

    注意事项: 1. 添加调试代码 入口: 服务: 2. 再服务界面右键添加安装程序 3. 修改安装程序属性(Account) 4. 修改服务安装属性(DelayedAutoStart,ServiceNa ...

  6. Windows窗口的创建

    Windows窗口创建的基本代码: #include <Windows.h> LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); i ...

  7. 深入解析Windows窗体创建和消息分发

    Windows GUI採用基于事件驱动的编程模型,其实差点儿全部的界面库都是这样做的.在纯粹的Window32 SDK编程时代.人们还能够搞懂整个Windows窗口创建和消息的流通过程.可是在如今各种 ...

  8. Git - git bash 在 windows 下创建软连接

    1. 概述 使用 git bash 在 windows 下创建软连接 或者叫 快捷方式 感谢 Tony 老师的帮助 Tony 的技术笔记 Windows 使用 ln -s 创建软链接 2. 问题 需求 ...

  9. win32 api Windows窗口的创建

    windows窗口的创建有以下几个步骤: 1.创建注册窗口类 2.创建窗口句柄 3.显示更新窗口 4.消息循环 1.创建注册窗口类 所谓创建窗口类就是定义一个WNDCLASS类对象,并将该对象进行初始 ...

随机推荐

  1. 39.css3----button按钮点击时出现蓝色边框

    css控制Button 按钮的点击时候出现蓝色边框http://www.inbeijing.org/archives/1139 Button 按钮的点击时候出现蓝色边框的问题 添加css属性,这样在点 ...

  2. C#窗体控件DataGridView常用设置

    在默认情况下,datagridview的显示效果: 1.禁用最后一行空白. 默认情况下,最后一行空白表示自动新增行,对于需要在控件中进行编辑,可以保留 ? 1 dataGridView1.AllowU ...

  3. caffe运行训练脚本时报错:Unknown bottom blob 'data' (layer 'conv1',bottom index 0)

    报错的两种报错原因: 1.输入数的路径错误,需要将路径进行修改排查目录是否出错 2.训练原数据格式不对 3.train.prototxt文件中并未设置test层,而在solver层则设置了test的迭 ...

  4. unity之复制文本到剪贴板

    代码如下: static void CopyString(string str) { TextEditor te = new TextEditor(); te.text = str; te.Selec ...

  5. SVN windows内修改日志内容(错误解决)

    在我的电脑是windows 7,使用TortoiseSVN客户端,选中代码目录,点击右键,选择<显示日志> 显示日志信息 修改原来的日志信息(在需要修改的版本的日志中点击鼠标右键,显示如下 ...

  6. DX9 空间坐标变换示例代码

    // @time 2012.3.25 // @author jadeshu #include <Windows.h> #include <d3d9.h> #include &l ...

  7. [1]windows 内核情景分析---说明

    本文说明:这一系列文章(笔记)是在看雪里面下载word文档,现转帖出来,希望更多的人能看到并分享,感谢原作者的分享精神. 说明 本文结合<Windows内核情景分析>(毛德操著).< ...

  8. MyEclipse10中文乱码

    1 进入window->preferences general->content types,可以设置Text对应的default encoding值为UTF-8或为空,然后点击updat ...

  9. Sitecore CMS中的项目如何配置帮助文本

    如何在Sitecore CMS中的项目上配置帮助文本. 所有Sitecore项目都有长短描述字段,以及“帮助链接”字段.这些字段有助于向内容编辑者提供其他信息.这对于很少编辑的项目和字段尤其重要,因为 ...

  10. C# WPF Halcon HDevEngine混合编程

    1. WPF+Halcon 引用halcondotnet.dll和hdevenginedotnet.dll XAML中导入命名空间xmlns:halcon=”clr-namespace:HalconD ...