- PR -

LISTBOXへのリストの追加について

投稿者投稿内容
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-04-12 21:34
引用:

武装キョンシーさんの書き込み(2006-04-12 10:28)より:

原因がわかりました。divのサイズとListboxのサイズの違いですね。
でも、この横スクロールは中身をスクロールするのではなくてListBox自体をスクロールするのですか?


 そういうことです。div の大きさを決め、その範囲を超えるものについて、スクロールさせなければなりません。div の大きさを指定せず、ListBox の大きさを指定すると、div は中身の大きさに合わせて拡大します。

引用:

データが何も入っていない場合のデフォルトの幅を<div align=justify style=" Width:25em;>の25emにあわせて、リストアイテムの長さは別に用意したテキストボックスに入力した文字により動的に変わっても見られるようにできませんでしょうか?


上をふまえて、div が ListBox そのものだと考え、ListBox は内容物を最大限表示すれば、どうでしょう?(ボーダーをいじっていると、面倒だけど)


と、この部分、投稿時に追加していますが、リファレンスがないので。
引用:

をどのようにすればemで高さを設定できますでしょうか?


em で指定なんてできましたっけ?アイテム数じゃなかったかなぁ?


〆 written by Jitta@わんくま同盟 on 2006/04/12
□ Microsoft MVP for Visual Developer ASP/ASP.NET October, 2005 - September, 2006
ぽぴ王子
ぬし
会議室デビュー日: 2006/03/24
投稿数: 475
お住まい・勤務地: お住まい:城・勤務地:城
投稿日時: 2006-04-13 09:56
私の場合、リファレンスはありますがASP.NETの実行環境がありません

丸投げはイカンのではないのかなぁ、とか思いつつ、とりあえずわかるところだけ。
(って、これはJittaさんへの回答になりますかね)

引用:

と、この部分、投稿時に追加していますが、リファレンスがないので。
引用:

をどのようにすればemで高さを設定できますでしょうか?


em で指定なんてできましたっけ?アイテム数じゃなかったかなぁ?


以前自分がやった方法は
コード:
Button1.Height = new Unit("10em");


みたいな感じでしたが(当時はem大好きっ子スペシャルエコー希望の人だった)全部作った後で
コード:
Button1.Height = new Unit(10, UnitType.Em);


ってやり方もあるじゃん!こっちの方がいいじゃん!と知って愕然とした覚えが。

実行環境がないのでテストしてないのと、2年ほど前の記憶を頼りに(やっぱりVS2002なのですが)書いているので間違っているかもしれませんが、ご了承くださいませ。
武装キョンシー
ベテラン
会議室デビュー日: 2006/04/07
投稿数: 57
投稿日時: 2006-04-13 13:58
C言語の書き方でしたが、VBのほうに直してやってみましたが問題なくできました。
EMはPXの8倍くらいで10*7.5 でもいいとおもいました。
ありがとうございました。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-04-13 14:03
引用:

武装キョンシーさんの書き込み (2006-04-13 13:58) より:

EMはPXの8倍くらいで10*7.5 でもいいとおもいました。


http://www5e.biglobe.ne.jp/~access_r/hp/css/css_exp_008.html
http://www.keynavi.net/ja/eg/fb.html

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-04-13 21:49
 Height プロパティって、height 属性?ああ、style.height に展開されるんだ。

 em は、フォントの“高さ”(フォントサイズそのもの)ですが、行間や要素のボーダーなどは考慮していません。しかし、style.height を指定するので、要素全体の高さを指定することになります。

 簡単に言うと、7行になったから「7em」を指定しても、選択肢が7つ表示されないってことです。7つ表示しようとしたら、フォント7つぶんの高さにボーダーやパディング、行間も足してやらねばならん、と。

 「em で指定なんてできましたっけ?アイテム数じゃなかったかなぁ?」とは、こういう意味です。
# 「できましたっけ?」ではなく、「していいんでしたっけ?」の方が良かったかな?

 size 属性(Rows プロパティ)を使いましょう。
コード:
サーバサイド(C#):
ListBox1.Rows = ListBox1.Items.Count; // 確認済み

クライアントサイド(JavaScript):
ListBox1.size = ListBox1.options.length; // 未確認



 まず、HTML, Style Sheet の勉強をしてください。

em が 'M' の大きさが基準だったら困るっす。
"g" や "y" の、ベースラインから下の部分が考慮されないことになります。
英語のノートを買うと、4つの線が引いてありますよね。で、上から3つ目だけ、色が違います。この線が、ベースラインです。em では、線4つぶんの高さになります。ex では、2番目から3番目の線の高さになります。

〆 written by Jitta@わんくま同盟 on 2006/04/13
□ Microsoft MVP for Visual Developer ASP/ASP.NET October, 2005 - September, 2006
ぽぴ王子
ぬし
会議室デビュー日: 2006/03/24
投稿数: 475
お住まい・勤務地: お住まい:城・勤務地:城
投稿日時: 2006-04-14 10:23
引用:

Jittaさんの書き込み (2006-04-13 21:49) より:
 「em で指定なんてできましたっけ?アイテム数じゃなかったかなぁ?」とは、こういう意味です。
# 「できましたっけ?」ではなく、「していいんでしたっけ?」の方が良かったかな?


そういうことでしたか。私が勝手に勘違いしていただけですね。すいません。

[余談]
当時EMを多用していたのは、ブラウザ側で文字のサイズを変えても、【それなりの】大きさになるように設計していたためでした。
(この【それなりの】というのがミソなんですけどね)
テキストボックスを幅10文字分取っていたら、文字のサイズを最大にしても最大の文字サイズで10文字分のテキストボックスになるようにしたいとか、そういう感じで。実際には完全に10文字なんて無理なので、12文字分を取って10文字入れられるぐらいのそれなりの大きさにしたりとか、微調整もありましたが。
でもグリッドやリストボックスには適用しませんでしたね。そこはたぶんJittaさんと同じ考えで「そんなもん『神のみぞ知る』だから人為的に変えちゃいかんだろ」と思っていました。いや、今も思ってますけど。
普通はまずデザイン的に大きさありきみたいなところがあるので、こういったEM至上主義なシステムは作らせてもらえないかも。
[/余談]

ただ、スレ主さんの
引用:

EMはPXの8倍くらいで10*7.5 でもいいとおもいました。


を見たら、やっぱりこう言うしかないのかなあとは思います。

引用:

 まず、HTML, Style Sheet の勉強をしてください。



なんだかよくわかってないくせにしゃしゃり出てしまったようで、申し訳ないです。
武装キョンシー
ベテラン
会議室デビュー日: 2006/04/07
投稿数: 57
投稿日時: 2006-04-14 13:08
引用]
EMはPXの8倍くらいで10*7.5 でもいいとおもいました。

と書いたのはただ単にDIVでつけた右と下の固定されたスクロールの中に置いたリストボックスのほうで項目増えた場合にスクロールが表示されてDIVのほうと2重にならないようリストボックスの高さ自体を初期値(8行分)以上から項目追加を行うたびに調整するのにうまくいった値だったということです。
ところでRowってリストボックス自体の高さでなくて表示される行数?
<listbox・・・>の中のheightで10em(初期値)と設定しているとダメなのですか?
うまくいかなかったのですが・・・。
最初の空の場合の初期状態でもボックスはdivのスクロールにあわせて形をきれいにしたいので・・・・。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-04-14 21:08
引用:

ぽぴ王子さんの書き込み(2006-04-14 10:23)より:

なんだかよくわかってないくせにしゃしゃり出てしまったようで、申し訳ないです


「「em で指定なんてできましたっけ?アイテム数じゃなかったかなぁ?」とは、こういう意味です。」は、ぽぴ王子さん宛ですが、この部分は武装キョンシーさん宛です。ごちゃ混ぜに書いているのは、確かに申し訳ない。

引用:

テキストボックスを幅10文字分取っていたら、文字のサイズを最大にしても最大の文字サイズで10文字分のテキストボックスになるようにしたいとか、そういう感じで。


 基本フォントは「プロポーショナル」ですから、フォントの高さが必ずしも幅と一致するわけではありません(という意味ですよね)。
 また、縦に「行間」があるように、横にも「文字間」がありますから、必ずしも「10文字分」が、「文字10個分」に等しくなるわけでもありません。

 息子の国語の宿題を見て思ったことですが、日本では「同じ大きさで文字を描く(あえてこっちを使います)」ことを教育されているので、欧米的な大きさの違う文字を前提とした基準には、沿わないのでしょうね。縦書き、横書きの文化的な違いもあるし。


 参考までに。
ゲーム製品のローカライズ from ディベロッパー製品開発統括部 Blog
フォント関連の苦労がうかがえます。


武装キョンシーさん
 掲示板で聞くより、自分で検索した方が早いですよ。
http://www.tohoho-web.com/

スキルアップ/キャリアアップ(JOB@IT)