[英]How to check if the length or width of Row in a window is greater than the width of its parent window C++
恐怕您將對此有疑問。
制作復選框多行的設置為ES_MULTILINE
,如果您在此處查看,則會看到它指出:
要使用CreateWindow或CreateWindowEx函數創建編輯控件,請指定EDIT類,適當的窗口樣式常量以及以下編輯控件樣式的組合。 控制被創建后 ,這些樣式不能修改,特別注明的除外 。
因此,在我看來,您有三種前進的方式,這取決於您覺得對您來說最好還是最優雅。
無論如何,在資源編輯器中將控件設置為多行。 那就沒關系,並且會自動換行。 無需更改設置。
實現所需的功能以限制可縮小到的窗口的大小。 如果您有興趣,我可以告訴您。 這樣,如果正確設置控件的調整大小屬性,則可以將其調整為更大的大小,但只能縮小已知的尺寸(即:您在資源編輯器中創建的尺寸)。
可能在同一位置有兩個控件,一個為多行,一個為單行。 當您決定要顯示哪個時,請交換可見性。 但是我認為這是一個壞主意,有點頭疼,不值得麻煩。
恕我直言,我會同時做主意1和主意2,並且很樂意將我的回答擴展為提供更多信息。
看完您的圖像和有關翻譯的評論后,便有了第四個想法。 如果您使用第三方應用程序來管理翻譯並使用衛星DLL文件,則可以根據語言來調整資源。 由於有些冗長的性質,有時我不得不使某些窗口的默認寬度變寬。
我已經為復選框設置了BS_MULTILINE。 窗口的最小大小是固定的,但我只希望復選框適合其中。 我希望它在與其他標簽相同的行中至少顯示一個單詞,在第二行中顯示其余單詞。 因此,我正在檢查第一行的總寬度是否大於窗口的寬度,然后在其中顯示帶有\\ r \\ n的字符串,否則顯示正常的字符串。 但是,我想使復選框的第一行或第一個單詞與復選框對齊,其余單詞應位於第一個單詞之下。 當前,該復選框位於兩行之間,看起來很奇怪。 反正我能做到這一點嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.