最近刚开始学VC++,找了孙鑫老师的视频教程来看。由于孙老师用的是VC6.0,我的电脑里装的是2005,因此发现几个自己无法解决的问题。还请高人们指点一下:
1.在vc6.0中要设置对话框静态文本颜色的时候,只要重写WM_CTLCOLOR消息,在OnCtlcolor()函数中设置
pDC->SetTextColor(RGB(r,g,b));就可以。
但是在vs2005中,这个方法只对static text文本有效,对组框GroupBox左上角的文本却无效。可是在孙老师的视频中,这个函数应该是对两个都有效的。vs2005 GroupBox左上角的静态文本默然为一种浅蓝色,我怀疑是MFC做了什么规定,但是我不知道是为什么,请老手们指点一下迷津。
2.同样是设置静态文本的问题,在孙老师的视频中,要设置static text的字体,比如说设成“华文行楷”,只要创建一个CFont的对象,然后将这个对象载入到DC中就可以,可是在我的VS2005中,用这种方法只能改变字体大小,却不能更改字体。显示出的字体依然是默然的宋体。孙老师的代码是:
CFont m_font;
m_font.CreatePointFont(150,_T("华文行楷"));
然后在OnCtlColor()这个函数中写:pDC->SelectObject(&m_font);这样就可以将static text设置成华文行楷的字体,但是在vs2005中完全无效。请前辈们指点。
3.vs6.0中设置程序启动画面用的那个CSplashWnd的插件到底在哪里?在vs6.0中只要选择插入项目--组件与控件,就可以但是在2005中这个鬼东西到底在哪里?有人说右键工具栏--选择设备,但是我在里面依然没有找到所谓的Splash组件。
以上问题,恳求高人们指点
1.在vc6.0中要设置对话框静态文本颜色的时候,只要重写WM_CTLCOLOR消息,在OnCtlcolor()函数中设置
pDC->SetTextColor(RGB(r,g,b));就可以。
但是在vs2005中,这个方法只对static text文本有效,对组框GroupBox左上角的文本却无效。可是在孙老师的视频中,这个函数应该是对两个都有效的。vs2005 GroupBox左上角的静态文本默然为一种浅蓝色,我怀疑是MFC做了什么规定,但是我不知道是为什么,请老手们指点一下迷津。
2.同样是设置静态文本的问题,在孙老师的视频中,要设置static text的字体,比如说设成“华文行楷”,只要创建一个CFont的对象,然后将这个对象载入到DC中就可以,可是在我的VS2005中,用这种方法只能改变字体大小,却不能更改字体。显示出的字体依然是默然的宋体。孙老师的代码是:
CFont m_font;
m_font.CreatePointFont(150,_T("华文行楷"));
然后在OnCtlColor()这个函数中写:pDC->SelectObject(&m_font);这样就可以将static text设置成华文行楷的字体,但是在vs2005中完全无效。请前辈们指点。
3.vs6.0中设置程序启动画面用的那个CSplashWnd的插件到底在哪里?在vs6.0中只要选择插入项目--组件与控件,就可以但是在2005中这个鬼东西到底在哪里?有人说右键工具栏--选择设备,但是我在里面依然没有找到所谓的Splash组件。
以上问题,恳求高人们指点
3.CSplashWnd 在VS2005中好像去掉了,自己手动写一个就可以
很简单的,在主界面起来前先创建并显示自己的SplashWnd,并暂停个几秒,再消掉这个窗口,显示主窗口就可以了
nCtlColor == CTLCOLOR_STATIC
&& pWnd->GetDlgCtrlID() == IDC_STATIC_***
2 在OnInitDialog初始化对话框里设就行了
GetDlgItem(IDC_STATIC_***)->SetFont(&m_font);
3 没有了要自己写http://blog.csdn.net/libenqing/archive/2010/10/24/5961991.aspx