- ベストアンサー
コンボボックスの幅の変更について
CB_SETDROPPEDWIDTHを使用して幅を変更しているのですが、 右に伸びてしまいます。 これを左に伸びるようにしたいと思っています。 DelphiでのQAで以下のようなページがあったのですが、 Delphiを全く知らないため、コードが読めませんでした・・・ このページにあるように、何らかの方法でVBでも左に伸ばすことは 可能でしょうか? よろしくお願いします。 ※Delphiで左に伸びる記述があったページ http://homepage1.nifty.com/MADIA/delphi/delphi_bbs/200312_03120078.html
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
(VBAですが) フォームの描画位置を決定する .Left の値を変化させれば良いだけです。 コマンドボタンをクリックするとテキストボックスの値に応じてコンボボックスの表示が変化します。 Private Sub CommandButton1_Click() Dim ofs As Integer ofs = ComboBox1.Width - TextBox1.Value ComboBox1.Width = TextBox1.Value ComboBox1.Left = ComboBox1.Left + ofs End Sub
その他の回答 (1)
- 1050 円(@1050YEN)
- ベストアンサー率69% (477/687)
Delphiのページで書いてあることを、他の言語でも同じよな手続きを行うと、同じ動きをすると思いますが、、、、そもそも、、、 あなたが実現したい言語は何ですか?
お礼
VisualBasicで実現したいと思っておりました。 Delphiのページに書いてあることは、VBでも可能なのですね。 Delphiというのを全く知らないため、ページに書いてある 内容が理解できなかったので、同じようなことがVBでも 可能なのかどうか、可能であればどうコーディングすれば 良いのかを質問させて頂いたのですが・・・ 時間がなかったこともあったのですが、「Delphiを知らないので 誰か教えて下さい」は、やはり安易な質問でした。 申し訳ございません。 お返事ありがとうございました。
お礼
この場合はコンボボックスの位置自体が右に移動する、 ということですよね。 CB_SETDROPPEDWIDTHを使用すると、リストの部分の幅だけが (右に伸びる形で)変更されるようになっていますが、 変更されたリストの部分を右側を基点に左へ伸ばすことが できないかと考えていました。 それはやはり無理なのでしょうか・・・ (質問文内のサイトでは、Delphiという言語?では可能なようなのですが) また何かご存知でしたらお話伺えたらと思っています。 お返事ありがとうございました。