精华内容
下载资源
问答
  • 控制台下创建窗口和WinMain入口创建窗口简单程序

    控制台创建窗口(同时有控制台窗口和新创建的窗口)(项目类型:控制台应用程序)

    #include "windows.h"  
    #include "TCHAR.h"  
    
    LRESULT CALLBACK WindowProc(
    	HWND hwnd,
    	UINT uMsg,
    	WPARAM wParam,
    	LPARAM lParam
    	);
    
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	HINSTANCE hInstance;
    	hInstance = GetModuleHandle(NULL);
    	WNDCLASS Draw;
    	Draw.cbClsExtra = 0;
    	Draw.cbWndExtra = 0;
    	Draw.hCursor = LoadCursor(hInstance, IDC_ARROW);;
    	Draw.hIcon = LoadIcon(hInstance, IDI_APPLICATION);;
    	Draw.lpszMenuName = NULL;
    	Draw.style = CS_HREDRAW | CS_VREDRAW;
    	Draw.hbrBackground = (HBRUSH)COLOR_WINDOW;
    	Draw.lpfnWndProc = WindowProc;
    	Draw.lpszClassName = _T("DDraw");
    	Draw.hInstance = hInstance;
    
    
    	RegisterClass(&Draw);
    
    	HWND hwnd = CreateWindow(
    		_T("DDraw"),           //上面注册的类名,要完全一致    
    		L"绘制",  //窗口标题文字    
    		WS_OVERLAPPEDWINDOW, //窗口外观样式    
    		38,             //窗口相对于父级的X坐标    
    		20,             //窗口相对于父级的Y坐标    
    		640,                //窗口的宽度    
    		480,                //窗口的高度    
    		NULL,               //没有父窗口,为NULL    
    		NULL,               //没有菜单,为NULL    
    		hInstance,          //当前应用程序的实例句柄    
    		NULL);              //没有附加数据,为NULL    
    
    	// 显示窗口    
    	ShowWindow(hwnd, SW_SHOW);
    
    	// 更新窗口    
    	UpdateWindow(hwnd);
    
    	// 消息循环    
    	MSG msg;
    	while (GetMessage(&msg, NULL, 0, 0))
    	{
    		TranslateMessage(&msg);
    		DispatchMessage(&msg);
    	}
    }
    
    // 消息处理函数的实现  
    LRESULT CALLBACK WindowProc(
    	_In_  HWND hwnd,
    	_In_  UINT uMsg,
    	_In_  WPARAM wParam,
    	_In_  LPARAM lParam
    	)
    {
    	switch (uMsg)
    	{
    	case WM_DESTROY:
    	{
    					   PostQuitMessage(0);
    					   return 0;
    	}
    	}
    	return DefWindowProc(hwnd, uMsg, wParam, lParam);
    }


    WinMain入口下创建窗口(只有新创建的窗口)(项目类型:windows应用程序)

    #include <windows.h>
    #include "TCHAR.h" 
    #include <stdio.h>
    
    LRESULT CALLBACK WindowProc(
    	HWND hwnd,      // handle to window
    	UINT uMsg,      // message identifier
    	WPARAM wParam,  // first message parameter
    	LPARAM lParam   // second message parameter
    	);
    
    int WINAPI WinMain(
    	HINSTANCE hInstance,      // handle to current instance
    	HINSTANCE hPrevInstance,  // handle to previous instance
    	LPSTR lpCmdLine,          // command line
    	int nCmdShow              // show state
    	)
    {
    	WNDCLASS wndcls;
    	wndcls.cbClsExtra = 0;
    	wndcls.cbWndExtra = 0;
    	wndcls.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
    	wndcls.hCursor = LoadCursor(NULL, IDC_CROSS);
    	wndcls.hIcon = LoadIcon(NULL, IDI_ERROR);
    	wndcls.hInstance = hInstance;
    	wndcls.lpfnWndProc = WindowProc;
    	wndcls.lpszClassName = _T("Hello");
    	wndcls.lpszMenuName = NULL;
    	wndcls.style = CS_HREDRAW | CS_VREDRAW;
    	RegisterClass(&wndcls);
    
    	HWND hwnd;
    	hwnd = CreateWindow(_T("Hello"), L"World", WS_OVERLAPPEDWINDOW,
    		0, 0, 600, 400, NULL, NULL, hInstance, NULL);
    
    	ShowWindow(hwnd, SW_SHOWNORMAL);
    	UpdateWindow(hwnd);
    
    	MSG msg;
    	while (GetMessage(&msg, NULL, 0, 0))
    	{
    		TranslateMessage(&msg);
    		DispatchMessage(&msg);
    	}
    	return 0;
    }
    
    // 消息处理函数的实现  
    LRESULT CALLBACK WindowProc(
    	  HWND hwnd,
    	  UINT uMsg,
    	  WPARAM wParam,
    	  LPARAM lParam
    )
    {
    	switch (uMsg)
    	{
    	case WM_DESTROY:
    	{
    					   PostQuitMessage(0);
    					   return 0;
    	}
    	}
    	return DefWindowProc(hwnd, uMsg, wParam, lParam);
    }


    展开全文
  • opencv创建窗口

    千次阅读 2019-03-17 22:08:25
    #创建窗口 import cv2 img=cv2.imread('1.jpg',1) #第一个参数是窗口名称 #第二个参数是窗口模式 #0,初始化时自适应图片,但可改变大小 #1=cv2.WINDOW_NORMAL,窗口大小自适应图片,但用户不可改变 #2,初始化会...

    #创建窗口

    import cv2
    
    img=cv2.imread('1.jpg',1)
    
    #第一个参数是窗口名称
    #第二个参数是窗口模式
    #0,初始化时自适应图片,但可改变大小
    #1=cv2.WINDOW_NORMAL,窗口大小自适应图片,但用户不可改变
    #2,初始化会缩小图片,但可改变大小
    cv2.namedWindow('image', cv2.WINDOW_NORMAL)
    
    cv2.imshow('image',img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    
    展开全文
  • c++创建窗口程序

    千次阅读 2018-07-13 15:29:22
    转自https://blog.csdn.net/qq_32823595/article/details/79450832,先感谢一波~并在此...创建窗口4.显示及更新窗口#include &lt;windows.h&gt; //Windows编程的头文件 #include &lt;stdio.h&gt; ...

    转自https://blog.csdn.net/qq_32823595/article/details/79450832,先感谢一波~

    并在此基础上增加了自己的理解。

    创建一个完整的窗口程序需要四个步骤:
    1.设计一个窗口类
    2.注册窗口类
    3.创建窗口
    4.显示及更新窗口

    #include <windows.h>  //Windows编程的头文件
    #include <stdio.h>
    
    
    LRESULT CALLBACK WinSunProc(
    	HWND hwnd,  //handle to window 窗口的句柄
    	UINT uMsg,   //message identifier 消息标识符
    	WPARAM wParam,  //first message parameter 第一个消息参数
    	LPARAM lParam  //second message parameter 第二个消息参数
    );  //回调函数
    
    
    	//写程序的入口点函数
    int WINAPI WinMain(HINSTANCE hInstance,  //handle to current instance处理当前实例
    	HINSTANCE hPrevInstance,    //handle to previous instance处理上一个实例
    	LPSTR lpCmdLine,	//commannd line命令行
    	int nShowCmd)		 //show state显示状态,说明主应用程序窗口是最小化,最大化还是正常显示
    {
    	WNDCLASS wndcls;    //实例化
    	wndcls.cbClsExtra = 0;   //额外的类的附加字节数
    	wndcls.cbWndExtra = 0;   //窗口额外的附加字节数
    	//HGDIOBJ GetStockObject(int fnObject);检索预定义的备用笔、刷子、字体或者调色板的句柄
    	//BLACK_BRUSH 指黑色画刷
    	wndcls.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);  //背景颜色,GetStockObject()函数的返回值是一个HGDIOBJ格式的,强制转换成HBRUSH格式的赋值
    	//LoadCursor载入指定的光标类型
    	//原形:HCURSOR LoadCursor(HINSTANCE hlnstance,LPCTSTR lpCursorName);
    	//hlnstance标识一个模块事例,它的可执行文件包含要载入的光标,lpCursorName光标资源名
    	wndcls.hCursor = LoadCursor(NULL, IDC_CROSS);  //光标的类型 IDC_CROSS代表十字光标
    	// LoadIcon函数已经被LoadImage替代
    	wndcls.hIcon = LoadIcon(NULL, IDI_ERROR);   //图标
    	wndcls.hInstance = hInstance;              //应用程序的实例号
    	wndcls.lpfnWndProc = WinSunProc;       //窗口过程函数
    	wndcls.lpszClassName = "热爱游戏";  //类名
    	wndcls.lpszMenuName = NULL;   //菜单名
    	wndcls.style = CS_HREDRAW | CS_VREDRAW; //水平重画和垂直重画
    
    
    	RegisterClass(&wndcls);   //注册窗口类
    
    
    	HWND hwnd;   //实例化一个句柄
    	hwnd = CreateWindow("热爱游戏", "我喜欢玩儿游戏!!!", WS_OVERLAPPEDWINDOW, 0, 0, 600, 400, NULL, NULL, hInstance, NULL); //建立一个窗口
    
    	ShowWindow(hwnd, SW_SHOWNORMAL);   //显示窗口
    	UpdateWindow(hwnd);  //更新窗口
    
    	MSG msg;   //消息机制
    	while (GetMessage(&msg, NULL, 0, 0))    //消息循环
    	{
    		TranslateMessage(&msg);   //将传来的消息翻译
    		DispatchMessage(&msg);    //
    	}
    	return 0;
    }
    
    LRESULT CALLBACK WinSunProc(HWND hwnd,
    	UINT uMsg,
    	WPARAM wParam,
    	LPARAM lParam)
    {
    	switch (uMsg) {
    	case WM_CHAR:
    		char szChar[20];
    		sprintf_s(szChar, "char is %d", wParam);    //sprintf_s和sprintf的区别
    		MessageBox(hwnd, szChar, "游戏", 0);
    		break;
    	case WM_LBUTTONDOWN:
    		MessageBox(hwnd, "mouse clicked", "游戏", 0);
    		HDC hdc;
    		hdc = GetDC(hwnd);
    		TextOut(hdc, 0, 50, "我为游戏狂", strlen("我为游戏狂"));
    		ReleaseDC(hwnd, hdc);
    		break;
    	case WM_PAINT:
    		HDC hDC;
    		PAINTSTRUCT ps;
    		hDC = BeginPaint(hwnd, &ps);
    		TextOut(hDC, 0, 0, "我喜欢玩儿黑暗之魂3", strlen("我喜欢玩儿黑暗之魂3"));
    		EndPaint(hwnd, &ps);
    		break;
    	case WM_CLOSE:
    		if (IDYES == MessageBox(hwnd, "是否真的结束?", "游戏", MB_YESNO))
    		{
    			DestroyWindow(hwnd);  //销毁窗口
    		}
    		break;
    	case WM_DESTROY:
    		PostQuitMessage(0);
    		break;
    	default:
    		return DefWindowProc(hwnd, uMsg, wParam, lParam);
    
    
    	}
    	return 0;
    
    
    }
    


    展开全文
  • MFC创建窗口菜单

    千次阅读 2017-05-11 23:51:35
    MFC创建窗口菜单栏一. 创建窗口主要步骤:点击新建项目->MFC程序->修改名字路径后,点击确认->下一步->点击基于对话框->下一步下一步… 截图如下: 接下来就是一直点击下一步直至完成。点击运行即可发现窗口已经...

    MFC创建窗口菜单栏

    一. 创建窗口

    主要步骤:点击新建项目->MFC程序->修改名字路径后,点击确认->下一步->点击基于对话框->下一步下一步…
    截图如下:
    这里写图片描述

    这里写图片描述

    这里写图片描述

    接下来就是一直点击下一步直至完成。

    点击运行即可发现窗口已经建立:

    这里写图片描述

    二、现在来增加菜单(5个步骤):

    第一步:在资源视图中右键单击->添加资源->menu->新建,并命名ID为IDR_MENU1

    这里写图片描述

    这里写图片描述

    第二步:新建之后默认ID为IDR_MENU1;(若想要修改ID,可以找到属性栏(方法见下),之后双击ID,进行修改)

    这里写图片描述

    找属性栏:
    (1)、可以右击窗口点击属性

    这里写图片描述

    (2)点击刚才的新建的菜单资源即可看到菜单的相关属性(包括ID)

    这里写图片描述

    第三步:现在说如何插入刚才新建的菜单:找到窗口的属性(本例中为ID_MFCAPPLICATION1_DIALOG),找到menu,将值设置为刚才新建的菜单ID

    这里写图片描述

    第四步:然后设置自己的菜单项,并可以右击添加事件处理程序

    这里写图片描述

    这里写图片描述

    必须要选择正确类列表,此处为CMFCApplication1Dlg(否则得不到运行结果)

    这里写图片描述

    编辑代码:

    这里写图片描述

    第五步:运行之后点击设置事件的按钮,即可出现一个框。

    这里写图片描述

    展开全文
  • Windows编程-创建窗口

    千次阅读 2016-08-04 23:10:22
    创建窗口 显示更新窗口 消息循环 编写回调函数——————————帅气的分割线—————————– 下面我们一步一步进行讲解: 1.设计窗口类WNDCLASS我们查看MSDN可以知道窗口类的成员变量有哪些:typedef ...
  • OpenGL 中glfwCreateWindow() 函数无法创建窗口问题:在openGL 中使用 OpenGL 中glfwCreateWindow() 函数无法创建窗口; 解决方法:使用360自带的驱动大师升级显卡。
  • 用CDialogImpl创建窗口

    千次阅读 2014-06-05 17:38:47
    1、创建窗口使用模板对象CDialogImpl
  • Python tkinter教程-01:创建窗口

    千次阅读 多人点赞 2020-04-20 10:40:15
    Python tkinter教程-01:创建窗口 文章目录0 准备工作1 创建空白窗体2 窗口标题3 窗口大小与位置4 锁定窗口大小5 窗口图标6 隐藏与显示窗口其它 0 准备工作 要使用,先导入:import tkinter as tk导入名字叫tkinter...
  • Windows,C++编程创建窗口的过程详解

    万次阅读 2015-07-10 17:31:55
    Windows,C++编程,创建窗口的是个步骤详解
  • 最近用某系统急救箱,系统没有扫出问题倒是把SQL 2012 Management给搞坏了,提示无法创建窗口,度娘了半天都没有找到好的解决方案,无意中用系统自带 “兼容性疑难解答” 修复好了,,,...
  • d3d程序创建窗口失败的原因

    千次阅读 2018-09-04 08:16:08
    是用HWND窗口句柄创建窗口时,是用CreateWindow()函数,其中第一个参数对应你之前的 WNDCLASS类的类名,即 .lpszClassName=L"……" L与_T意义相同,只有填写对这个参数,才能找到对应的类完成窗口的创建...
  • 易语言可以用哪些命令拦截进程加载和创建窗口求大神们回答,API也行,我自己查就好
  • Java 创建窗口

    千次阅读 2018-07-30 16:26:31
    import javax.swing.*; public class Test extends JFrame { public Test() throws Exception ...窗口名字"); // 窗体布局设为空 this.setLayout(null); // 设置窗体显示位置和窗口大小 this.setBou...
  • C#动态创建窗口和创建事件,在新窗口添加控件和控件事件  话不多说送代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; ...
  • 文章目录七、实现步骤(十)创建窗口界面类1、创建主界面窗口MainFrame 七、实现步骤 (十)创建窗口界面类 在net.hw.student包里创建gui子包 在net.hw.student.gui包里创建三个类LoginFrame、RegisterFrame和...
  • 最近在学习windows程序设计的创建窗口这方面的知识,有一些收获,现在将我所学到的内容记录下来,供大家参考。 本例将做一个类似txt文档窗口,可以对用户的键盘输入打印到该窗口上,并且有菜单栏可以单击菜单栏中的...
  • Win32Exception 创建窗口句柄时出错

    千次阅读 2013-07-05 12:26:32
    场景:在窗口中有个TabControl,左侧有TreeView 选择TreeView中结点,Tabcontrol.Tabpages.Clear(); 然后新增tabpages 问题:每次新增tabpages,会增加300~400个user objects(windows...Win32Exception 创建窗口句柄
  • CWnd 直接创建窗口之教训

    千次阅读 2013-02-26 15:56:32
    以前的工程 如果我创建新窗口,窗口风格在资源文件里面已经定义了,因此没有任何问题,但是现在我并没有在资源文件里面指定窗口风格,因此创建窗口肯定失败,经过参考如下代码,创建正常。  RECT rect = {0, 0, ...
  • Pyside2 创建窗口 (Python GUI)– 在这篇Pyside2文章中,会演示如何创建窗口,学习本课之前请先看第一课《我们开始用Pyside2 (Qt For Python)》 Qt For Python (Pyside2) Qt for Python为Qt提供Python绑定,...
  • Win32创建窗口的过程

    千次阅读 2012-04-02 11:14:14
    创建窗口 注册窗口类(模板) 建立窗口 接下来的步骤是在已经注册的窗口类的基础上建立窗口,使用“类”的原因是定义窗口的“共性”,建立窗口时肯定还要指定窗口的很多“个性化”的参数。 和注册窗口类...
  • 创建窗口 如何将一幅图像显示在屏幕上,在之前的学习中我们多次用到了函数cvNamedWindow()函数来实现这个功能。来看一下这个函数的定义: int cvNamedWindow( const char* name, int flags=CV_WINDOW_AUTOSIZE )...
  • 比如: hwnd=CreateWindow(); 请问什么时候才会返回句柄值给hwnd? 即,在窗口过程里,执行哪些消息后,才会返回窗口句柄?
  • 创建窗口句柄时出错。

    千次阅读 2011-07-04 18:59:32
    A窗体启动B窗体,B窗体在启动前启动C窗体,报错“ 创建窗口句柄时出错。”将B窗体中 Form_Load中的代码 放到B窗体的构选函数里面就不报错了不解
  • java实现创建窗口

    千次阅读 2019-07-02 17:06:58
    this.setTitle("窗口测试"); //标题 this.setSize(250,300); //窗口大小 this.setLocation(200,300); //窗口出现的位置 this.setLayout(new FlowLayout()); //设置管理器 JButton bt=new JButton(...
  • WinForm 创建窗口句柄时出错

    千次阅读 2020-07-04 17:10:44
    今天遇到一个问题,见上图,控件是自己写的,不是标准的控件 在执行Controls.Add(control),出现上述问题。 问题的具体描述:根据条件设置移除和加入不同的控件,当前控件不满足条件时,将控件移除,然后加入新的...
  • 这时候报错,错误信息为:创建窗口句柄时出错。将程序运行在调试环境中,查看更详细的错误信息,错误截图如下:调用堆栈信息如下:2、寻找原因1我们的代码都是由SVN进行管理的,通过查找提交记录,发现出问题之前,...
  • 利用windowsAPI创建窗口

    千次阅读 2008-09-20 01:09:00
    /* * 说明:演示利用windowsAPI创建窗口的过程 * 开发环境:Visual C++ 6.0 * 时间:2008-9-19 */#include LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); // 窗口函数声明char szClassName[] = ...
  • 控制台程序创建窗口

    千次阅读 2018-06-07 09:18:43
    #include &lt;windows.h&gt; #include &lt;iostream&gt; const static char *szClass = "MyName"...//窗口过程 LRESULT CALLBACK __WndProc(HWND hWnd, UINT msg, WPARAM wPa...
  • 在ubuntu14.04.5 Qt5.6中使用opencv创建窗口显示摄像头时,报错: (:1103): Gtk-WARNING **: gtk_disable_setlocale() must be called before gtk_init() (:1103): GLib-CRITICAL **: Source ID 52 was not found ...
  • MFC代码创建窗口

    千次阅读 2016-11-21 20:04:11
    1、效果图: 2、创建基于对话框的项目 创建MFC的项目的向导中,选择基于对话框,其他默认即可。...通过类向导添加窗口类,继承与CWnd类添加的类CMyWnd继承CWnd类:4、在CMyWnd类的构造函数中,利用

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 969,842
精华内容 387,936
关键字:

创建窗口