@飞扬工作室 视窗的创建窗口有错误
例如设置无边框,但窗口被创建后会先显示为有边框,然后 闪一下 才改变为 无边框。
// 在创建窗口前本方法会被提前调用,此时需要根据用户所设置的相关属性将pCreateParam->m_dwStyle和
// pCreateParam->m_dwExStyle设置完整,以便调用方据此将窗口的用户区尺寸转换到窗口尺寸.
void CVWnd_WinForm::OnPrepareWindowStyle (CVolNativeWndCreateParam* pCreateParam)
{
#ifndef _VOL_FOR_UI_DESIGNER// 不为编译布局设计器专用版本?
if (IsEmptyStr (pCreateParam->m_szCaption) && m_blpControlBox)
pCreateParam->m_szCaption = _T_VOL_USER_APP_NAME;
// if (m_blpTransparent)
// pCreateParam->m_dwExStyle |= WS_EX_TRANSPARENT;
#endif
pCreateParam->m_dwStyle |= WS_CLIPCHILDREN;
if (m_npBorderType != 0)
{
if (IsEmptyStr (pCreateParam->m_szCaption) == FALSE || m_blpControlBox)
pCreateParam->m_dwStyle |= (WS_CAPTION | WS_BORDER);
if (m_blpControlBox)
pCreateParam->m_dwStyle |= (WS_SYSMENU | WS_BORDER);
#ifndef _VOL_FOR_UI_DESIGNER// 不为编译布局设计器专用版本?
pCreateParam->m_dwStyle |= WS_DLGFRAME;
#else
pCreateParam->m_dwExStyle |= WS_EX_DLGMODALFRAME;
#endif
if (m_blpMaxBtn)
pCreateParam->m_dwStyle |= WS_MAXIMIZEBOX;
if (m_blpMinBtn)
pCreateParam->m_dwStyle |= WS_MINIMIZEBOX;
}
switch (m_npBorderType)
{
case 1:// 普通可调边框
pCreateParam->m_dwStyle |= WS_THICKFRAME;
break;
case 2:// 普通固定边框
break;
case 3:// 窄标题可调边框
pCreateParam->m_dwStyle |= WS_THICKFRAME;
case 4:// 窄标题固定边框
pCreateParam->m_dwExStyle |= WS_EX_TOOLWINDOW;
break;
case 5:// 凹入式可调边框
pCreateParam->m_dwStyle |= WS_THICKFRAME;
case 6:// 凹入式固定边框
pCreateParam->m_dwExStyle |= WS_EX_CLIENTEDGE;
break;
default:
ASSERT (m_npBorderType == 0);// 无边框
break;
}
换句话讲,不管你如何设置属性,他始终会以默认 风格创建,
创建完毕后才会 使 设置风格生效 先设置可视窗口为假,打开程序后,在创建完成事件里再把窗口的可视设置为真,这样就不会出现闪了 白雪皑皑0306 发表于 2024-2-27 13:48
先设置可视窗口为假,打开程序后,在创建完成事件里再把窗口的可视设置为真,这样就不会出现闪了 ...
歪招是有的,可明明已知是错误,就应当修复。 urenai 发表于 2024-2-27 15:51
歪招是有的,可明明已知是错误,就应当修复。
似乎很多建议吴老板都视而不见,那还搞那些建议版本有毛用,懒得提意义了,爱啥地啥地,反正不靠这块生活! 不管问题大小,有问题提出来就是好的,希望老吴能看见 修复 完善火山开发平台
页:
[1]