鱼C论坛

 找回密码
 立即注册

Delphi创建API窗口

已有 649 次阅读2015-5-11 21:32 |个人分类:Delphi

{$R *.dfm}
//注册窗口类
function RegClass:Boolean;
var
  WindowClass:TWndClass;
begin
  //设置新窗口类
  WindowClass.style:= CS_HREDRAW or CS_VREDRAW; //设置类风格
  WindowClass.lpfnWndProc:=@DefWindowProc; //指向默认窗口过程的指针
  WindowClass.cbClsExtra:=0; //没有额外的类信息
  WindowClass.cbWndExtra:=0; //没有额外的窗口信息
  WindowClass.hInstance:=hInstance;//程序实例句柄
  WindowClass.hIcon:=0;       //没有图标
  WindowClass.hCursor:=0;     //没有光标
  WindowClass.hbrBackground:=COLOR_WINDOW; //使用预定义颜色
  WindowClass.lpszMenuName:=nil;           //没有菜单
  WindowClass.lpszClassName:='WindowClass';   //注册的类名称
  //类设置完成,注册该类
  Result:=Windows.RegisterClass(WindowClass)<>0;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
  hWindow:HWND;
begin
  if not RegClass then       //注册新的窗口类
  begin
    ShowMessage('RegisterClass Failed');     //条件是不成功则弹出这个提示
    Exit;
  end;
  //开始建立新的窗口
  hWindow:=CreateWindowEx(0,                    //扩展风格(无)
                          'WindowClass',        //注册的类名
                          'API Window For Delphi By:Ebloke',         //窗口标题
                          WS_OVERLAPPEDWINDOW,  //通用窗口风格
                          CW_USEDEFAULT,        //默认水平位置
                          CW_USEDEFAULT,        //默认垂直位置
                          CW_USEDEFAULT,        //默认宽度
                          CW_USEDEFAULT,        //默认高度
                          0,                    //主窗口(无)
                          0,                    //菜单(无)
                          hInstance,            //程序实例句柄
                          nil);
  if hWindow<>0 then   //如果窗口建立成功   显示窗口
  begin
    ShowWindow(hWindow,SW_SHOWNORMAL);
    UpdateWindow(hWindow);
  end
  else
  begin
    ShowMessage('CreateWindow failed');    //建立失败 返回提示!
    Exit;
  end;
end;
end.


路过

鸡蛋

鲜花

握手

雷人

全部作者的其他最新日志

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-27 03:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

返回顶部