两个简单问题40分在线结贴.没齿难忘 1:谁教我做个基于对话框应用程序启动界面,用来确认用户名和密码.2:如何动态改变一个控件上字体颜色,用哪个控件最方便,怎么做呢?有源程序更好。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1、很简单,你再做一个对话框,在App的InitInstance函数中在实际的对话框之前调用其DoModal,在依据返回值判断是不是执行后面真正的内容2、如果说要改变控件的字体颜色,的确有很多现成的代码,我这就有一个标签控件,需要的话留下mail 好谢谢,[email protected]就第二个问题,我想用来实现如下功能:如果数据正确在对话框某个位置或者某个控件上显示GREEN字体.如果数据错误则显示RED字体,应该怎样做好,可否给个链接 或者源码? MAIL已发你的要求只要使用MAIL中的控件在不同的情况下设置不同的字体颜色即可实现。具体请参见示例 能给我一份吗?[email protected] HBRUSH CSetTextColorDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); //BOOL bError = FALSE; if (pWnd == &m_Text) if (bError) pDC->SetTextColor(RGB(255, 0, 0)); else pDC->SetTextColor(RGB(0, 255, 0)); // TODO: Return a different brush if the default is not desired return hbr;}你只要将bError声明为类的成员变量,然后再相应的地方改变他的值,并且调用Invalidate();就可以了。 谢谢我来也师兄,稍等片刻我再结贴。我想问楼上小周周:1:此方法是不是修改过后要重画才行2:Invalidate函数在哪里?是什么? 快回答我这两个问题啊,我马上结贴!1:此方法是不是修改过后要重画才行2:Invalidate函数在哪里?是什么?,我调用了过后屏幕不停地被刷新. 楼上,以你的情况看,不需要调用Invalidate() Invalidate刷新函数了可以只有用了this->Invalidate(TRUE);这个函数你不能在onpaint里用 Invalidate是用来刷新你的窗口显示的函数,不要在OnCtlColor中调用。zhouyong0371(小周周) 的意思是你应该在改变bError的值也就是判断数据正确与否之后调用。 innosetup注册msado15.dll卸载后重装无法连接数据库 请问如何解决窗口刷新时的闪烁? 如何在listview中加入checkboxs 救命呀还有两天就要交了请帮我作一个小程序吧 小型图书馆管理程序。建议具有书籍存储与信息检索、借阅者信息存储与检索、借还书操作及相 请问如何处理"子窗口焦点"事件? 请问: update(客户端,服务器端)实现原理讨论,希望大家能给点意见 vc下出现这样的错误怎么办啊?? 怎样刷新所有的窗口? 如何在字符串的某个子串后面插入字符串? 请问在OnChar()函数中如何捕获Ctrl+Enter?? 2000下奇怪问题
就第二个问题,我想用来实现如下功能:
如果数据正确在对话框某个位置或者某个控件上显示GREEN字体.
如果数据错误则显示RED字体,应该怎样做好,可否给个链接 或者源码?
你的要求只要使用MAIL中的控件在不同的情况下设置不同的字体颜色即可实现。
具体请参见示例
[email protected]
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
//BOOL bError = FALSE;
if (pWnd == &m_Text)
if (bError)
pDC->SetTextColor(RGB(255, 0, 0));
else
pDC->SetTextColor(RGB(0, 255, 0));
// TODO: Return a different brush if the default is not desired
return hbr;
}
你只要将bError声明为类的成员变量,然后再相应的地方改变他的值,并且调用
Invalidate();就可以了。
我想问楼上小周周:
1:此方法是不是修改过后要重画才行
2:Invalidate函数在哪里?是什么?
1:此方法是不是修改过后要重画才行
2:Invalidate函数在哪里?是什么?,我调用了过后屏幕不停地被刷新.
可以只有用了
this->Invalidate(TRUE);
这个函数你不能在onpaint里用