zoukankan      html  css  js  c++  java
  • Windoows窗口程序四

    子窗口的创建
    1.创建时要设置父窗口句柄
    2.创建风格要增加WS_CHILD|WS_VISIBLE
    
    HWND CreateChild(LPSTR lpClassName,LPSTR lpWndName,HWND hParent)
    {
        return CreateWindowEx(0,lpClassName,lpWndName
        ,WS_CHILD|WS_VISIBLE|WS_OVERLAPPEDWINDOW,
        100,100,200,300,hParent,NULL,g_hInstance,NULL);
    }
    //改变窗口位置大小
    BOOL WINAPI MoveWindow(
      HWND hWnd,//窗口句柄--CreateWindow的返回值
      int  X,//横坐标
      int  Y,//纵坐标
      int  nWidth,//
      int  nHeight,//
      BOOL bRepaint//重绘标识(true表示擦除原来绘制的窗口,flase表示不擦除原来绘制的窗口)
    );
    窗口类和窗口的附加数据(RegisterClassEx类)
    int cbClsExtra;//窗口类的附加数据缓冲区的大小(推荐4的整数倍)
    int cbWndExtra;//窗口的附加数据缓冲区的大小(推荐4的整数倍)
    可以提供窗口类和窗口存放自己的数据的空间
    cbClsExtra属性的读写函数
    DWORD SetClassLong(
      HWND hWnd,//窗口句柄
      int  nIndex,//字节索引号(索引号以字节为单位,0表示从第0个字节开始存放数据)
      LONG dwNewLong//存入的数据(注意数据是4个字节插入的,索引应该每次后移4个字节)
    );
    DWORD WINAPI GetClassLong(
      HWND hWnd,//窗口句柄
      int  nIndex//字节索引号
    );//返回值接收读取的数据
    cbWndExtra属性的读写函数
    LONG WINAPI SetWindowLong(
      HWND hWnd,//窗口句柄
      int  nIndex,//字节索引号
      LONG dwNewLong//存入的数据
    );
    
    LONG WINAPI GetWindowLong(
      _In_ HWND hWnd,//窗口句柄
      _In_ int  nIndex//字节索引号
    );
    窗口类附加数据缓冲区是所有基于该窗口类创建的窗口共享的缓冲区(相当于类的静态成员)
    窗口附加数据缓冲区是窗口自己私有缓冲区(相当于类普通成员)
  • 相关阅读:
    在Arch上使用Fcitx5
    博客园图片居中
    冒泡排序算法
    检查字符串是否包含另一串字符串(c++)
    辗转相除法(求最大公约数或最小公倍数)
    二叉树等总结
    应用jfinal发送微信模板消息的一个bug
    线程中wait/notify/notifyAll的用法
    应用jfinal时要注意区分Db.query和Db.find
    从源码角度简单看StringBuilder和StringBuffer的异同
  • 原文地址:https://www.cnblogs.com/zhanggaofeng/p/6725065.html
Copyright © 2011-2022 走看看