BestAns

路漫漫其修远兮,吾将上下而求索

VC绘图/游戏简易教程--15:窗体句柄(Windows 编程入门) 铜牌收录

教程总目录:https://codebus.cn/bestans/post/concise-lesson-contents(里面包括VC下的graphics.h的配置方法)

EasyX 库有一个获取窗口句柄的功能,很是强大,这里介绍一下。

【窗体句柄】

窗体句柄是 Windows 下窗口的标识,可以理解为窗口的 ID。Windows SDK 中的许多窗口操作函数都需要指明窗体句柄,也就是说,有了句柄,我们可以通过 Windows SDK 中的 API 实现许多高级的窗体控制。

【函数原型】

窗体句柄为 HWND 类型,通过 GetHWnd() 函数可以返回绘图窗体的句柄。其函数原型是:
HWND GetHWnd();

【使用句柄】

举个例子,设置窗体标题文字的 Windows API 为:
BOOL SetWindowText(HWND hWnd, LPCTSTR lpString);
参数:
   hWnd: 要设置标题文字的窗口句柄
   lpString: 窗体的标题文字,是一个指向字符串的指针。
返回值:
    设置成功与否。

以下是设置窗体标题文字的完整范例:

#include <graphics.h>
#include <conio.h>

int main()
{
	initgraph(640, 480);

	// 获取窗口句柄
	HWND hwnd = GetHWnd();
	// 设置窗口标题文字
	SetWindowText(hwnd, L"Hello World!");

	_getch();
	closegraph();
	return 0;
}

更多的窗体控制函数,请参考 MSDN。

评论 (4) -

  • 谢谢教程帮助很大,我也终于发现一个小错误,,“hello world ”的前面要加一个大写L
    • 这篇博客 , 可能再给你一次帮助: https://blog.csdn.net/Zander0/article/details/116452035
      • 这篇介绍弹窗用法. https://www.cnblogs.com/EricNTH/p/12436248.html

        例如:
        HWND hnd = GetHWnd();
        MessageBox(hnd,"内容","弹窗标题",MB_OKCANCEL); //最后一项可以选择,还可以反馈值,功能强大
        exit(1);
    • 谢谢!以前的代码是针对 vc6 的,现在已经修改。

添加评论