对话框皮肤(地下城皮肤怎么获得)

 
设置圆角对话框:(网上说在onsize中做,我还没有尝试,目前写在OnInitDialog里面了)
CRectrect;
GetWindowRect(&rect);
CRgnreg;
reg.CreateRoundRectRgn(reg.left,reg.top,rgn.width(),rgn.Height());
SetWindowRgn(rgn,true);
 设置窗体启动时的大小:
SetWindo

大家好,又见面了,我是你们的朋友全栈君。

 

设置圆角对话框: (网上说在onsize中做,我还没有尝试,目前写在OnInitDialog 里面了)

CRect rect;

GetWindowRect(&rect);

CRgn reg;

reg.CreateRoundRectRgn(reg.left,reg.top,rgn.width(),rgn.Height());

SetWindowRgn(rgn,true);

 设置窗体启动时的大小:

SetWindowPos();   需要详细了解用法

MoveWindow();

注意屏幕坐标客户坐标转化

CenterWindow() 对话框居中设置

 子对话框 覆盖在父对话框上

子对话框 设置属性: 边框 none ,类型 child,

设置子对话框透明,  设置属性TransParent 为true

子对话框 通信父对话框

 

::SendMessage(::GetParent(this->m_hWnd),WM_SYSCOMMAND,0xF012,0);

表示,拖动子对话框 带动 父对话框 一起移动

 

在父 对话框的 oninitDialog 中,创建 非模态对话框

GetWindowRect(&rect);

ScreenToClient(&rect);

CsubDialog *pSubDialog

pSubDialog = new CsubDialog();

pSubDialog->Create(IDD_SUBDIALOG,this);

pSubDialog->MoveWindow(rect.left,rect.top,rect.Width(),50); 设置子对话框 在 父对话框 中的位置

pSubDialog->BringWindowToTop();  顶置子对话框

pSubDialog->ShowWindow(SW_SHOW);   显示子对话框

 

设置对话框风格:

ModifyStyleEX(0,WS_EX_TOPMOST,SWP_SHOWWINDOW);

 

设置透明对话框(没有尝试这个,现在记在这里,备用

 

SetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE,GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE)^0x80000);
//SetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE,GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE) | 0x80000);
   HINSTANCE hInst = LoadLibrary(L”User32.DLL”);       
  if(hInst)           
  {           
      typedef BOOL (WINAPI *MYFUNC)(HWND,COLORREF,BYTE,DWORD);           
      MYFUNC fun = NULL;          
      //取得SetLayeredWindowAttributes函数指针           
      fun=(MYFUNC)GetProcAddress(hInst, “SetLayeredWindowAttributes”);          
      if(fun)fun(this->GetSafeHwnd(),0,200,2);   
      Invalidate();  
      FreeLibrary(hInst);

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/129472.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vue中使用input file上传文件

    vue中使用input file上传文件刚刚学习前端的时候还是觉得这个东西好难的样子,后来第一家公司由于没有这个需求就没用过,现在这家公司由于要求很完美的组件,我就是用的vue组件vue-image-crop-upload(适用于pc端的比较好的组件),先在这里记录用法下次再去把vue-images-crop-upload这个组件记录下…

    2022年7月17日
    77
  • eagle-eye介绍

    eagle-eye介绍简介淘宝现在是一个由很多个应用集群组成的非常复杂的分布式系统。这些应用里面主要有处理用户请求的前端系统和有提供服务的后端系统等。这些应用之间一般有RPC调用和异步消息通讯两种手段,RPC调用会产生一层调一层的嵌套,一个消息发布出来更会被多个应用消费,另外,应用还会访问分库分表的数据库、缓存、存储等后端,以及调用其他外部系统如支付、物流、机彩票等。请试想一下,现在淘宝一个买家点击下单按…

    2022年8月16日
    9
  • Hmily 源码解析(二)—— Hmily事务工作流程「建议收藏」

    Hmily 源码解析(二)—— Hmily事务工作流程「建议收藏」Hmily源码解析(二)前言这一篇不想谈论Hmily源码的技术实现,而是想在过了一遍hmily的实现后把hmily的工作思路单独地整理出来再进行一次总结。看看能不能进一步有所得。以hmily-demo-springcloud为例,它的实现思路如下。Hmily事务工作流程首先它是基于切面编程来实现分布式事务的操作,及通过日志记录TCC事务的信息以保证最终一致性。前…

    2022年5月11日
    33
  • IndexReader已解决的问题

    IndexReader已解决的问题

    2022年1月5日
    41
  • 五子棋 人机对战 思路「建议收藏」

    五子棋 人机对战 思路「建议收藏」五子棋之人机对战思路:1,棋盘与棋子的实现2,玩家下完棋后,计算机要根据当前玩家所下的棋子找出最佳下棋点3,输赢的判断之前已经把人人对战的大概方法实现了,接下要实现的是人机的对战。我的思路如下(当然只是思路哈~还没具体实现呢):其实人机对战就是就在我们下完一步起后,通过电脑分析下一步该走哪,对此做出判断并在最佳的位置上出棋。1,首先需要定义权值,我做…

    2022年6月17日
    67
  • SQL Server 配置管理器无法打开

    SQL Server 配置管理器无法打开在把机器重启后SQLSERVER配置管理器就无法正常打开了

    2022年7月20日
    18

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号