背景信息:我正在开发Windows 10应用。在我的应用程序中,我正在使用嵌套控制台。我熟悉GetSystemMetrics()
并使用其中的一些参数来定义控制台的物理外观(即SM_CXBORDER
,SM_CXDLGFRAME
等)。
问题:如果我想调整嵌套子控制台(即子控制台的子控制台)的大小,应该查看哪个参数?我当前的逻辑将用户cmd输出到此控制台。超时,输出会累积。例如,如果用户输入cmd Time
10次,则他/她将需要开始滚动输出以查看以前的任何输出。在所需的情况下,用户无需滚动即可输入10次cmd Time
,这可以通过垂直扩展控制台来完成。作为用户,我宁愿扩展控制台而不是滚动输出。纯粹是为了获得更好的可见性和减少拥塞。
尝试::我尝试更改DLGFRAME
,DLGWINFRAME
,RESIZEFRAME
和SCROLL
。但是,我并没有取得多少成功。
答案 0 :(得分:1)
经典Windows API中没有布局引擎可以使您的窗口自动扩展大小
“将窗口大小调整为文本大小”是仅在更复杂的GUI工具箱中实现的功能。
如果您坚持在GUI上使用经典的Windows API(有点像在使用石器时代的工具)-唯一的选择是计算渲染文本的大小(假设它始终是一行或使用带有DT_CALCRECT标志的DrawText),并以该数量扩展主窗口和文本控件。
总的来说,切换到真正的GUI工具包比使用WINAPI和重新发明极其复杂的轮子要明智得多
顺便说一句,不要将其称为控制台-因为控制台是用于指代使用其他API的Windows控制台终端的术语-您的问题与现有术语混淆