国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

判斷MonthCalander中鼠標點中了日期還是翻頁按鈕!

2019-11-18 18:15:52
字體:
來源:轉載
供稿:網友

uses CommCtrl;

var OldWindowPRoc: TWndMethod;

procedure TForm1.MyWindowProc(var Msg: TMessage);
begin
  if Msg.Msg = CN_NOTIFY then
  begin
    case TWMNotify(msg).NMHdr.code of
      MCN_GETDAYSTATE: Memo1.Lines.Add('MCN_GETDAYSTATE');//點了翻頁
      MCN_SELECT, MCN_SELCHANGE: Memo1.Lines.Add('MCN_SELECT, MCN_SELCHANGE');//選中日期
     end;
  end;

  OldWindowProc(Msg);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  OldWindowProc := MonthCalendar1.WindowProc;
  MonthCalendar1.WindowProc := MyWindowProc;
end;

549的問題, 吃完飯看了下VCL的源碼, 應該可以! 不過, 點了翻頁按鈕也會觸發日期選中的消息的, 相反則不會!

同時還看到一個:

發布TDateTimePicker同時修改日期和時間的解決方案

type
  TCDateTimePicker = class(TDateTimePicker)
  private
    procedure CNNotify(var Message: TWMNotify); message CN_NOTIFY;
  end;

function IsBlankSysTime(const ST: TSystemTime): Boolean;
type
  TFast = array[0..3] of DWord;
begin
  Result := (TFast(ST)[0] or TFast(ST)[1] or TFast(ST)[2] or TFast(ST)[3]) = 0;
end;

procedure TCDateTimePicker.CNNotify(var Message: TWMNotify);
begin
  with Message, NMHdr^ do
  begin
    Result := 0;
    if (code = DTN_DATETIMECHANGE) and
      (PNMDateTimeChange(NMHdr)^.dwFlags = GDT_VALID) and (not DroppedDown) and
      (not (ShowCheckBox and IsBlankSysTime(PNMDateTimeChange(NMHdr)^.st))) then
       DateTime := SystemTimeToDateTime(PNMDateTimeChange(NMHdr)^.st);
  end;
  inherited;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  with TCDateTimePicker.Create(self) do
  begin
    Left := 100;
    Top := 100;
    Parent := Self;
    Format := 'yyyy-MM-dd hh:mm:ss';
    Visible := true;
  end;
end;

可以按上下鍵直接修改, 不錯! 不過要改到可以下拉面板也有時間選擇, 可能難一點!

btw: kylix 又說有新的clx要發布, 有點亂, 不是說停止開發了嗎?? 還有BCB, BCBX的新聞也有點亂, 是borland自己的產品定位還不清, 還是只不過傳言有誤??


上一篇:用hook實現dll注入詳解

下一篇:網絡函數庫

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

主站蜘蛛池模板: 乐亭县| 尚义县| 资阳市| 台湾省| 华亭县| 百色市| 澄迈县| 寻甸| 仪征市| 巢湖市| 桂阳县| 施甸县| 双城市| 山丹县| 青海省| 和静县| 阳高县| 温宿县| 静安区| 菏泽市| 尼勒克县| 息烽县| 桦甸市| 清涧县| 大方县| 平罗县| 镇平县| 涞水县| 尚志市| 开江县| 崇仁县| 互助| 芒康县| 嵩明县| 准格尔旗| 潜江市| 勃利县| 广水市| 玉林市| 金溪县| 凭祥市|