转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> Delphi程序 >> 正文
簡單的Windows API示例         ★★★★

簡單的Windows API示例

作者:闵涛 文章来源:闵涛的学习笔记 点击数:2286 更新时间:2009/4/23 18:36:55
p;     EndDialog(HndAbout, 1);
        Exit;
      end;
  end;
  Result := False;
end;

function WndProc(HndWnd: HWND; AMsg, WParam, LParam: LongInt): LongInt; stdcall;
var
  AMessage: TMessage;
begin
  AMessage.Msg := AMsg;
  AMessage.WParam := WParam;
  AMessage.LParam := LParam;
  AMessage.Result := 0;

  case AMsg of
    WM_PAINT:         OnPaint(HndWnd, TWMPaint(AMessage));
    WM_CHAR:          OnChar(HndWnd, TWMChar(AMessage));
    WM_SYSKEYDOWN:    OnSysKeyDown(HndWnd, TWMSysKeyDown(AMessage));
    WM_KEYDOWN:       OnKeyDown(HndWnd, TWMKeyDown(AMessage));
    WM_MOUSEMOVE:     OnMouseMove(HndWnd, TWMMouseMove(AMessage));
    WM_LBUTTONDBLCLK: OnDblClk(HndWnd, TWMLButtonDblClk(AMessage));

    WM_COMMAND:
      if WParam = cm_About then
      begin
        DialogBox(HInstance, ''''AboutDialog'''', HndWnd, @WndAbout);
        Result := DefWindowProc(HndWnd, AMsg, WParam, LParam);
        Exit;
      end;

    WM_DESTROY:       PostQuitMessage(WM_QUIT);
    else begin
      Result := DefWindowProc(HndWnd, AMsg, WParam, LParam);
      Exit;
    end;
  end;
  Result := AMessage.Result;
end;

function RegisterInstance: Boolean;
var
  AWndCls: TWndClass;
begin
  AWndCls.style := CS_VREDRAW or CS_HREDRAW or CS_DBLCLKS;
  AWndCls.lpfnWndProc := @WndProc;
  AWndCls.cbClsExtra := 0;
  AWndCls.cbWndExtra := 0;
  AWndCls.hInstance := HInstance;
  AWndCls.hIcon := LoadIcon(0, IDI_WINLOGO);
  AWndCls.hCursor := LoadCursor(0, IDC_ARROW);
  AWndCls.hbrBackground := HBrush(Color_Window);
  AWndCls.lpszMenuName := ''''WndMenu'''';
  AWndCls.lpszClassName := sCLS_NAME;

  Result := RegisterClass(AWndCls) <> 0;
end;

function CreateInstance: THandle;
var
  AHnd: THandle;
begin
  AHnd := CreateWindow(sCLS_NAME, sMSG_TITLE, WS_OVERLAPPEDWINDOW, nSYS_X,
nSYS_Y,
                         nWIDTH, nHEIGHT, 0, 0, HInstance, nil);
  if AHnd <> 0 then
  begin
    ShowWindow(AHnd, SW_SHOW );
    UpdateWindow(AHnd);
  end;

  Result := AHnd;
end;


var
  AMsg: TMsg;
begin
  if not RegisterInstance then
  begin
    MessageBox(0, sERR_REGISTER, nil, MB_OK);
    Exit;
  end;

  if CreateInstance = 0 then
  begin
    MessageBox(0, sERR_CREAT, nil, MB_OK);
    Exit;
  end;

  while GetMessage(AMsg, 0, 0, 0) do
  begin
    TranslateMessage(AMsg);
    DispatchMessage(AMsg);
  end;
end.

上一页  [1] [2] 


[VB.NET程序]Auto Complete combo Box(VB.NET Source Use API…  [VB.NET程序]在 VB 中使用 Unicode API
[VB.NET程序]API 更改系统菜单条目  [VB.NET程序]在VB中调用Windows API的注意事项
[VB.NET程序]vb调用winInet API接口post数据到指定的url  [VB.NET程序]如 何 用 API 播 放 CD
[VB.NET程序]VB5.0与Windows API 间的呼叫技巧  [VB.NET程序]在VB6中用WINDOWS API函数读写INI文件
[VB.NET程序]Visual Basic调用Windows API函数的应用举例  [VB.NET程序]VB + API 获取 IE 的 代理服务器 配制
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台