この掲示板にはいつもお世話になっておりますm(__)m
1点質問させてください。
フラット表示したツールバーの特定のボタンだけフォーカスを
受け取れるようにしたいと思っています。
理由は,以下の条件を満たすボタンを使用したいためです。
・フラット表示できる。
・ドロップダウンメニューを表示できる。
・フォーカスを受け取ることができる。
(点線でカーソルがあたっているのがわかるもの。)
標準コンポーネントには,以上の条件を満たすものはありません
でした。
開発環境が自由にいじれないので,できれば標準のコンポーネン
トだけで実現できる方法を探しています。何かよい方法ありまし
たら,お教えください。
> 開発環境が自由にいじれないので,
Turbo Explorer でしょうか?ソースがあれば、コード上でCreate する事は出来ますよ。
せっかく返信をいただいたのに,返事がかなり遅れてしまいま
した。大変申し訳ありません。
返信,どうもありがとうございます。
返信の趣旨は,「インストールをしなくても,ソース付きのユニ
ットにライブラリパスを通して,オブジェクトの動的生成をすれ
ばボタンを作ることが可能」という意味だと思いますが,環境を
いじれないというのは,どちらかというと,技術的な観点ではな
く,開発方針の観点からの制約です。
今,あるソフトウェアの開発に携わっているのですが,ライセン
スや保障,保守性の観点から,自前でできる部分はできるだけ標
準コンポーネントの範囲内でつくりたいと考えているのです。
(また,いろいろコンポーネントをあたってみたのですが,完全に
希望にそったコンポーネントが見つからなかったという理由もな
いわけではありませんが。)
ツールバーの特定のボタンのみTabStopがかけられるなら,それが
最良という考えはほぼ固まっておりましたので,標記のような
質問をさせていただいたわけです。もし,これで対応方法がある
のであればご教示いただけると幸いです。
TPanelが望みの動作しますよ。
TabStopがデフォルトでFalseになってるのでTrueにしてちょ。
再度のご回答どうもありがとうございます。
今,フォーム上にボタン2つとパネル1つをおいて,ちょっと試し
てみました。
その結果,
①フラット表示できる。
②ドロップダウンメニューを表示できる。
③-1 フォーカスを受け取ることができる。
③-2 点線でカーソルがあたっているのがわかるもの。
のうち,確かに①と③-1は満たすのですが,②と③-2を満たすもの
であるということが確認できませんでした。これはどのようにする
ことを想定していらっしゃるのでしょうか。お教えいただけますで
しょうか。
あぁ、「何もコードを書かないで」という条件入りですか…
だとすると、無いとおもいます。
TPanelから派生させると少し楽かな?程度です。
Windows標準コントロールであるのか調べてませんが、たぶん無いです。
私だったら迷わずTCustomControlから派生させますね。
でもそうなると、「ソース付きのユニット」になってしまいます。
まぁDelphiでプログラムを書いた時点で「ソース付きのユニット」なんですけどね ^^;
お役に立てずスンマセン。
こちらこそ無理を言ってしまったようで申し訳ありません。
先ほど,TCuteButtonという,フリーで公開されているコン
ポーネントを再度試していたのですが,今のところこれがもっ
とも理想に近い形です。(ご提示いただいたとおり,TPanelか
ら派生して作成しているコンポーネントです。)
この内容を参考に,コンポーネント化した方が対応しやすそ
うなので,そのように対応しようと思います。
これでこの件は解決とさせていただきます。最後までどうも
ありがとうございました。
チェックつけ忘れです。
ツイート | ![]() |