• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ツールバーのボタンの動きがおかしい)

ツールバーのボタンの動きがおかしい

bakaの回答

  • baka
  • ベストアンサー率83% (15/18)
回答No.1

原因についてはコードを見てみないとよくわかりません。が、似たような現象は何度も経験した覚えがあります。その詳細は忘れましたが。。。 試しに前回のボタンの状態を復元するサンプルを作ってみました。はずしていたらレスしてください。 1.ツールバーコントロールに tbrButtonGroup スタイルのボタンを3つ配置します。 2.メニューエディタで適当な親メニューを作成し、その下層として 'mnuTest' という同じ名前のメニューを3つ作成します。3つのメニューには1から3のインデックスを付けておきます。キャプションは 'A'、'B'、'C' とでもしておきます。 3.プロジェクトを適当な場所に保存してから実行します。 Option Explicit Private Declare Function GetPrivateProfileInt Lib "kernel32" Alias "GetPrivateProfileIntA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal nDefault As Long, ByVal lpFileName As String) As Long Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long Private Sub Form_Load() mnuTest_Click GetPrivateProfileInt("Settings", "test", 1, App.Path & "\test.ini") End Sub Private Sub Form_Unload(Cancel As Integer) Dim i As Long For i = mnuTest.LBound To mnuTest.UBound If mnuTest(i).Checked Then Exit For Next WritePrivateProfileString "Settings", "test", CStr(i), App.Path & "\test.ini" End Sub Private Sub mnuTest_Click(Index As Integer) If Not Toolbar1.Buttons(Index).Value = tbrPressed Then test Index Toolbar1.Buttons(Index).Value = tbrPressed End If End Sub Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) test Button.Index End Sub Private Sub test(Index As Integer) Dim i As Long For i = mnuTest.LBound To mnuTest.UBound mnuTest(i).Checked = i = Index Next 'ボタンの変更による処理が必要であればこれ以降に記述します End Sub

ryo_f
質問者

お礼

回答ありがとうございます。 多少やり方は異なりますが、私が書いたソースも回答していただいたソースと同じように、INIファイルに終了時のボタン状態を保存し、次回起動時にそのボタンが押された状態になるようにしています。 質問文がわかりにくかったかもしれませんが、このボタン状態の復元には問題ありません。 その後メニューだけで操作すると、起動時に押された状態のボタンがずっと押された状態のままで変化しないのです。 回答していただいたソースをコピー&ペーストして実行してみましたが、やはりメニューから操作すると、起動時に押されていたボタンがずっと押された状態のままでした。 なお、質問では書き忘れていましたが、WindowsのOSは2000とNT4.0です(それ以外のOSでは未確認)。

関連するQ&A

  • Google Toolbar Notifier、設定ボタンがない

    PC(WinXP)の立ち上がりが遅くなり原因はスタートアップのGoogle Toolbar Notifierでした。チェックをはずしても再発するので起動しないようにするにはGoogleのツールバーの設定ボタンから操作するようなのですが、うちのPCでは一番端のボタンは「ログインボタン」で「設定ボタン」がありません。どうすればよいでしょうか?またGoogle Toolbar Notifierは何故勝手に設定されたのでしょうか?

  • ツールバーの印刷ボタンを押すと・・・

    こんにちは Word2000でのことです。   ツールバーの印刷ボタンを押すとなぜか2枚印刷するような設定になってしまいました。もちろんボタンは一回しかクリックしていません。 メニューバーのファイル→印刷ダイアログボックスではちゃんとできているのに・・・ どこの設定を変えればいいのでしょうか? 教えてください。お願いします。

  • IE5.0 ツールバーへshalockボタンの追加について

    不具合があって、HDDを初期化して バックアップしたシステム他をコピーし直しました。 IE5.0のツールバーへshalockボタンを追加したいのですが、ボタンは追加されるのですが、他選択できるボタンと比べると色が薄く、機能しません。 shalockは、HDDに存在していて、起動もするのですが、IE5.0のツールバーから起動できません。 どのように設定し直したらよいでしょぅか。

    • ベストアンサー
    • Mac
  • googleツールバーにたくさんのGmailボタン

    googleツールバーにたくさんのGmailボタン 少し前からfirefoxを起動させると時々ツールバーの設定が勝手に変わって、Gmailボタンが3個表示されるようになりました。 設定で削除も出来ないので困っています。どうしたらいいのでしょうか。

  • Word 罫線ツールバーについて

    はじめまして。私はOfficeのインストラクターをしている者です。 Word2003罫線ツールバーのボタンについて、どうしてもわからないことがあります。 表を作成し、文字の配置、枠線、網掛けを設定しようと選択をしたのですが、なぜかこれらのボタンが使えない状態になってしまったのです。。。 教えている生徒さんの中で、何人かいまして。。。 ▼クリックしても、一覧が出てきません。 どうしようもなかったので、罫線メニューの「線種と~」ダイアログボックスから設定する方法を解決法として伝えたのですが。。。 操作やネットなどで調べているのですが、全く該当するものが見つからなくて>< ボタンが使えないのは、何が原因なのでしょうか? 単なるバグなのでしょうか。。。 どなたかご存知の方いましたら、教えてください! よろしくお願いします。

  • ツールバーにマクロのボタンができません。

    Excel2002で初めてマクロを作ってみました。(『日経PC21』の付録の冊子を参考にしました) 私はExcelの作業でセルの移動方向を右方向と下方向とに頻繁に切り替えるので、これをマクロにしてボタン一つで切替ができるようにしたいと考えました。 メニューバーで[ツール]-[マクロ]-[新しいマクロの記録]とし、[ツール]-[オプション]-[編集]タブ-「入力後にセルを移動する方向」(下方向になっていたのを右方向に変更)を指定しました。これで記録を終了し、[ツール]-[マクロ]-[マクロ]で記録したばかりのマクロを[実行]してみたところ、正常に動作(移動方向の切替)ができました。 これをツールバーにボタンとして登録するため、[ツール]-[ユーザー設定]で左側の「分類」のウィンドウの中の「マクロ」を指定し、右側の「コマンド」に「ユーザー設定ボタン」が現れるので、これをツールバーにドラッグ・アンド・ドロップしようとしました。(上記の冊子には、このドラッグ・アンド・ドロップ操作でツールバーに登録ができるとの記載があります) ところが始めはポインタに[+]のような小さな正方形が出るのですが、ドラッグした途端、それより少々大きな、X印の入った長方形に変わってしまい、ツールバーにドラッグしても何の反応もありません。 改めてマクロを[ツール]から起動してみたのですが、正常に動作します。 [ツール]-[マクロ]-[セキュリティ]の「セキュリティレベル」は「中」にしてあります。 ツールバーにマクロのボタンを登録するにはどうしたらよいでしょうか。

  • “行の挿入”ボタンは どのツールバーに入っていますか?

    いつもお世話になります。 宜しく御願いいたします。 Wordで以前ツールバーのオプション設定をさわったことがあるため “行の挿入”ボタンが 本当はどのツールに入っているものかがわからなくなりました。 メニューバーの罫線⇒挿入⇒行の挿入 では確認できているのですが ツールバーでは どこに入っているものなのでしょうか? 今現在は 標準ツールバーに“行の挿入”ボタンがあります。 これはたぶん私がボタンを作ったのではないかと思います。 Word2002を使っています。

  • ツールバーに表示されるボタンが減っていく

    outlook express6を使用しています。起動時はツールバー上に「メールの作成」~「エンコード」まで10個ほどボタンが表示されていますが、起動後数時間ほどして見てみると表示しているボタンが減っています(「アドレス」や「送受信」が見えなくなっている)。先日はついに「メールの作成」と「返信」しか見えなくなっていました。カスタマイズを見ても別に問題ありません。終了して再起動すれば問題なく全て表示されます。メニューから選んだり再起動すれば普通に使えるので良いのですが、なんだか気になっています。原因がわかる方ご教示下さい。

  • IEのツールバーボタンを押すとエラーがでます。

    Internet Explorerの ツールバーにある ひとつのボタンを押すと 「ファイルが見つかりません。名前を正しく入力したかどうかを確認してやり直してください」とエラーがでます。 ツールバーにあるそのボタンは Weather bugというもので、少し前に プログラムの変更と削除から削除したアプリケーションで、パソコン内部にアプリケーションは残っていないのですが、ツールバーには何故かおかしな形で残ってしまっているようです。 (ボタンのアイコンはきえて、両端のツールバーボタンのアイコンの間でそこだけ空白になっており、マウスをそこにあてたときだけ ボタンの名前が「weather bug」と表示されボタンをクリックすることができます) これを完全に削除してしまう方法を教えてください。 ユーザー設定で一時的に表示するツールバーボタンを選択するのではなく 無意味なものなので完全に消してしまいたいです。 どうぞ宜しくお願いいたします。

  • 自作のツールバーに登録するマクロについて

    Excel97, Windows98SEを使用しています。 「表示」-「ツールバー」-「ユーザー設定」の「ツールバー」タブ「新規作成」で、「stamp」という名前のツールバーを作成しました。 このツールバーのコマンドボタンにマクロを登録して使いたいのですが、  Macro1:コマンドボタンAをクリックすると図aをコピーして貼りつける  Macro2:コマンドボタンBをクリックすると図bをコピーして貼りつける  Macro3:コマンドボタンCをクリックすると図cをコピーして貼りつける  … という風に殆ど同じ作業ですので、これをひとつのマクロにまとめたいのですが、そういう事は可能でしょうか? たとえばSelect Caseを使って、  押したボタンがコマンドボタンAの場合、図aをコピーして貼りつける  押したボタンがコマンドボタンBの場合、図bをコピーして貼りつける のように記述できたら、と思っているのですが、 「押したボタンがコマンドボタンAの場合」のコードがわかりません。 ご存知の方、どうぞよろしくお願いいたします。