判断MonthCalander中鼠标点中了日期还是翻页按钮!
来源:互联网 发布:加载页面时执行js 编辑:程序博客网 时间:2024/04/30 07:02
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自己的產品定位還不清, 還是只不過傳言有誤??
- 判断MonthCalander中鼠标点中了日期还是翻页按钮!
- cocos2d-lua,tableView中设置了按钮的不可吞噬性,但是还是吞噬了,点住按钮不能拖到tableView
- js中如何判断按钮是否被点击了
- 如何在onMouseDown事件中判断按下的是鼠标左键还是右键
- OpenGL中鼠标点取
- 图片轮播下获取鼠标点了哪个按钮
- js中判断鼠标按键
- JS中判断鼠标按键
- wpf中数据库表的翻页按钮的设计
- JS中判断鼠标按键判断
- JS中判断鼠标按键判断
- java中判断日期格式
- LINQ中判断日期时间段
- servlet中判断JSP中按钮问题
- 判断点在多边形中
- VC中CTreeCtrl控件单击事件,如何判断是单击的是某项的按钮,还是单击的文字
- 日期控件中添加关闭按钮
- VB6中判断用户是否按下了InputBox的取消按钮
- 一些常见的RuntimeException
- Spring中BeanFactory产生Bean的方法
- 完美主义
- DHTML的简单示例,动态改变页面
- 安装宽带
- 判断MonthCalander中鼠标点中了日期还是翻页按钮!
- eclipse 3.01已经发布
- about IE proxy
- Adversity 和 Advertise 的区别
- 谁是第六个常任理事国:美亲日排德 印前景光明
- 上海话大全,一起复习一下吧~!
- 流行词汇 对照表
- aix的技巧(网上搜寻的)
- 性能vs结构