在繪製文本框之前確定文本框的大小。你好,
在實際繪製文本框之前是否可以獲取文本框的大小?
我動態生成一個窗口,需要生成間隔符來對齊對象。 因此,在實際繪製多個文本框元素之前,我需要它們的大小。
乾杯
回复:在繪製文本框之前確定文本框的大小。您可能想嘗試等待(0)。這基本上是說:等待任務完成。
回复:在繪製文本框之前確定文本框的大小。這是我用來確定文本框高度的函數。hide(1) 參數阻止其顯示。
get_height = function({_text, _pixels},
{Default Local},
pname = "get_height";
if (is missing(_text),
// then
pix_height = 0;
,
// else if
_text == "",
pix_height = 0;
,
// else we've got some text to work with
tb = text box(_text, set wrap(_pixels), set width(_pixels), hide(1));
tmp_win = new window("test", tb);
// Get size info
pix_height = (tb << get size)[2];
tmp_win << close window;
);
pix_height;
); // end get_height
回复:在繪製文本框之前確定文本框的大小。嗨大衛,
基本上這就是我最後所做的,只是我沒有刪除窗口,而只是將正確大小的消息發送到帶有“<< Set Width”的文本框
!謹防!
嘗試過此操作的每個人:繪製初始窗口後,您必須稍等一下才能使用“<< Get Size”進行測量。 等待(0.0001)對我來說就足夠了。 如果你不這樣做,就會發生奇怪的事情。 (我花了半天時間才弄清楚)。
!謹防!
回复:在繪製文本框之前確定文本框的大小。粗略的方法 - 創建一個包含您的內容的窗口 - 然後發送消息以獲取大小 - 然後刪除窗口(希望在它實際渲染之前) - 然後使用大小更優雅地渲染窗口 - 我必須使用這種技術有時為了在 Windows 和 Mac 上獲得一致的輸出。
回复:在繪製文本框之前確定文本框的大小。是的,這是可能的,但我想保留一些與同一個數據表交互的 gui 元素,以使代碼更易於閱讀。 因此,最好提前留言告知尺寸。 聖誕節快到了,所以我把它列入了我的願望清單。
回复:在繪製文本框之前確定文本框的大小。是的,有可能,
但我想保留一些與同一個數據表交互的 gui 元素,以使代碼更易於閱讀。
因此,最好提前留言告知尺寸。
聖誕節快到了,所以我把它列入了我的願望清單。
回复:在繪製文本框之前確定文本框的大小。您是否已經用盡了專門負責對齊和佈局的現有顯示框? 他們的自動行為可能會減少或消除您“自己動手”的需要。
回复:在繪製文本框之前確定文本框的大小。您是否嘗試過使用文本框“ShowProperties()”來查看它理解哪些消息? 我想所需的大小取決於您想要放入其中的文本(以及使用的字體)。 下面的示例顯示 JMP 將遵循您設置的任何寬度,但在繪製框時被迫覆蓋高度。
tb = TextBox();
tb << setWidth(20);
tb << setHeight(30);
Print(tb << getWidth, tb << getHeight, "\!n");
tb << setText("How now brown cow");
Print(tb << getWidth, tb << getHeight, "\!n");
NewWindow("Test", tb);
Print(tb << getWidth, tb << getHeight, "\!n");