zoukankan      html  css  js  c++  java
  • 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;
  • 相关阅读:
    利用同步辅助类CountDownLatch计算多线程的运行时间
    i++的原子性问题
    Volatile关键字以及线程的内存可见性问题
    创建线程的第三种方式以及简单使用
    java8新特性-lambda表达式和stream API的简单使用
    springboot整合activemq
    springboot整合redis单机及集群
    JAVA-基础(一)
    CentOS-文件操作
    理解AngularJS的作用域Scope
  • 原文地址:https://www.cnblogs.com/yangxuming/p/9229523.html
Copyright © 2011-2022 走看看