喫茶XRAYトップページ

[▲前のスレッド]

[548] TplButtonについて返信 削除
2005/12/13 (火) 15:03:11 Syake
plBtuttonは非常に重宝しております。
ありがとうございます。

ところで、OnClickイベントなんですが、今までその様な使い方をしていないので
気にもならなかったのですが、「カチ、カチ・・・」と忙しくクリックした
場合に、OnClickで記述した処理が実行されない事があるようです。
(GridのScrollに使っちゃいました。)
一度クリックされて次のクリックを受け付けるまで間が空いたような感じで、その
間のOnClickが処理されない感じです。

で、確認しました。
procedure TForm1.plButton1Click(Sender: TObject);
begin
   Label1.Caption := IntToStr(StrToInt(Label1.Caption) + 1);
end;

イベントが発生していないのか?伝わってないのか?私の環境が悪いのか?
結果的にOnMouseDownに任せて処理しました。(これは問題なかったです。)
procedure TForm1.plButton1MouseDown(Sender: TObject;
            Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
   Label1.Caption := IntToStr(StrToInt(Label1.Caption) + 1);
end;

通常の使用では問題が発生する事は無いし、必要ならMouseDownに任せれば上手く
いきますので、それ程重要では無いのですが、少々気になりました。(^_^)




[551] Re:TplButtonについて返信 削除
2005/12/13 (火) 20:14:04 Mr.XRAY
▼ Syakeさん

> 気にもならなかったのですが、「カチ、カチ・・・」と忙しくクリックした
> 場合に、OnClickで記述した処理が実行されない事があるようです。
> (GridのScrollに使っちゃいました。)


Gridにですか.考えも付かない使用方法です.
私も結構,plButtonを多用しています.
一度検討してみます.Clickは単にForm上にある時はModalResultを返し,
inheritedしているだけなんですが...


[555] Re2:TplButtonについて返信 削除
2005/12/14 (水) 08:25:25 Syake
▼ Mr.XRAYさん

>Gridにですか.考えも付かない使用方法です.
通常はplButton様は、主要なコマンドにしか利用しないのですが
ちょっとね、・・・単にボタンに色を付けたかった。
他で充分代用できるのですが、ちょっと横着(^_^;)しました。

そう言えば「plButton」は「TCustomPanel」からの派生ですよね。
今見たらTPanel自体が同じ動作しますね。


[556] Re3:TplButtonについて返信 削除
2005/12/14 (水) 10:55:12 junki 〔HomePage
こんにちは。

▼ Syakeさん

> そう言えば「plButton」は「TCustomPanel」からの派生ですよね。
> 今見たらTPanel自体が同じ動作しますね。


OnDblClick イベントがあるヤツはみな同じ動作です。自前で OnMouseDown OnMouseUp
から、OnClick させるようにするといいのではないでしょうか。

[追加]

OnDblClick イベントハンドラにも OnClick イベントハンドラをつないでみてください。

[557] Re4:TplButtonについて返信 削除
2005/12/14 (水) 21:37:09 Mr.XRAY
▼ junkiさん,Syakeさん,どうも

TCustomPanelも,イベントの処理にWM_LButton...とかWM_LButtonDblClikで
を受取って,処理すれば,いろいろな動作仕様が可能ですが,デフォルトと
いうことで.
(ControlStyleのcsNoStdEvents,csClickEventも考慮する必要あり)

>OnDblClick イベントハンドラにも OnClick イベントハンドラをつないでみてください。

これなんですが,DblClickと,Clikckを区別したい時に,結構悩むことがあり
ます.そうか,OnClickをOnMouseDownからさせればいいんですね.
言われてみれば単純で簡単なことでした.なんで気づかないでしょうね.



[558] Re5:TplButtonについて返信 削除
2005/12/15 (木) 00:04:32 Mr.XRAY
みなさん.こんばんわ
> 言われてみれば単純で簡単なことでした.なんで気づかないでしょうね.

私のコンポ類を利用している方,「えっ,そんなことも気づかないの!?」
と思われ方もいると思います.でも本当なんです.
多分,提供しているコンポの中に,ClickとDblClickを区別するのに,フラグ
を使用してるところがあるかも知れません.動いているから正義とします.

私の実力とはそんなものです(悲しい).
# 少しヤバイ(かなりヤバイ!?)


[560] Re6:TplButtonについて返信 削除
2005/12/15 (木) 08:15:16 Syake
▼ Mr.XRAYさん

> 私の実力とはそんなものです(悲しい).
> # 少しヤバイ(かなりヤバイ!?)

いやいや、そんな・・・(^_^;)

しかし、こんな時間まで。
身体こわっしゃいますよ。

[559] Re4:TplButtonについて返信 削除
2005/12/15 (木) 08:10:30 Syake
▼ junkiさん

おはようございます。

> OnDblClick イベントがあるヤツはみな同じ動作です。自前で OnMouseDown OnMouseUp
> から、OnClick させるようにするといいのではないでしょうか。

そうだったんですね。 勉強が足りませんでした。
ありがとうございます。

> OnDblClick イベントハンドラにも OnClick イベントハンドラをつないでみてください。
はい。

[567] Re5:TplButtonについて返信 削除
2005/12/16 (金) 14:12:43 Syake
▼ Syakeさん
> そうだったんですね。 勉強が足りませんでした。
というか、なんというか。
あたりめぇ〜よ。 って事ですね。
冷静に考えれば当然ですね。
マル一日以上たってから気づいてしまった。
頭がまわってません。(;_;)
大変お騒がせいたしました。

XRayさん、ごめんなさい。<m(__)m>


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82