兼容DC的问题 本帖最后由 VisualEleven 于 2013-11-07 11:37:13 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 先用FillRect给兼容DC填充下背景颜色,用SetTextColor设置文字颜色等 你这个我都想到了,SetTextColor 的只是字体颜色变了,背景依旧是黑色改变背景这个方法有限制,首先你要得到外部给的背景色,而且万一外部给的是渐变色咋办这样不是把Edit的背景都改了么 “HDC hCompatibleDC = CreateCompatibleDC(hdc);”这个 hdc 必须是 彩色 dc 彩色DC?不懂,跟普通DC有区别么,怎么用呢? 这个 dc 是 GetDC(); 来的? “但结果输出的结果是字体部分全黑色,”字是黑色 ? 还是 字的背景 是黑色 ?hCompatibleDC 有没有 Pen ? 字体背景我画字符的用的是DrawText没要用到Pen所以没定义 SelectObject(hCompatibleDC,hOldBmp); 后把HBITMAP hCompatibleBmp 复制到 剪贴板 看看 对不对。 SetBkMode(hCompatibleDC,nOldColor); LZ这句算啥意思啊?那是给背景设透明吗?该函数第二个参数只有两种选择:OPAQUE 或 TRANSPARENT hCompatibleDC自己填充一下背景色,然后再DrawText 刚用CreateCompatibleBitmap创建出来的位图就是黑色,除非你内存DC中的是32位位图,最后用AlphaBlend画出来 楼主只是DrawText,没必要用双缓冲吧,直接DrawText到屏幕DC即可 我想的是当输入的字符长度大于控件宽度时,用兼容DC截取显示我想要的部分DrawText时指定了RECT,就不会画到RECT外面吧 我想的是当输入的字符长度大于控件宽度时,用兼容DC截取显示我想要的部分DrawText时指定了RECT,就不会画到RECT外面吧是啊 但是它只显示前面一部分的,后面不显示 而我要的效果是可以截取任何一部分,或中间,或结尾 可以考虑使用SetWindowOrgEx那类函数 【求助】三维向量旋转 怎样既用system("PAUSE")又不显示DOS窗口? 建了一个群(11073715),希望能与大家交流一下:) 请教:如何用Win32 API 取系统用户的账号信息啊? 给个思路或相关代码?在线等待...给个提示也行 请问哪本WIN32API的参考大全最好呀? ■□■怎样在一个程序内控制另一个程序的启动?■□■ 有关消息队列的问题 如果实现一个程序不被强行(CTRL+ALT+DEL)关闭? 请教DWG文件格式 控件是怎么开发的,和浏览器有什么关系啊 求助,timeSetEvent与timeKillEvent的使用,导致进程不能退出
改变背景这个方法有限制,首先你要得到外部给的背景色,而且万一外部给的是渐变色咋办这样不是把Edit的背景都改了么
这个 hdc 必须是 彩色 dc
字是黑色 ? 还是 字的背景 是黑色 ?
hCompatibleDC 有没有 Pen ?
我画字符的用的是DrawText没要用到Pen所以没定义
后
把
HBITMAP hCompatibleBmp
复制到 剪贴板 看看 对不对。
LZ这句算啥意思啊?那是给背景设透明吗?
该函数第二个参数只有两种选择:OPAQUE 或 TRANSPARENT
是啊 但是它只显示前面一部分的,后面不显示
而我要的效果是可以截取任何一部分,或中间,或结尾
可以考虑使用SetWindowOrgEx那类函数