捐赠 | 广告 | 注册 | 发布 | 上传 | 关于我们    
  沪ICP备05001939号 DELPHI盒子 | 盒子论坛 | 盒子文章 | 盒子问答悬赏 | 最新更新 | 论坛检索 | 下载中心 | 高级搜索    
  精品专区 | 繁體中文 | 奖励公告栏 | 直通车账号登陆 | 关闭GOOGLE广告 | 临时留言    
盒子资源分类
全部展开 - 全部合拢
MonthPanel 公历、农历控件 (源码)
关键字:MonthPanel 公历 农历 日期
来 自:原创
平 台:Win9x,Win2k/NT,WinXP 下载所需:0 火柴
深浅度:中级 完成时间:2003/10/21
发布者:cnsandboy 发布时间:2003/11/22
编辑器:DELPHI6 语  种:简体中文
分 类:日期与时间 下载浏览:919/13915
加入到我的收藏
下载错误报错
登陆以后才能下载
 用户名:
 密 码:
自动登陆(30天有效)
图片如果打不开,说明流量不够了,请稍候下载……
    我发现如果使用chinesedate函数通过公历取得农历速度很慢,显示一个月大概要1秒钟,如果我一起显示12个月的就要十几秒钟,所以后来除春节外默认不显示农历,但可通过右键设置。

    有问题联系我,改进后也情联系我,多谢:
    cnsandboy@yahoo.com tech@gisun.com
                                         2003-11
Google
 
本站原创作品,未经作者许可,严禁任何方式转载;转载作品,如果侵犯了您的权益,请联系我们
龙脉加密锁 15元起 Grid++Report 报表 申请支付@网
 相关文章
MonthPanel 公历、农历控件 修正版 (源码)
cnsandboy 2004/2/2 下+2098/浏+18845 评+27
MonthPanel 公历、农历控件 (源码)
cnsandboy 2003/11/22 下+919/浏+13916 评+12
相关评论
共有评论12条 当前显示最后6条评论
flyzerg 2003/12/1 21:17:40
真不好意思!但是我确实是将ah_def.inc与MonthPanel.dpk,
                         uMonthPanel.pas,uAHMath.pas
等文件放在一个目录下!但还是出现以上问题......????请问是
什么原因????
rocket 2003/12/7 8:33:05
有沒有調用的例子程序源碼?
謝謝﹗
cnsandboy 2003/12/8 22:29:47
unit SandLisaCalenderFrm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, uMonthPanel, Buttons, Menus, WAppExt, AppEvnts,DateUtils;

type
  TSandLisaCalender = class(TForm)
    MonthPanel1: TMonthPanel;
    WAppExt1: TWAppExt;
    PopupMenu1: TPopupMenu;
    X1: TMenuItem;
    D1: TMenuItem;
    PopupMenu2: TPopupMenu;
    H1: TMenuItem;
    X2: TMenuItem;
    ApplicationEvents1: TApplicationEvents;
    T1: TMenuItem;
    N1: TMenuItem;
    procedure FormCreate(Sender: TObject);
    procedure X1Click(Sender: TObject);
    procedure D1Click(Sender: TObject);
    procedure WAppExt1TrayDbclick(Sender: TObject);
    procedure H1Click(Sender: TObject);
    procedure MonthPanel1CaptionDBClick(Sender: TObject);
    procedure ApplicationEvents1Message(var Msg: tagMSG;
      var Handled: Boolean);
    procedure T1Click(Sender: TObject);
  private
//    procedure WMNCHITTEST(VAR M:TWMNCHITTEST); message wm_nchittest;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  SandLisaCalender: TSandLisaCalender;

implementation
function ExCalcCursorPos(AControl:TControl): TPoint;
begin
  GetCursorPos(Result);
  Result := AControl.ScreenToClient(Result);
end;

{$R *.dfm}

procedure TSandLisaCalender.FormCreate(Sender: TObject);
begin
  MonthPanel1.MonthPanelDate := Now;
  MonthPanel1.Left := 0;
  MonthPanel1.Top := 0;
  Self.Width := MonthPanel1.Width;
  Self.Height := MonthPanel1.Height+14;
end;

procedure TSandLisaCalender.X1Click(Sender: TObject);
begin
  Close;
end;

procedure TSandLisaCalender.D1Click(Sender: TObject);
begin

  Show;
end;

procedure TSandLisaCalender.WAppExt1TrayDbclick(Sender: TObject);
begin

  Show;

end;

procedure TSandLisaCalender.H1Click(Sender: TObject);
begin
  Hide;
end;

procedure TSandLisaCalender.MonthPanel1CaptionDBClick(Sender: TObject);
begin
  Hide;

end;

{
procedure TSandLisaCalender.WMNCHITTEST(var M: TWMNCHITTEST);
begin

end;
}
procedure TSandLisaCalender.ApplicationEvents1Message(var Msg: tagMSG;
  var Handled: Boolean);
var
  PPoint:TPoint;
begin
{如果鼠标左键按下的话}
  if Msg.message=WM_LButtonDown then
  begin
  {判断光标是否在用户工作区内}
    if DefWindowProc(Handle,WM_NCHitTest,0,GetMessagePos)=HTClient then
    begin
      {发出鼠标在用户标题栏内被按下的消息}
      PPoint := ExCalcCursorPos(Self);
      if (PPoint.Y < MonthPanel1.MonthCaptionHeight) and (PPoint.X >17) and (PPoint.X<340) then
      begin
        SendMessage(Handle,WM_NCLButtonDown,HTCaption,GetMessagePos);
        Handled := true;
      end;
      {消息处理完毕,窗体不再接受MouseDown及Click事件,如果为false,程序的运行稍微有些不正常。}
    end;
  end;

end;

procedure TSandLisaCalender.T1Click(Sender: TObject);
begin
  (Sender as TMenuItem).Checked := not (Sender as TMenuItem).Checked;
  if (Sender as TMenuItem).Checked then
    Self.FormStyle := fsStayOnTop
  else
    Self.FormStyle := fsNormal;
end;

end.
rocket 2003/12/9 13:36:36
謝謝﹗
nihaoqiang 2004/11/15 12:56:59
显示一个月不用每一天都调用chinesedate函数吧?计算出一个后,其他的在这个基础上应该容易计算了吧,用不了一秒吧?
cnsandboy 2004/11/15 14:10:55
对,而且我也想过计算出来的都存到本地文件中,下次直接载入就好了,也不用那么久
我要发表评论 查看全部评论
 
  DELPHI盒子版权所有 1999-2023 V4.01 粤ICP备10103342号-1 更新RSS列表