请哪位大虾帮帮忙,我是一个小小菜鸟,真的不知该怎么办?问题上午提出来没人回答,也许你们认为太简单,不屑于回答,可是我真的不知道,请各位帮帮忙,花点时间拉我一把。不好意思,有个问题麻烦大家给我帮助。
我刚作了一个小软件,在判断程序是否需要保存时遇到了一个问题,对于键盘输入采用Keypress事件就可以了,但是对于鼠标右键进行复制粘贴时怎么进行判断呢?文本框关于鼠标的事件只有三个:mouseup、mousedown和mousemove,另外就是鼠标单击和双击。mouseup、mousedown只要一点就会执行,mousemove只要鼠标放上去就会执行,我采用mousemove,通过判断内容是否改变来执行,但是如果我粘贴完鼠标不动就不会执行,而如果鼠标动了也会等好一会才会执行。由于我的程序牵涉到页面切换,所以不能单纯用文本内容改变事件来执行。
请问怎样实现鼠标改变内容的判断呢?另外还有个问题,对于PageControl,按钮是灰色的,我不知怎么改,我想在打印时打成白色但是不知怎么作,各位救救我,公司急着找我要软件跟着产品出厂。多谢大家!!!

解决方案 »

  1.   

    PageControl的什么按钮是灰色的,你说了一大堆,我没看明白...
      

  2.   

    不好意思,我就是刚才提问的,原来是用别人的名字登陆的,自己现在才注册。非常感谢你能够提供给我帮助,是这样的:
    第一个问题:     我现在要实时判断一个文本框中的内容是否改变。用Keypress事件可以实时响应键盘对文本框的操作。用户也可以通过鼠标进行粘贴删除,可这个怎么实时判断呢?一般的软件,例如U_traedit,新建一个文件时,保存按钮是灰色的,无用的,而只要你一输入任何东西,用鼠标或键盘都可,那个保存按钮立刻就能够使用了,这应该是通过实时判断键盘或者鼠标操作做到的吧,我要的就是这个功能。第二个问题:
        我采用了一个pagecontrol,设置了五个页面切换,切换时也就象按钮一样了,我指的是这个按钮,我想改变他的背景色为白色来打印,怎么改呢?
        多谢了。
      

  3.   

    第一个问题:  Edit.OnChange事件,判断 Edit.Text = '' 来判断是否为空.  property OnChange: TNotifyEvent;第二个问题:
      还是不太明白这一句"改变他的背景色为白色来打印",不好意思...
      

  4.   

    多谢!
    因为我牵涉到页面切换,不同的页面同一个文本框的内容不同,所以如果用OnChange事件,那么我不改变内容,切换窗口时就会响应OnChange事件了。至于第二个问题,在软件中刚加入PageControl控件时,这个控件本身是有颜色的(在我的机子上是灰色的:clScrollBar),我现在使用的时候没有改变控件的颜色,但是由于是灰色的,打印出来灰灰的不好看,我想把他改为白色的,但是他没有color这个属性,不知怎么改。
      

  5.   

    回复tomythenry!
        对不起,我才注册只有200分,我也是小小菜鸟一个,所以帮不到你,对不起!你其实可以回答人家的问题得分啦,我的问题你没回答我不能给分你,否则对给予我帮助的人不公平!抱歉!!!
      

  6.   

    回复hui2003   不知你指的是什么还是什么人?但是我觉得你这样有伤大雅,对人家不尊重,自己也失身份。如果不回答问题请不要攻击别人。
      

  7.   

    复制张贴,可以截消息WM_COPY,WM_Paste实现
      

  8.   

    如果用crossbow(La Vida Es Amor)的方法的话,可以根据它现在所属的页面来判断
      

  9.   

    设置个标志,在页面切换的时候onchange无效就可以了
    比如:在程序改变memo内容前,可以这样:
    memo1.onchange = nil;
    改变内容后,可以这样:
    memo1.onchange = tform1.memochange;
    具体的事件名你根据程序改动
      

  10.   

    无非是判断文本框的内容是否改变,是吗?判断属性Modified就可以了如
    if Memo.Modified then //表示修改
       就可以了,不要那样繁
      

  11.   

    判断保存禁用,抓住一点肯定能解决,在键盘、鼠标消息的响应中判断“文本”是否改变。
    键盘可以放在keyup 中。 鼠标我没想好放那里,大家发表意见。
      

  12.   

    对不起,我看了上面大家的留言,才发现自己犯了一个大错,我忘了说自己用的是Edit控件,而不是Memo,Sorry!!!多谢各位的帮助,我现在已经解决这个问题了,我采用mouseup和mousedown,判断内容是否发生改变来判断是否需要保存。不过我觉得这样比较麻烦,我觉得Chen_ZhongHua(小狼) 的方法倒是不错,不过Edit没有Modified属性,所以我想再次请教Chen_ZhongHua(小狼)你是否还有其他的好主意。另外,我想问问你所说的第二个问题是什么意思,还望不吝赐教!多谢!
      

  13.   

    如果对方使用程序修改你的edit中的内容,你是没办法通过鼠标事件来判断内容是否改变的