zoukankan      html  css  js  c++  java
  • NativeWindow_01

    1、

      “{$O-}”关闭优化

      “{$O-}”打开优化

    2、

    unit NativeWindow;
    
    interface
    
    uses
      Windows, Messages, SysUtils;
    
    procedure CreateWindow;
    
    implementation
    
    function ProcWindow(_hWnd :HWND;
                        _uMsg :UINT;
                        _wParam :WPARAM;
                        _lParam :LPARAM):longint;stdcall;
    var
      hDc1 :HDC;
      ps :PAINTSTRUCT;
    begin
      if (_uMsg = WM_LBUTTONUP) then
      begin
        MessageBox(0, 'Up', '1', 0);
      end
      else if (_uMsg = WM_PAINT) then
        begin
        hDc1 := BeginPaint(_hWnd, ps);
        TextOut(hDc1, 0, 0, 'ASDFG zxcvb', strlen('ASDFG zxcvb'));
        EndPaint(_hWnd, ps);
        Result := 0;
        Exit;
        end
      else if (_uMsg = WM_DESTROY) then
      begin
        DestroyWindow(_hwnd);
        PostQuitMessage(0);
      
        Result := 0;
        Exit;
      end;
      Result := DefWindowProc(_hWnd, _uMsg, _wParam, _lParam);
    end;
    
    {$O-}
    procedure CreateWindow;
    var wndcls :WNDCLASS;
        hInstance :THandle;
        hWnd1 :HWND;
        iErr :integer;
    begin
      hInstance := Windows.GetModuleHandle(nil);
    
      ZeroMemory(@wndcls, sizeof(wndcls));
        wndcls.cbClsExtra    := 0;
        wndcls.cbWndExtra    := 0;
        wndcls.hbrBackground := HBRUSH(GetStockObject(WHITE_BRUSH));    // 背景画刷
        wndcls.hCursor        := LoadCursor(0, IDC_CROSS);
        wndcls.hIcon        := LoadIcon(0, IDI_ERROR);    // 窗口图标
        wndcls.hInstance    := hInstance;
        wndcls.lpfnWndProc    := @ProcWindow;
        wndcls.lpszClassName:= 'zc20110929';
        wndcls.lpszMenuName := nil;
        wndcls.style        := CS_HREDRAW or CS_VREDRAW;
      RegisterClass(wndcls);
    
      hWnd1 := CreateWindowEx(
            WS_EX_CLIENTEDGE,
            wndcls.lpszClassName,
            'ZC Window',
            WS_OVERLAPPEDWINDOW,
            100, 100,
            400, 300,
            0,
            0, //g_hMenu,
            hInstance,
            0);
      if (hWnd1 = 0) then
        iErr := GetLastError;
    
    //    ShowWindow(hWnd1, SW_SHOWNORMAL);
        UpdateWindow(hWnd1);
    end;
    {$O+}
    
    end.

    3、

  • 相关阅读:
    C/C++动态链接
    通用makefile及解析(转)
    C指针
    C位处理
    C++重载操作符与转换
    吧唧下工作的事情 记用canvas封装的小小控件
    吧唧下工作的事情 平衡图控件
    银行卡验证正则
    element eltable和elpopover 最后一行的 elpopover 有时候点不开的问题
    'CONVERSION_EXIT_CUNIT_OUTPUT'(物料单位转换) SAP
  • 原文地址:https://www.cnblogs.com/CodeSkill/p/6099954.html
Copyright © 2011-2022 走看看