また、ボケた年寄りの質問ですが、よろしくお願いします。
Onbutton1mousedownnでは、
if button=mbLeft then で使えますが、
OnEdit1mousedown では
if edit=mbLeft then でエラーが出ます。
どうしたら使えますか
Help をクリックしても使えません。
よろしくお願いします。
>if edit=mbLeft then
ではなく、buttonのOnMouseDownイベント同様、
if button=mbLeft then
とするのでは、ダメですか?
おそらく、「Button1」のイベントだから「Button」になってると早とちりされたのだと思います。
私も趣味だけで Delphi やってきた還暦越えですが、もう少しご自分が書いているコードの意味を理解していきましょう。
何もわからずコピペだけしていたら次もまた無駄な時間が過ぎていくだけですよ。
正常にコンパイル出来る方のコードで「Button」を「コントロール(Ctrl)キーを押しながらクリック」してみてください。
procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button=mbLeft then
end;
二つ上の行に移動すると思います。ここで宣言されている「Button: TMouseButton;」がその正体です。
Button は「マウスボタン」のボタンです。
ちなみに「mbLeft」も「TForm1」も Ctrl+クリックでその場所に飛んでいきます。
元の場所に戻るのは「Alt+←」(古いDelphiでは上の方にある「←」アイコンで)
あと、もしお持ちでしたら Delphi6 とか古~いバージョンのヘルプの方が直感的でわかりやすいです。
もうひとつ。
質問される時はコピーペーストされた方がいいですよ。
打ち損じも防げますし、何より大文字小文字が不規則で読みにくいです。
ああもうひとつ。
「エラーが出ます」ではなく、コンパイラエラーの内容もコピペしましょう。
「未定義の識別子 : edit」
そしてそれを検索しましょう(今回はこれだけではだめかもしれませんが)
igyさん、私も年寄りですよさん、ありがとうございました。
どっちのボタンかを示すのですから、当たり前のことでしたね。
私も年寄りですよさん、還暦超えは年寄りではありませんよ。
使い物にならないようになって年取ったな思うんですよ。
Helpが生きていたら違うんでしょうけど、
ネットで検索して、ここでも検索してから質問しているんですが、
また、よろしくお願いします。
プログラムは完成しましたが、
if button=mbright then
では、元に戻す灘の表示が出ます。
これを出なくするすることは可能ですか??
よろしくお願いします。
試していませんが、
D5でTEditやTMemoの標準ポップアップメニューを表示しないようにする
http://delfusa.main.jp/delfusafloor/archive/homepage1.nifty.com_beny/tips/vcl03.html
では、
> TEditやTMemoなどはPopupMenuプロパティを未定義にしているとコントロール標準のメニューが表示されます。
> これを非表示にするには項目のないPopupMenuを割り当てるなどする必要があるのですが
と、あります。
igyさん、ありがとうございました。
解決しました。
procedure TForm1.Edit1ContextPopup(Sender: TObject; MousePos: TPoint;
var Handled: Boolean);
begin
Handled := True;
end;
procedure TForm1.Edit1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if button = mbLeft then
begin
inc(Flg); if(Flg>1)then Flg:=-1 ;
end
else
if button = mbRight then
begin
DEC(Flg); if(Flg<-1)then Flg:=1 ;
end;
end;