在 C++ Windows API 中,在运行时调整窗口大小?

2024-04-10

当单击按钮时,如何在运行时调整全局 hwnd 变量的大小?

或者只是在运行时调整窗口大小的任何方法。 IE。

HWND hwnd; //global
int buttonid = 250; // an id for a button
//also global


int WINAPI wWinMain(/*blah blah blah */) {


//blah blah blah

hwnd = CreateWindowEx(
    0,
    L"WindowClass",
    L"Window",
    WS_OVERLAPPEDWINDOW,
    CW_USEDEFAULT, CW_USEDEFAULT,
    300, 275,
    NULL,
    NULL,
    hInstance,
    NULL
    );

    HWND mybutton = CreateWindow(
    L"BUTTON",
    L"Button",
    WS_VISIBLE | WS_CHILD | WS_TABSTOP,
    14, 13,
    250, 200,
    hwnd,
    (HMENU)buttonid,
    hInstance,
    NULL
    );

//blah blah blah

}


LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lparam) {

switch(uMsg) {

 case WM_COMMAND:
 if(buttonid==wParam) {
 //this is where i want the code for resizing hwnd so when you click the
 //button it resizes the window
 }



}

}

MoveWindow or SetWindowPos(尽管如果您想做的不仅仅是调整大小,后者更有用)。

在这两种情况下,您不仅可以指定左上角的位置,还可以指定右下角的位置,因此,如果您按原样保留左上角并移动右下角,则可以调整窗口大小而不“移动”它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 C++ Windows API 中,在运行时调整窗口大小? 的相关文章

  • CSS 填充高度的 100%。不同的浏览器尺寸

    我有一个侧边栏 蓝色 设置为向左浮动 我已将高度设置为 100 将 body 和 html 高度设置为 100 它工作正常 问题是 当浏览器小于内容窗格 div 红色 时 侧边栏的高度将变得与浏览器的高度相同 因此 如果我向下滚动 侧边栏比
  • Win32 检测窗口是否最大化/停靠到半屏(Win 键 + 向左/向右)

    我有一个经典的 Win32 API C 应用程序 需要检测窗口是否停靠在屏幕的左 右半部分 问题的背景是窗口的大小仅以网格为单位 假设为 32 像素 在全屏模式下 程序会检测到该状态 允许大小与全屏匹配并填充多余的空间 对于 Windows
  • 为什么 RegOpenKeyEx() 在 Vista 64 位上返回错误代码 2?

    我正在拨打以下电话 result RegOpenKeyEx key s 0 KEY READ key C Visual Studio 5 Vista 64 位 它失败并显示错误代码 2 找不到文件 即使 regedit 表明该密钥存在 此代
  • 为不存在的文件创建 IShellItem 实例

    我怎样才能获得外壳项目 http msdn microsoft com en us library bb761144 aspx不存在的文件 或目录 的对象 SHCreateItemFromParsingName http msdn micr
  • Presto SQL 窗口聚合回顾 x 小时/分钟/秒

    我想通过回顾 x 小时 分钟 秒前来对 presto sql 进行聚合 Data id timestamp status A 2018 01 01 03 00 00 GOOD A 2018 01 01 04 00 00 BAD A 2018
  • 从提升的进程正常执行进程

    是否有某种方法可以从提升的方式以非提升的方式启动流程 我的设置以提升的方式启动 当它完成时 它只会启动主应用程序 由于设置被提升 主进程也会被提升 这是不可取的 对此最好的解决方案是什么 这是一个问题 Vista Win7 似乎没有 API
  • 如何使用WinAPI识别光驱中的光盘类型?

    我正在编写一个适用于音频 CD 和混合 CD 的应用程序 我想要一种方法来确定应用程序使用的驱动器中当前是否存在音频或混合类型 至少有一个音轨 光盘 到目前为止 我能够通过以下方式识别该驱动器是CD ROMGetDriveType 然而 事
  • Delphi XE 和使用 OnKeyDown 捕获箭头键

    我希望我的表单能够处理箭头键 而且我可以做到 只要表单上没有按钮 为什么是这样 关键消息由接收这些消息的控件本身进行处理 这就是为什么当您使用按钮时表单不会接收消息 因此 通常您必须对这些控件进行子类化 但 VCL 足够友好地询问父子表单如
  • 将此 c-cast 更改为reinterpret_cast 是否安全?

    我正在尝试从我正在处理的某些代码中删除 c 风格的强制转换 并且我对唯一的替代方案感到担忧 原来的代码是 WPARAM param WPARAM GetDlgItem IDC WORKFLOW m hWnd this gt PostMess
  • 如何将参数传递给 DLL 初始化(例如,通过 LoadLibrary 加载时)?

    如何将参数传递给通过 LoadLibrary 加载的 DLL 的初始化函数 有可能吗 也就是说 无需求助于某种导出函数或共享内存 没有直接的方法 最简单的可能是通过环境变量 它们可以在调用之前轻松设置LoadLibray with sete
  • Zurb Foundation:如何在调整大小到较小的屏幕时使按钮变小?

    在 Zurb Foundation 4 中 是否有一种方法可以在浏览器尺寸调整得较小或在较小的屏幕上时自动切换到较小的按钮样式 例如 当屏幕是标准桌面屏幕时 请执行以下操作 a href class primary button Butto
  • 如何获取Windows 7中的“临时文件夹”?

    在 Windows 7 中 如何以编程方式获取系统临时文件夹 The 获取临时路径 http msdn microsoft com en us library windows desktop aa364992 28v vs 85 29 as
  • 如何在 Windows 10 上设置玻璃混合颜色?

    使用无证的SetWindowCompositionAttribute API http vhanla codigobit info 2015 07 enable windows 10 aero glass aka blur html在 Wi
  • 消息循环如何使用线程?

    我有点困惑 想知道我是否被误导了 在另一篇文章中 我被告知 只有当你显式创建新线程时才会创建它们 C 程序默认是单线程的 当我打开未在 ollydbg 中显式创建新线程的程序时 我多次注意到通常有 2 个线程在运行 我想了解消息循环如何在不
  • 使用 WinAPI 在 C# 中隐藏任务栏窗口

    相信我 我用谷歌搜索过它 并期望它是一个相当容易找到的东西 事实证明并非如此 我有窗把手 但没有表格 我该怎么做 谢谢 声明这些 DllImport user32 dll SetLastError true static extern in
  • Attachconsole的问题

    我需要使 Windows GUI 应用程序可以在控制台中运行 因此当使用命令行调用应用程序时 我将控制台附加到进程 但是 应用程序退出后 除非按 ENTER 键 否则不会显示带有路径的控制台提示符 有什么办法可以不按回车键直接显示路径提示吗
  • WPF调整大小完成

    所以我需要按程序生成网格的背景图像 只需要 0 1 秒 因此 我可以连接到 SizeChanged 事件 但是当您调整图表大小时 它会每秒触发该事件 30 次 因此调整大小事件会明显滞后 有谁知道连接到调整大小事件并测试天气是否已完成调整大
  • 反应光滑的幻灯片高度问题

    我无法让这些 React Slick 滑块组件达到相同的高度 它们都是响应式 div 并随着页面大小的变化相应地调整大小 但理想情况下 我希望左侧的 div 与右侧的 div 具有相同的高度 我使用下面的代码片段定义了 SimpleSlid
  • Windows EventLog:它的操作速度有多快?

    我有一个服务应用程序 它通过 TCP 处理客户端请求并将任何事件写入 Windows EventLog 由于该应用程序预计会在短时间内为许多客户端和每个客户端的大量请求提供服务 假设每秒 1 到 50 个请求 因此我很想知道密集程度 CPU
  • 如何使用嵌入的清单作为资源? (Windows XP/Vista 风格的控件)

    我有一个作为 Windows 资源嵌入的清单 但正确的应用方法是什么 进一步来说 我有我的 manifest 文件 这是使应用程序使用 Windows XP Vista 视觉样式中的控件的标准方法 当通过与 exe 位于同一目录并适当命名来

随机推荐