问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

关于MFC界面设计的问题:

发布网友 发布时间:2022-04-24 00:05

我来回答

3个回答

热心网友 时间:2023-10-14 19:54

软件界面的形状貌似不可改变。颜色倒是可以设置的
重载函数HBRUSH CExtractStringDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);

// TODO: 在此更改 DC 的任何特性
if(nCtlColor == CTLCOLOR_LISTBOX)
{
pDC->SetBkMode(TRANSPARENT);
// 列表框字体颜色
pDC->SetTextColor(RGB(185, 0, 0));
return m_hbrush;
}
else if(nCtlColor == CTLCOLOR_EDIT)
{
pDC->SetTextColor(RGB(0, 0, 255));
pDC->SetBkColor(RGB( 255, 255, 0));
HBRUSH h = ::CreateSolidBrush(RGB(255, 255, 0));
return h;
}
// TODO: 如果默认的不是所需画笔,则返回另一个画笔
return hbr;
}
在初始化对话框加入m_hbrush = CreateSolidBrush(RGB(205, 255, 205));

热心网友 时间:2023-10-14 19:54

可以通过自画对话框以及贴图来实现您的需求。

热心网友 时间:2023-10-14 19:55

界面的形状可以这样处理,你先在矩形界面上把你不要的部分用别的颜色区别,然后创建窗口后让这颜色透明就行啦。透明代码:(这代码是别人的,我做界面时可以用,希望对你有帮助)

#define LWA_COLORKEY 0x00000001 //方式
#define WS_EX_LAYERED 0x00080000

typedef BOOL (WINAPI *lpfnSetLayeredWindowAttributes)(HWND hWnd, COLORREF crKey, BYTE bAlpha, DWORD dwFlags);
lpfnSetLayeredWindowAttributes SetLayeredWindowAttributes;
//设置成边缘透明
COLORREF maskColor=RGB(0,0,0); //你要透明的颜色
HMODULE hUser32 = GetMoleHandle("user32.dll"); //加载动态链接库SetLayeredWindowAttributes = (lpfnSetLayeredWindowAttributes)GetProcAddress(hUser32,"SetLayeredWindowAttributes");
//取得SetLayeredWindowAttributes函数指针
//为窗口加入WS_EX_LAYERED扩展属性
SetWindowLong(this->GetSafeHwnd(), GWL_EXSTYLE, GetWindowLong(GetSafeHwnd(), GWL_EXSTYLE)^WS_EX_LAYERED);
//调用SetLayeredWinowAttributes函数
SetLayeredWindowAttributes(this->GetSafeHwnd(), maskColor, 192, LWA_COLORKEY);
FreeLibrary(hUser32); //释放动态链接库

以上代码加入OnInitDialog()中,其中 SetLayeredWindowAttributes(this->GetSafeHwnd(), maskColor, 192, LWA_COLORKEY); 里,maskColor为将进行透明处理的颜色, 192为透明度, LWA_COLORKEY为透明方式。

若要透明整个对话框,则LWA_COLORKEY=2;
若要对选定颜色透明,则LWA_COLORKEY=1;
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
长春小飞没有车没有房 碳钢的多久生锈 碳钢多久会生锈 碳钢多长时间会开始生锈 碳钢和铝哪个容易生锈 梦见天宫图是什么意思 光遇2023好友树解锁图鉴 光遇二级节点多少个 ...火柴小女孩》《词语手册》里有很多词语的意思的,求告知 暖融融解释 领淘通淘客助手这个软件怎么样? 怎么用mfc实现界面 MFC界面设计 c语言中mfc界面是什么? vc++ mfc 怎么做界面啊??? 吃完牛肉可不可以吃水果? 多吃牛肉对身体有什么益处的呢??? 吃牛肉可不可以助于消化? 牛肉吃了可以强身健体,有哪些人群不适合吃牛肉呢? 吃牛肉可以提高智力吗 吃牛肉对身体有什么好处 多吃牛肉会带来哪些好处 牛肉那么贵,吃牛肉有什么好处?牛肉有什么优势? 吃牛肉有什么好处? 吃牛肉对身体有什么好处? 请问吃牛肉对身体有什么好处? 通常说一台微机的内存容量为8M,指的是___。 歌曲《难以启齿的柔弱》的背后故事 电梯公寓里的EPS是干什么的? 新浪微博里怎么看距离会员升级还有多长时间?比如说从vip1到vip2再到vi... 新浪微博怎么用手机看会员到期时间呢? MFC就是用来做界面的吗?? 请问大侠知道怎么打开MFC的可视化界面吗? 用MFC做的界面和python做的,有什么区别吗? 关于mfc界面 MFC怎样用菜单切换界面? MFC程序怎样能让界面显示出很漂亮的颜色,如图所示 mfc程序的界面上控件太多,导致一段时间系统死掉 MFC主界面 点击MFC界面按钮,就可以调出来一个已经编译好的Qt界面。如何实现? 基于MFC多窗口界面如何创建 MFC是什么用途? MFC界面怎么根据桌面分辨率自动全屏设置 怎样用mfc开发能切换的界面 如何制作带MFC界面的DLL 怎么实现一个mfc界面程序中嵌入另外一个mfc界面程序 《佳期如梦》匪我思存小说txt全集免费下载 停止访问网页怎么恢复? 佳期如梦txt下载 佳期如梦之今生今世小说txt全集免费下载 求《佳期如梦》全部十部番外TXT格式~~~