検索結果 106 件

by jacoby
2008年6月03日(火) 01:49
フォーラム: プログラミング質問板
トピック: モーダルダイアログ上のエディットボックスについて
返信数: 4
閲覧数: 4975

レスありがとうごさいます。

レスありがとうございます。 1. CreateイベントにSetWindowLong(GetDlgItem(hMainWnd, CommandButton1), GWL_ID, IDOK)を加えます。hMainWndとCommandButton1を適当に書き換えてください。IDOKは値1の定数です。 2. RADの生成コードが機能しなくなるので、手動でClickイベントを呼ぶようにします。対象のウィンドウプロシージャ(MainWndProcなど)のEventCall_MainWndの1行を次のように置き換えます。中のMainWndの文字も書き換えてください。 教えていただいた通り、SetWind...
by jacoby
2008年6月02日(月) 19:49
フォーラム: プログラミング質問板
トピック: モーダルダイアログ上のエディットボックスについて
返信数: 4
閲覧数: 4975

レスありがとうごさいます。

7さん、レスありがとうごさいます。 教えていただいたサブクラスを使う方法、実行してみたのですが、 どうもこちらの環境(WinMe/AB4.24)ではうまく行かないようです。 エンターの入力を取ってくれなく、エディットのフォーカスが他へ移らないままです。 (こちらのプログラムの組み具合が悪いのかもしれません。もしそうだったら 申し訳ありません。) 実は「フック」という方法を試す前に、検索エンジンで調べて "ActiveBasic講座「ウィンドウのサブクラス化(1)-実践」"というページを 見つけました。 http://www.2chab.net/pukiwiki/index....
by jacoby
2008年6月01日(日) 03:49
フォーラム: プログラミング質問板
トピック: モーダルダイアログ上のエディットボックスについて
返信数: 4
閲覧数: 4975

モーダルダイアログ上のエディットボックスについて

モーダルダイアログ上のエディットボックスでのキー入力メッセージ取得について 教えてください。 モーダルダイアログにエディットボックス(一行)が一つ、 その下にOKと書かれたボタンが一つあるとします。 そのエディットボックスに、例えば数字を入力してEnterキーを押すと フォーカス*が下のOKボタンに移る、というようにしたいのですが、 (つまり数字を入力してEnterを二回タンタンと押せばOKボタンを押せる、 というような) どうもうまくいきません。 ActiveBasicFanさんのHPで解説されていた「フック」という方法を試してみたの ですが、エディットボックスを使うとなると少し勝手がちがう...
by jacoby
2008年5月27日(火) 21:32
フォーラム: プログラミング質問板
トピック: ProjectEditorについて
返信数: 2
閲覧数: 3003

レスありがとうございます。

konisiさん、素早いレスありがとうございます。
UserSettingsフォルダ内の、editor.iniファイルの
height_ClipDebuggerView
height_ClipCompileView
の項の値を100程度にしてみてください。
教えて頂いた通り二つの値を書き換えてみると、元に戻りました!
エラーメッセージを再び表示できてホッとしています。
ありがとうございました。またよろしくお願いします。

ただ何の拍子にどうやって自分で非表示にしてしまったのか、
それがちょっとナゾです。。。またやってしまいそうで。。
by jacoby
2008年5月27日(火) 21:02
フォーラム: プログラミング質問板
トピック: ProjectEditorについて
返信数: 2
閲覧数: 3003

ProjectEditorについて

AB4.24のProjectEditorを使っています。 先日プログラムのデバッグ実行をしていて、その時いつもウインドウ下部に 表示されるメッセージ表示が無くなっていることに気がつきました。 (デバッグ実行時にエラーメッセージなどがズララと表示される表示部です) 恐らく自分が何かの拍子に余計な操作をしてしまって非表示に なっているんだと思いますが、元に戻せなくなってしまいました。。。 AB4.24自体を再インストールしても戻らず、どうしたらいいかと思っています。 もし元のように表示させる方法がありましたら教えてください。 ちなみに自分の環境ではAB2.62もインストールされていて時々使われてい...
by jacoby
2008年5月19日(月) 00:52
フォーラム: サイトへの要望&お問い合わせ
トピック: 4.24の以前のバージョンの入手について
返信数: 3
閲覧数: 13743

レスありがとうございます

ツールバーを右クリック ・ツールバーを固定するのチェックをはずす ・プラットフォームセレクトのチェックをはずす 以前はそんなふうにカスタマイズしていたのでは? 教えていただいた通りやってみると 元使っていた様に出来ました。自分が気づいてないだけでしたね。(汗)、、 ありがとうございます。 ただ自分でこのツールバー右クリックの設定に気付いていないことからも 明らかなんですが、何故そうなったのかなとちょっと不思議です。 それで、もしかしたらなんですが以前はver4.04をver4.24の前に インストールしていて、その4.04の設定が4.24の方にも影響していたのかなと、 想像ですが思っています...
by jacoby
2008年5月17日(土) 04:19
フォーラム: サイトへの要望&お問い合わせ
トピック: 4.24の以前のバージョンの入手について
返信数: 3
閲覧数: 13743

4.24の以前のバージョンの入手について

 自分のOSの再インストールに伴い、先日改めてAB4.24をサイトから
ダウンロードさせて頂いたのですが、どうも以前使っていたものと少し違いが
あるようで、エディタのツールバーが動かせなくなっていたり、ツールバーに
「Win32」と表示されてあるドロップダウンリストがあったりしました。
 今まで自分の好きな位置にツールバーを動かして使っていたので
できれば4.24のツールバー動かせる最後のバージョン(「Win32」と表示されて
いない)ものが手に入れられたらと思っています。
 勝手ながら、長く愛用させてもらっていたので過去のABのリンクに加えて
頂けたら助かります。
 よろしくお願いします。
by jacoby
2008年5月01日(木) 08:02
フォーラム: プログラミング質問板
トピック: メニュー項目の太字を元に戻すには?
返信数: 2
閲覧数: 5009

レスありがとうございます。

 返信が大変遅れてしまってすみません! あひるさん、レス有難うございます! そして更にSetMenuDefaultItem()の第二引数は Quote: 既定のメニュー項目にするべき、1 つのメニュー項目の識別子または位置を指定します。-1 を指定すると、既定のメニュー項目を設定しません。 とのことです。 教えて頂いたSetMenuDefaultItem()を使ってみたら、太字が元にもどりました! ただしその、なぜか第二引数に設定した、戻したいメニュー項目"以外"の全ての メニュー項目が細字に戻って、戻したいメニュー項目は太字のままという、少し ややこしい状態になっています...
by jacoby
2008年4月18日(金) 06:09
フォーラム: プログラミング質問板
トピック: 変数の有効範囲について
返信数: 2
閲覧数: 2469

レス有難うございます。

ab4では、変数のスコープはグローバル領域から始めてFunction/Sub関数内だけだったと思います。
そうなんですか。分かりました。
試しにFor-Nextループでも同様のことやってみたのですが

コード: 全て選択


For i=0 to 3
 Dim j As Long
 j=10
Next i

Print "j=";j
結果はj=10と表示されて
ループ内で宣言した「j」がループの外で参照できる。
言われるようにSub/Functionの頭で纏めて宣言しておくのが
良さそうですね。気を付けたいと思います。
konisiさん、レス有難うございました。
by jacoby
2008年4月17日(木) 22:29
フォーラム: プログラミング質問板
トピック: 変数の有効範囲について
返信数: 2
閲覧数: 2469

変数の有効範囲について

条件分岐命令の変数の有効範囲(スコープ)について教えてください。 例えば下のようにif文のThen部、Else部で同じ変数iを 定義すると「iは既に定義されています」とエラーが出てきます。 If a Then Dim i As Long Else Dim i As Long End If Then部、Else部はそれぞれ独立した有効範囲となっている と思って上のように書いたのですが、どうも違うようです。 同様にSelect Caseでも Select Case a Case 0 Dim i As Long Case 1 Dim i As Long End Select などと書くとやはり同様の...
by jacoby
2008年4月14日(月) 23:13
フォーラム: プログラミング質問板
トピック: メニュー項目の太字を元に戻すには?
返信数: 2
閲覧数: 5009

メニュー項目の太字を元に戻すには?

SetMenuItemInfoなどで menuItemInfo.fState=MFS_DEFAULTとして 太字に設定したメニュー項目の文字を、元の普通の細い文字に 戻したいと思ったのですが、それらしい「MFS_UNHILITE」などをセットしてみても 元に戻りません。 MFS_ENABLEDや他のものも端からセットしてみたのですが 解消されず、かといってそれらのセットが全くなされていないのか といえばそうでもないようで、、 「MFS_CHECKED」でちゃんとチェックが入りますし 「MFS_GRAYED」では灰色表示になるのですが、いずれも太い字のまま、です。 「MFS_UNHILITE」、...
by jacoby
2008年3月27日(木) 23:38
フォーラム: プログラミング質問板
トピック: 連続的なメッセージの解消について
返信数: 7
閲覧数: 3774

レスありがとうございます。

それならPeekMessage(myMsg_, NULL, MYTHREADMSG_TEST, MYTHREADMSG_TEST, PM_REMOVE)とすればよいです。 PeekMessageとGetMessageは,3番目の引数から4番目の引数までの範囲のメッセージだけを対象にするという使い方ができます。 peekMessageのヘルプを見たとき、これらの設定は何の為にあるんだろうと 思っていたところです。 これに先のDo~Loopチェックを組み合わせればキューの中から MYTHREADMSG_TESTだけを削除することが可能ですね。 ありがとうございます。 それからkonisiさんが指...
by jacoby
2008年3月27日(木) 06:16
フォーラム: プログラミング質問板
トピック: 連続的なメッセージの解消について
返信数: 7
閲覧数: 3774

Do~Loop?

書いて頂いたプログラムは「Do~Loop」でメッセージを取れるだけ取って その結果メッセージキュー全体を取り出す、という理解で良いでしょうか? だとしたら僕の上の このメッセージが時間的にもっとも後にポストされたものかどうかを 知るには、「メッセージ・キュー」全体を見ることが 必要なのではないでしょうか。 というのは、これによって実現されていますね。浅い理解ですみません。 ただこの方法は、もしメッセージキュー中に他の別のメッセージがまぎれて ポストされていた場合、最後のMYTHREADMSG_TESTの検出の為に キューの取り出し先頭位置を繰り上げ続けてしまい、結果 本来のメッセージ取得ループ...
by jacoby
2008年3月27日(木) 04:34
フォーラム: プログラミング質問板
トピック: 連続的なメッセージの解消について
返信数: 7
閲覧数: 3774

レスありがとうございます。

'ここら辺でmyMsg_の情報を解析して、コピーする必要が無ければそのままcontinueしてもいいと思う。 僕の理解がいまいちあやふやで申し訳ないのですが 「myMsg_」はメッセージ構造体でこれは「メッセージ・キュー」では 無いですよね。つまりこの中にはポストされたメッセージ自体に関する 情報が入っている。 このメッセージが時間的にもっとも後にポストされたものかどうかを 知るには、「メッセージ・キュー」全体を見ることが 必要なのではないでしょうか。 「キューを空に」というのも出来たら良いのですが、どうやってキューに アクセスしたらいいのか。。 Googleなどで少し調べたりもしているんで...
by jacoby
2008年3月27日(木) 03:01
フォーラム: プログラミング質問板
トピック: 連続的なメッセージの解消について
返信数: 7
閲覧数: 3774

レスありがとうございます。

konisiさん、レスありがとうございます。 PeekMessage関数を使っているのですから、 補助用の変数を使用して、受け取れなくなるまで受け取り、 最後に取得した有効な物を使用してはどうでしょうか? そうなんです。まさにキユーの中から「最後に取得した有効な物」を 取ることが出来ればそもそもクリアなどの必要も無く一番良いのですが、 その方法が分からず、  ただ単にPeekMessageでは時間的に一番先にポストされたものから 順に取っていってしまうので、、  もし宜しければその方法を教えていただけたら有り難いです。 (上の仮プロジェクトではPeekMessageである意味はあまり無いのです...