win API的高手进来啊

golinjin 2003-12-11 11:57:30
我用CreateStatusWindow创建了一个状态栏,但窗口变大后,状态栏的大小和位置却不会随窗口改变而变,仍然保持原来的大小停在原来的位置,怎么让它随窗口而变化?还有哪个API函数可以用来在它上面指定位置写文本啊?
...全文
32 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
foxmail 2003-12-12
  • 打赏
  • 举报
回复
1 WM_SIZE
自己再MoveWindow 或SetWindowPos
2 我忘了,但窗口的话都可以SetWindowText吧
lye 2003-12-12
  • 打赏
  • 举报
回复
要改变状态栏的风格,你用函数SendMessage()试一下呀。
注:只提供思路
golinjin 2003-12-12
  • 打赏
  • 举报
回复
还是取消上面问题。用SB_SETPARTS和SB_SETTEXT就可以解决我的所有问题啦。谢谢各位提点

最后悄悄问一句:我这个板块的信誉分怎么也少啦:(
golinjin 2003-12-12
  • 打赏
  • 举报
回复
取消上面问题。改成如何设置statusbar的panel数量
golinjin 2003-12-12
  • 打赏
  • 举报
回复
很好噢。又学到东西了。
还想问问,就是如何使创建的状态栏呈现凸起或凹下?
fbmsf 2003-12-12
  • 打赏
  • 举报
回复
下面的是设置文字的。
SendMessage(hWinStatus,SB_SETTEXT,0,@szBuffer);

----------
MoveWindow(hWinStatus,0,0,0,0,TRUE);
上面的是让hWinStatus随窗口而变化。
代码放在窗口的处理WM_SIZE中.
checkyvc6 2003-12-12
  • 打赏
  • 举报
回复
DrawStatusText()可以写文本
其实你可以通过发送消息的方式给msctls_statusbar32窗口过程
然后由窗口过程自己来处理。具体发什么消息你查查msdn
例如
SB_SETTEXT
wParam = (WPARAM) iPart | uType;
lParam = (LPARAM) (LPSTR) szText;
就是改变一栏的text
lykevin 2003-12-12
  • 打赏
  • 举报
回复
其实窗口已经重绘了,但是你在WM_PAINT里面没有刷新,可能改写一下WM_PAINT消息就可以了!!停留在那里是因为上次画的没有重绘!!你在试一下!!
fbmsf 2003-12-12
  • 打赏
  • 举报
回复
98= 100- 2

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧