リターンで標準のボタンにイベントを発生させる。

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
返信する
メッセージ
作成者
わんころ@はくさん

リターンで標準のボタンにイベントを発生させる。

#1 投稿記事 by わんころ@はくさん »

初めまして。

①エディットボックスに入力をし、リターンを押したら、ボタンの click イベントが発生するプログラムを書きたいと考えています。

例えば、XP の モデムのダイヤルアップの接続プログラムですと、ユーザー名、パスワードのボックスがあり、ユーザー名を入れ、タブなりでパスワードのボックスに移動し、パスワードを入力し、リターンを押すと、左下の青い枠が付いた「ダイヤル」にイベントが伝わって、接続に行きます。
これと同じようなことをしたいと考えています。

どうすれば、click のイベントが発生させることが出来るでしょうか?
または、リターンによる動作を、ボタンが受け取るようなコードを書くのでしょうか?

②ちなみに、ボタンのスタイルを、「標準のボタン」にした場合、これはボタンの見た目が変わるだけですよね? Active Basic では、枠の色の変更はコードを書かないといけないのでしょうか。

ご教示のほど宜しくお願い致します。
OverTaker
記事: 231
登録日時: 2005年5月31日(火) 17:14
お住まい: 茨城県

#2 投稿記事 by OverTaker »

①の方は以前(昔の掲示板で)私が投稿したものに似ていますね。
私の場合は下記の方法で問題なかったのでその方法を使っています。

EditBoxの内容が変更されたときに改行が入力されているか調べて入力されていたらボタンのclickイベントを発生させる。そのEditBoxは改行を許可などにチェックを入れる必要があります。

ちなみに、リターンキーが押されているか判定してやるやり方だと日本語の変換の確定でも引っかかってしまったのでうまくいきませんでした。
わんころ@はくさん

#3 投稿記事 by わんころ@はくさん »

ん、ありがとうございます。旧掲示板拝見しました。

たしかに、update イベントで、改行を捕まえて、click イベントを呼ぶことで似たような動作はしました。

ただ、やはり、XP の モデムのダイヤルアップ の様な動きとは違いますね。ユーザー名を入れて、リターンしても複数行にはならないですし。かっこ良くないですね。
また、なぜか、Tab で移動できるようになっていたのが出来なくなってしまいました。複数行にしたからでしょうか?

標準ボタンを押したとき(押すため)のコードの書き方があるように思えるのですが、むかーしさわった VB2.0 では特別何かした記憶がないのですが、確かな記憶ではないのですが、
Sinryow
記事: 141
登録日時: 2005年5月31日(火) 09:34
お住まい: 北海道
連絡する:

#4 投稿記事 by Sinryow »

BackSearchAB(http://dbp.cool.ne.jp/patio/patio.cgi?mode=view&no=138
からダウンロード)の1949番の記事がそれだと思います。
' ============================================================
' Sinryow Game Home Page - http://www.sinryow.net/
' Sinryow ActiveBasic Center - http://ab.sinryow.net/
' ============================================================
わんころ@はくさん

#5 投稿記事 by わんころ@はくさん »

ありがとうございます、試してみます。

まず、サブクラスを調べないと.....
わんころ@はくさん

#6 投稿記事 by わんころ@はくさん »

ありがとうございます。

ボックスのスタイルを、複数行の指定をしないといけないようです。
ただ、複数行にすると、Tab での移動が出来ません??

Tab の移動は、http://abfan.active.client.jp/005.html
を参考にしました。

Tab の移動もしたい、リターンでボタンも押したい、もう一息なのですが、どうしたものでしょうか?

宜しくお願い致します。
返信する