Chinaunix首页 | 论坛 | 博客
  • 博客访问: 8603735
  • 博文数量: 1413
  • 博客积分: 11128
  • 博客等级: 上将
  • 技术积分: 14685
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-13 10:03
个人简介

follow my heart...

文章分类

全部博文(1413)

文章存档

2013年(1)

2012年(5)

2011年(45)

2010年(176)

2009年(148)

2008年(190)

2007年(293)

2006年(555)

分类:

2006-09-07 15:20:11

开始学习delphix了,这样一个好的库,自然还得一个一个来,我依附于一些好的例子,开始step by step进行学习,当然,希望在学习过程当中,大家也follow me,共同进步。
例子一:
结果:在directx表面显示时间,随时间的走动,时间文字也发生改变。
环境:delphi7+delphix+winxpsp2
控件:TDxDraw,TDxTime
1、设置控件属性(略),dxdraw设为640*480*16
2、对dxdraw进行初始化:
在dxdraw的onInitialize事件中,加入:
DXTimer.Enabled := True;//使dxtimer可用
3、dxdraw中结束
在dxdraw的onFinalize事件中加入:
DXTimer.Enabled := False;
4、现在要显示时间了,在dxtime的time事件中加入:
  if not DXDraw.CanDraw then exit;//dxdraw是否可绘图
    DXDraw.Surface.Fill(0);//dxdraw表面清空
    //在dxdraw的表面绘图-绘制时间文字
    with DXDraw.Surface.Canvas do
  begin
    Brush.Style := bsClear;
    Font.Color := clWhite;
    Font.Size := 30;
    Textout(30, 30, DateTimeToStr(Now));
        Release; {  Indispensability  }
  end;
  //dxdraw表面绘完图后,对dxdraw进行翻页操作。
    DXDraw.Flip;
5、在窗体的keydown事件中加入代码,控制窗体的关闭以及全屏与否:
{  Application end  }
  //关闭
  if Key=VK_ESCAPE then
    Close;
    //全屏模式切换
  {  Screen mode change  }
  if (ssAlt in Shift) and (Key=VK_RETURN) then
  begin
    DXDraw.Finalize;

    if doFullScreen in DXDraw.Options then
    begin
      RestoreWindow;

      DXDraw.Cursor := crDefault;
      BorderStyle := bsSizeable;
      DXDraw.Options := DXDraw.Options - [doFullScreen];
    end else
    begin
      StoreWindow;

      DXDraw.Cursor := crNone;
      BorderStyle := bsNone;
      DXDraw.Options := DXDraw.Options + [doFullScreen];
    end;

    DXDraw.Initialize;
  end;
6、结束
这是一个非常简单的delphix示例,但是却为我们展示了他的一个小小的框架。在下一节中,我们会加深一点了。
阅读(1976) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~