• delphi 通过windows api 创建窗体


    {Register the Window class}
    function RegisterClassMeth: Boolean;
    var
      WindowClass: TWndClass;
    begin
      {setup our new window class}
      WindowClass.style := CS_HREDRAW or CS_VREDRAW; {set the class styles}
      WindowClass.lpfnWndProc := @DefWindowProc;     {point to the default window procedure}
      WindowClass.cbClsExtra := 0;                   {no extra class memory}
      WindowClass.cbWndExtra := 0;                   {no extra window memory}
      WindowClass.hInstance := HInstance;            {the application instance}
      WindowClass.hIcon := 0;                        {no icon specified}
      WindowClass.hCursor := 0;                      {no cursor specified}
      WindowClass.hbrBackground := COLOR_WINDOW;     {use a predefined color}
      WindowClass.lpszMenuName := nil;               {no memu}
      WindowClass.lpszClassName := 'TestClass';      {the registered class name}
    
      {now that we have our class set up,register it with the system}
      Result := Winapi.Windows.RegisterClass(WindowClass) <> 0;
    end;
    
    procedure TForm12.Button3Click(Sender: TObject);
    var
      hWindow: HWND;
    begin
      {Step 1: Register our new window class}
      if not RegisterClassMeth() then
      begin
        ShowMessage('RegisterClass failed!');
        Exit;
      end;
    
      {Step 2: Create a window based on our new class}
      hWindow := CreateWindowEx(0,      {no extend styles}
                                'TestClass',    {the registered class name}
                                'New Window',   {the title bar text}
                                WS_OVERLAPPEDWINDOW, {a normal window style}
                                CW_USEDEFAULT,     {default horizontal position}
                                CW_USEDEFAULT,     {default vertical position}
                                CW_USEDEFAULT,     {default width}
                                CW_USEDEFAULT,     {default height}
                                0,                 {no owner window}
                                0,                 {no menu}
                                hInstance,         {the application instance}
                                nil                {no additional information}
                                );
    
      {Step 3: If our window was created successfully,display it}
      if hWindow <> 0 then
      begin
        ShowWindow(hWindow,SW_SHOWNORMAL);
        UpdateWindow(hWindow);
      end
      else
      begin
        ShowMessage('CreateWindow');
        Exit;
      end;
    
    end;
  • 相关阅读:
    docker-compose 命令不存在
    linux安装rabbitmq ssm集成rabbitmq
    tomcat参数错误 服务器400
    无限极分内 自联查询
    图片移入变大 点击图片切换 点击按钮显示图片
    js正则表达式基本书写
    随鼠标移动
    输入电话号码
    添加新句子
    窗口的弹出与关闭
  • 原文地址:https://www.cnblogs.com/yangxuming/p/9229523.html
Copyright © 2020-2023  润新知