MFC中TextOut函数为什么不能再OnCreat窗口创建函数中输出字符
MFC中TextOut函数为什么不能再OnCreat窗口创建函数中输出字符,而CreateSolidCaret函数可以再OnCreat函数中使用来创建插入符,函数的执行机...
MFC中TextOut函数为什么不能再OnCreat窗口创建函数中输出字符,而CreateSolidCaret函数可以再OnCreat函数中使用来创建插入符,函数的执行机制是什么样子的
展开
2个回答
2013-07-16
展开全部
楼上分析的很对……TextOut函数需要设备描述表句柄,在OnCreate函数中(窗口创建的消息中),设备描述表还没加载完成,所以TextOut还不能使用,你可以放到OnCreate的末尾试试看.。至于CreateSolidCaret()创建一个插入符,这个函数的使用不需要创建一个设备描述表句柄,所以在OnCreate的使用没有出错,CreateSolidCaret()创建一个插入符,也相当于窗口的一部分,在ShowWindow的时候会连同窗口的其余子窗口控件一同显示在窗口中。所以CreateSolidCaret应该在CreateWindow的时候就初始化和创建,这就是为啥你说CreateSolidCaret()调用没有出错的原因
2013-07-16
展开全部
TEXTOUT中有一个参数是HDC,这个是个设备句柄,在OnCreate是,窗口才创建,这是还没有设备(这里是屏幕设备)与窗口关联,所以textout是不能用的。textout一个典型的用到的地方是ONPAINT是,绘图是使用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询