CClientDC dc(this);
dc.SetBkMode(TRANSPARENT);
dc.TextOut(0,0,"Hello World!!!!");
MFC的DLG工程,代码放在OnInitDialog()函数中,界面不显示。为什么啊我另外又建了个static的控件
static CDC memdc;
memdc.CreateCompatibleDC(GetDlgItem(IDC_Bitmap_STATIC)->GetDC());
memdc.SetBkMode(TRANSPARENT);
memdc.TextOut(0,0,"Hello World!!!!");
我想显示在static空间中,还是不行呢?
差点什么东西吗
dc.SetBkMode(TRANSPARENT);
dc.TextOut(0,0,"Hello World!!!!");
MFC的DLG工程,代码放在OnInitDialog()函数中,界面不显示。为什么啊我另外又建了个static的控件
static CDC memdc;
memdc.CreateCompatibleDC(GetDlgItem(IDC_Bitmap_STATIC)->GetDC());
memdc.SetBkMode(TRANSPARENT);
memdc.TextOut(0,0,"Hello World!!!!");
我想显示在static空间中,还是不行呢?
差点什么东西吗
解决方案 »
- 关于动态单选按钮的问题
- vlc播放视频
- *.ocx控件的注册
- CListCtrl的问题求教: 我增加listctrl的右键事件, 发现不能准确定位哪个单元格被点击???
- 各位帮忙:vc中怎么使用默认打印机打印
- 初学sdk,问个问题
- [Help]如何实现QQ在线和离线状态的切换?
- 关于glclearcolor()的一个问题
- 那年夏天,11才刚够2个猩猩,向总还在为我即将成为万元户而羡慕嫉妒恨,我穿了两条裤衩漫步在CSDN沙滩
- MFC建立的三种dll有何区别?(80分)
- 问题未结,再发一蛋——MSCOMM控件 and CSerialport类,强淫们请进!!
- 怎样重新调整CListCtrl上的项目
CClientDC dc(this);
dc.SetBkMode(TRANSPARENT);
dc.TextOut(0,0,"Hello World!!!!");
=========================================
OnInitDialog时窗口还没有显示好呢,当然没办法显示了,加在OnPaint中.
CClientDC dc(this);
dc.SetBkMode(TRANSPARENT);
dc.TextOut(0,0,"Hello World!!!!");
}
{
CDC memdc;
memdc.CreateCompatibleDC(GetDlgItem(IDC_Bitmap_STATIC)->GetDC());
memdc.SetBkMode(TRANSPARENT);
string text="haha";
memdc.TextOut(0,0,text.c_str(),text.size());
}
放在OnPaint()中,上面那段代码在Client要显示,但我想在static控件中显示就不行了,为什么?
下面那段代码,在static中显示不出来
代码也是
CClientDC dc(this);
dc.SetBkMode(TRANSPARENT);
dc.TextOut(0,0,"Hello World!!!!");
不是
memdc
dc.SetBkMode(TRANSPARENT);
dc.TextOut(0,0,"Hello World!!!!");
只能显示在Client窗口上,我想显示在static控件中啊
IDC_XXX为控件的坐标;
第二,如果还想在static里成画图什么的```派生个子类MyStatic,里面的onpaint里画好你的东西,当然,TextOut是可以用的``````
从 CStatic 派生 CYourStatic
void CYourStatic::OnPaint()
{
CPaintDC dc(this);
dc.SetBkMode(TRANSPARENT);
dc.TextOut(0,0,"Hello World!!!!");
}在界面窗口所在类的头文件里#include YourStatic.h
在界面设计器上放一个静态文本框
将静态文本框的ID由IDC_STATIC改成任何其它的内容
在界面设计器上按下Ctrl键不放的同时按下"W"键
在弹出的ClassWizard中选择第二个page
为该静态文本框添加控件成员变量
将该控件成员变量的基类由CStatic改为CYourStatic
点Ok
CDIBSectionLite gDibMgr;
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);
gDibMgr.SetBitmap((HBITMAP)bitmap); //OnInitDialog()函数中 gDibMgr.Draw(GetDlgItem(IDC_Bitmap_STATIC)->GetDC(),CPoint(0,0));//OnPaint()函数中
这样,能马上将图显示在Static控件中。(证明这样写可以在Static控件中显示位图)
但我写成:
CClientDC dc(this);
dc.SetBkMode(TRANSPARENT);
dc.TextOut(0,0,"Hello World!!!!");
HBITMAP hbitmap = (HBITMAP*dc.GetCurrentBitmap();
gDibMgr.SetBitmap(hbitmap);
gDibMgr.SetBitmap((HBITMAP)bitmap); //OnInitDialog()函数中
TextOut()中内容,在Client窗口中有显示,但Static控件中就不能显示了。中间就有个GetCurrentBitmap()函数,是不是这个函数的用法不对。