喫茶XRAYトップページ


[6751] ComboBox + ListView返信 削除
2013/3/10 (日) 00:29:04 snail3
今まで 複数列表示可能な ComboBox というのを作って使っていましたが
自動検索の(自分は)制御が上手にできないので

今回 ComboBox に ListView 表示機能を持たせたコンポーネントを
作ろうと考えています。
(もしそのようなコンポーネントがすでにあれば教えて下さい)

作り始めて困ったのが、COMBOBOX をクリックすると明細が無くても
1行分白く塗りつぶされてしまいました。
この塗りつぶしを止める方法がわからないので、今度はTEDIT の
右に ▼ のボタンを表示させようと考えましたが
 parent を TEdit にすると TEdit の枠内にボタンが表示され、
フォーカスが TEdit に移動すると ▼ が白く塗りつぶされて
しまいました。 parent を Form にすると TEdit の位置が
create 時は 0 で特定することが出来ません。

わかりづらい説明で申し訳ありませんが
何か良い知恵があれば教えていただけないでしょうか。




[6752] Re:ComboBox + ListView返信 削除
2013/3/10 (日) 15:57:02 Mr.XRAY
▼ snail3さん.どうもです.
今日は,風が結構ありましたね.

> 何か良い知恵があれば教えていただけないでしょうか。

そうですかぁ.がんばってください.(^^;
昔,「桐」というソフトで作ってある,あるアプリと,操作性を同じに
したい,という要望で,Edit から,ListView を表示したことは
あるんですけど.関係ないか ?


[6753] Re2:ComboBox + ListView返信 削除
2013/3/10 (日) 18:02:56 snail
▼ Mr.XRAYさん
> ▼ snail3さん.どうもです.
> 今日は,風が結構ありましたね.
>


たしかに風はありましたが、先週と比べるとずいぶん穏やかでした。
途中で見た風力発電の風車は回っていませんでした。

 
> 昔,「桐」というソフトで作ってある,あるアプリと,操作性を同じに
> したい,という要望で,Edit から,ListView を表示したことは
> あるんですけど.関係ないか ?


関係ありそうですね。ぜひ詳細を教えてください。
コーヒーお変わりと、焼きそばでいかがでしょうか。


マスターお願いします。



[6755] Re:ComboBox + ListView返信 削除
2013/3/10 (日) 22:28:20 福士
snail3さん、こんばんは。福士です。

JVCL
http://sourceforge.net/projects/jvcl/files/JVCL%203/JVCL%203.47/
にTJvDBLookupTreeViewComboというコンポーネントがあります。
ソースを見るとドロップダウンでTreeViewを表示しているようです。
多少は参考になるのでは。あるいはインデントだけなら標準の
TComboBoxExでも可能ですが…。

[6757] Re2:ComboBox + ListView返信 削除
2013/3/10 (日) 23:18:03 Mr.XRAY
> にTJvDBLookupTreeViewComboというコンポーネントがあります。

ありました.って,何もやってませんが.


[6758] Re3:ComboBox + ListView返信 削除
2013/3/10 (日) 23:21:38 Mr.XRAY
> ありました.って,何もやってませんが.

あっ,間違えました.
これですね.
それにしても,いろいろあるもんですね.う〜ん.


[6760] Re4:ComboBox + ListView返信 削除
2013/3/11 (月) 01:16:04 snail3
▼ Mr.XRAYさん

画面コピーまで付けていただいたのに、ソースを追っかけても
まるでお経を読んでいるようでした。 ^^;

小生はまだまだ修行が足りないようです。 (-_-;)


気を取り直してこちらのサイト情報を参考に

http://d.hatena.ne.jp/mole-studio/20100810/1281472525

CreateWnd を override して↓のようにコーティングしてみました。
とりあえずボタンは目的の位置に表示されています。

procedure TKCLV.CreateWnd;
begin
  inherited;

  FSB.Left    := TEdit( Self ).Left + TEdit( Self ).Width + 4;  //
  FSB.Top     := TEdit( Self ).Left;  //
  FSB.Height  := TEdit( Self ).Height;  //
  FSB.Width   := 20;  //

  FSB.Left := Self.Left + Self.Width;
  FSB.Top := Self.Top;
end;

本当にこれで問題ないか?疑問ですが次の段階に進んでみます。

ありがとうございました。



[6759] Re2:ComboBox + ListView返信 削除
2013/3/11 (月) 01:15:26 snail3
▼ 福士さん

ありがとうございます。今日はこれで寝て明日みてみます。


INCM/CMT
Cyclamen v3.82