我想用鼠标在窗体上点点,点一下窗体上显示一个红点
一般情况下它是在Tform.onmousedown事件中。但我不想时时都能这样。而是在程序进行到某一个阶段的时候才可以有效。
比如:procedure button1.click(sender:Object)
begin
message('请在窗体上点点!');
form1.cursor:=crcursor;   //鼠标指针变成十字型
********我想在程序进行到这个地方的时候,调用Tform.onmousedown事件有效,请问怎么办
end;

解决方案 »

  1.   

    在onmousedown里面是着一个标志
    比如
    flag=true
    做你要做的
    else
    什么都不做
    然后在你的button.click里面设置标志为true就是了
      

  2.   

    procedure button1.click(sender:Object)
    begin
    message('请在窗体上点点!');
    form1.cursor:=crcursor;
    Tform.onmousedown(form1);
       //鼠标指针变成十字型
    ********我想在程序进行到这个地方的时候,调用Tform.onmousedown事件有效,请问怎么办
    end;
      

  3.   

    procedure button1.click(sender:Object)
    begin
    message('请在窗体上点点!');
    form1.cursor:=crcursor;//鼠标指针变成十字型Tform.onmousedown(form1);//调用onmousedown事件发生的方法。
    end;
      

  4.   

    Tform.onmousedown(form1);//调用onmousedown事件发生的方法。
    ???這樣對嗎?
    scu96124678(绿林侠) 方法應該可行,我想可能有個bug,就是標誌沒有設置回來
    //我來修改一下
    step 1)定義變量 bCanFlag onmousedown事件是否執行
    step 2)在onmousedown事件里 
    if not bCanFlag then Exit
    做你要做的
    bCanFlag := False; //做完之后一定要這樣
    Step 3) Form Show時要加一行bCanFlag := False;
    Step 4) 在按鈕按下事件里多加一行bCanFlag := True;