スプレッド幅


WID  2007-02-18 10:19:47  No: 135342

スプレッドシートの幅について、
列幅をピクセル単位で計算して加算しています。
しかし、少し幅が足りません。
+1か+2くらいするとOK
罫線の幅とかなのでしょうか?
また、スクロールバーがあるのとないのとでは
異なります。
皆さんはどのようにしていますか?
ご教授願います。


WID  2007-02-24 09:48:40  No: 135343

列タイトル変更というタイトルの中にあったコメントより、

多分、SPREADの幅って、
「左端の枠線の幅」
「0列目(ヘッダ)の幅」
「0列目と1列目の間の線の幅」
「1列目の幅」
「1列目と2列目の間の線の幅」
・・・・
「最後の列の幅」
「スクロールバーの幅」
「右端の枠線の幅」
でしょうから・・・

以上のことを行いたいのですが、
線の幅、枠線の幅、スクロールバーの幅は
どのようにして算出するのでしょうか?
何かプロパティ、関数があるのでしょうか?
ご教授願います。


大吉末吉  2007-02-26 20:25:49  No: 135344

> 線の幅、枠線の幅、スクロールバーの幅は
> どのようにして算出するのでしょうか?
> 何かプロパティ、関数があるのでしょうか?

なさそうですね。
実際に自分で何ドットか数えるしかないのでは?
(私が見た限りでは、1ドット固定の様に見えますけど・・・)

#スクロールバーの幅については、システム共通サイズでしょうから、
#Win32APIの「GetSystemMetrics関数」や
#「システム情報 (SysInfo) コントロール」とかで参照できるでしょうけど・・・


WID  2007-03-01 09:41:14  No: 135345

大吉末吉さん、ありがとうございます。
スクロールの幅は、APIより取得しました。
セル幅、スクロール幅を加算したところ微妙に足らない…
ちなみにGetSystemMetrics関数のSM_CXFRAMEというのは?


大吉末吉  2007-03-02 02:01:52  No: 135346

何ドット違います?
私の方は、1ドットあふれてしまいました。
#合計値の方が、実際の幅より多い。

で、PrintScreenでハードコーピーをとって、ドット数を数えてみました。
すると、
スクロールバーの幅はAPIによると、16だったのですが、
実際の幅が15ドットしかないです・・・

> 「右端の枠線の幅」
込みのサイズなのかな・・・


WID  2007-03-09 10:34:39  No: 135347

大吉末吉さん、ありがとうございます。
スクロールバーの幅は、16をもとにTwipに変換しています。
240となり、それから8加算するとぴったりとなります。
ただ、その8というのが何なのか・・・


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加