|
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
CPS0204
註冊時間: 2014-08-24 文章: 441
第 1 樓
|
發表於: 星期三 十二月 01, 2021 1:33 pm 文章主題: 如何偵測edit的文字內容高度? |
|
|
有一個物件=edit
當中的文字可以輸入一行,或10,20行
例:文字內容為
ABC
12345
THIS IS A BOOK
然後測得是3行高度
***************
請問:有無方法,可以偵測他是幾行的高度! 是內容文字的幾行高度,不是物件的外框高度!
以方便我轉excel時,適當的將row height 放大! |
|
回頂端 |
|
|
garfield Site Admin
註冊時間: 2003-01-30 文章: 2157
第 2 樓
|
發表於: 星期三 十二月 01, 2021 3:40 pm 文章主題: |
|
|
MEMLINES(MemoFieldName)
不能符合你的需求嗎? _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. |
|
回頂端 |
|
|
小賴
註冊時間: 2004-12-27 文章: 470
第 3 樓
|
發表於: 星期三 十二月 01, 2021 7:20 pm 文章主題: |
|
|
1. 先測試 excel 放 1 排 2排 3 排 ...... n 排字時所需高度為何(row hight)
2. edit 內的文字列數可依 MemLine () 求得 (二樓 garfield 提示了)
或者你希望依 nCount = ALine() 求算列數; 二者有點不同 |
|
回頂端 |
|
|
CPS0204
註冊時間: 2014-08-24 文章: 441
第 4 樓
|
發表於: 星期三 十二月 01, 2021 7:20 pm 文章主題: |
|
|
可以了,感恩 |
|
回頂端 |
|
|
syntech
註冊時間: 2003-05-16 文章: 4212 來自: Taipei,Taiwan
第 5 樓
|
發表於: 星期三 十二月 01, 2021 10:50 pm 文章主題: |
|
|
這樣做通常可以應付9成的情況
通常我會先知道那個cell 可以放多少字元,
假設為 n,
那就要先用 SET MEMOWIDTH TO n
再用 MEMLINES() 或是ALINES() 的話,
傳回來的 行數就是以每行n的字元計算的,
但這裡會有一個誤區 ---- 最後一個字(word)會不會被切掉
這會導致你可能多算或少算一行
當你做過測試後會發現 行數+1 ,多留一行會比較好看
接著 cell.font.size 還要加一點行距.
最後差不多就會像:
oleEXCEL.ActiveWorkbook.Sheets(1).Cells(IDX,16).RowHeight = (MEMLINES(欄位)+1) * (oleEXCEL.ActiveWorkbook.Sheets(1).Cells(IDX,16).font.size +1)
註:照抄,出事不管
但我必須以我的經驗告訴你,
excel 跟你想的不一樣
_________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
garfield Site Admin
註冊時間: 2003-01-30 文章: 2157
第 6 樓
|
發表於: 星期四 十二月 02, 2021 9:23 am 文章主題: |
|
|
excel 可以調整最適欄寬
.Selection.Columns.autofit
行高
.Rows("1").EntireRow.AutoFit _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. |
|
回頂端 |
|
|
syntech
註冊時間: 2003-05-16 文章: 4212 來自: Taipei,Taiwan
第 7 樓
|
|
回頂端 |
|
|
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|