递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 2445|回复: 5
打印 上一主题 下一主题

[视窗] @飞扬工作室 视窗的创建窗口有错误

[复制链接]

347

主题

1603

帖子

6550

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
6550
QQ
跳转到指定楼层
楼主
发表于 2024-2-27 12:40:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


例如设置无边框,但窗口被创建后会先显示为有边框,然后 闪一下 才改变为 无边框。


  1. //   在创建窗口前本方法会被提前调用,此时需要根据用户所设置的相关属性将pCreateParam->m_dwStyle和
  2. // pCreateParam->m_dwExStyle设置完整,以便调用方据此将窗口的用户区尺寸转换到窗口尺寸.
  3. void CVWnd_WinForm::OnPrepareWindowStyle (CVolNativeWndCreateParam* pCreateParam)
  4. {
  5. #ifndef _VOL_FOR_UI_DESIGNER  // 不为编译布局设计器专用版本?
  6.     if (IsEmptyStr (pCreateParam->m_szCaption) && m_blpControlBox)
  7.         pCreateParam->m_szCaption = _T_VOL_USER_APP_NAME;

  8.     // if (m_blpTransparent)
  9.         // pCreateParam->m_dwExStyle |= WS_EX_TRANSPARENT;
  10. #endif

  11.     pCreateParam->m_dwStyle |= WS_CLIPCHILDREN;

  12.     if (m_npBorderType != 0)
  13.     {
  14.         if (IsEmptyStr (pCreateParam->m_szCaption) == FALSE || m_blpControlBox)
  15.             pCreateParam->m_dwStyle |= (WS_CAPTION | WS_BORDER);

  16.         if (m_blpControlBox)
  17.             pCreateParam->m_dwStyle |= (WS_SYSMENU | WS_BORDER);

  18.     #ifndef _VOL_FOR_UI_DESIGNER  // 不为编译布局设计器专用版本?
  19.         pCreateParam->m_dwStyle |= WS_DLGFRAME;
  20.     #else
  21.         pCreateParam->m_dwExStyle |= WS_EX_DLGMODALFRAME;
  22.     #endif

  23.         if (m_blpMaxBtn)
  24.             pCreateParam->m_dwStyle |= WS_MAXIMIZEBOX;
  25.         if (m_blpMinBtn)
  26.             pCreateParam->m_dwStyle |= WS_MINIMIZEBOX;
  27.     }

  28.     switch (m_npBorderType)
  29.     {
  30.     case 1:  // 普通可调边框
  31.         pCreateParam->m_dwStyle |= WS_THICKFRAME;
  32.         break;
  33.     case 2:  // 普通固定边框
  34.         break;
  35.     case 3:  // 窄标题可调边框
  36.         pCreateParam->m_dwStyle |= WS_THICKFRAME;
  37.     case 4:  // 窄标题固定边框
  38.         pCreateParam->m_dwExStyle |= WS_EX_TOOLWINDOW;
  39.         break;
  40.     case 5:  // 凹入式可调边框
  41.         pCreateParam->m_dwStyle |= WS_THICKFRAME;
  42.     case 6:  // 凹入式固定边框
  43.         pCreateParam->m_dwExStyle |= WS_EX_CLIENTEDGE;
  44.         break;
  45.     default:
  46.         ASSERT (m_npBorderType == 0);  // 无边框
  47.         break;
  48.     }
复制代码


专业承接18-98岁xx的心理及生理教育辅导。
回复

使用道具 举报

347

主题

1603

帖子

6550

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
6550
QQ
沙发
 楼主| 发表于 2024-2-27 12:41:52 | 只看该作者
换句话讲,不管你如何设置属性,他始终会以默认 风格创建,

创建完毕后才会 使 设置风格生效
专业承接18-98岁xx的心理及生理教育辅导。
回复

使用道具 举报

26

主题

353

帖子

2095

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
2095
板凳
发表于 2024-2-27 13:48:31 | 只看该作者
先设置可视窗口为假,打开程序后,在创建完成事件里再把窗口的可视设置为真,这样就不会出现闪了
回复

使用道具 举报

347

主题

1603

帖子

6550

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
6550
QQ
地板
 楼主| 发表于 2024-2-27 15:51:51 | 只看该作者
白雪皑皑0306 发表于 2024-2-27 13:48
先设置可视窗口为假,打开程序后,在创建完成事件里再把窗口的可视设置为真,这样就不会出现闪了 ...

歪招是有的,可明明已知是错误,就应当修复。
专业承接18-98岁xx的心理及生理教育辅导。
回复

使用道具 举报

33

主题

286

帖子

2351

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
2351
5#
发表于 2024-2-27 20:48:06 | 只看该作者
本帖最后由 兵三进一 于 2024-7-22 07:48 编辑
urenai 发表于 2024-2-27 15:51
歪招是有的,可明明已知是错误,就应当修复。


回复

使用道具 举报

0

主题

18

帖子

270

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
270
6#
发表于 2024-2-29 16:42:45 | 只看该作者
不管问题大小,有问题提出来就是好的,希望老吴能看见 修复 完善火山开发平台
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-11-27 11:26 , Processed in 0.094225 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表