C++ WinApi控件没有';不显示在主窗口上

C++ WinApi控件没有';不显示在主窗口上,c++,controls,winapi,C++,Controls,Winapi,您好,我有下面的win32程序,我有一个EDITTEXT控件,它不会显示在屏幕上。主窗口上应该有两个EDITTEXT控件,但只有一个显示,为什么 完整代码 在创建编辑窗口之前,您是否打过电话?CreateWindow()是否返回有效的HWND INITCOMMONCONTROLSEX icc; icc.dwSize = sizeof(icc); // Load one of the intrinsic User32 control classes. // The user controls in

您好,我有下面的win32程序,我有一个
EDITTEXT
控件,它不会显示在屏幕上。主窗口上应该有两个
EDITTEXT
控件,但只有一个显示,为什么

完整代码

在创建编辑窗口之前,您是否打过电话?
CreateWindow()
是否返回有效的
HWND

INITCOMMONCONTROLSEX icc;
icc.dwSize = sizeof(icc);
// Load one of the intrinsic User32 control classes.
// The user controls include button, edit, static,
// listbox, combobox, and scrollbar. 
dwICC = ICC_STANDARD_CLASSES;
::InitCommonControlsEx(&icc);
在创建编辑窗口之前,您是否打过电话?
CreateWindow()
是否返回有效的
HWND

INITCOMMONCONTROLSEX icc;
icc.dwSize = sizeof(icc);
// Load one of the intrinsic User32 control classes.
// The user controls include button, edit, static,
// listbox, combobox, and scrollbar. 
dwICC = ICC_STANDARD_CLASSES;
::InitCommonControlsEx(&icc);

消息文本窗口没有与第一个窗口相同的样式标志。具体地说,它缺少
WS\u VISIBLE
。这很可能是您的问题。

消息文本窗口与第一个窗口的样式标志不同。具体地说,它缺少
WS\u VISIBLE
。这很可能是您的问题。

在使用InitCommonControlsEx加载控件之前,您是否初始化了控件?试试这个代码一

int InitControls() {
    INITCOMMONCONTROLSEX iccx;

    iccx.dwSize = sizeof(INITCOMMONCONTROLSEX);
    iccx.dwICC = ICC_WIN95_CLASSES;

    InitCommonControlsEx(&iccx);
}
记住要包括头commctrl.h和库comctl32.dll


祝你好运

在使用InitCommonControlsEx加载控件之前,是否初始化了控件?试试这个代码一

int InitControls() {
    INITCOMMONCONTROLSEX iccx;

    iccx.dwSize = sizeof(INITCOMMONCONTROLSEX);
    iccx.dwICC = ICC_WIN95_CLASSES;

    InitCommonControlsEx(&iccx);
}
记住要包括头commctrl.h和库comctl32.dll


祝你好运

@sil3nt:没必要道歉。这是你作品中的一个打字错误,还是这解决了问题?不幸的是,这是一个错误,我在写的时候没有注意到。最近才开始学习API:)@sil3nt:没必要道歉。这是你作品中的一个打字错误,还是这解决了问题?不幸的是,这是一个错误,我在写的时候没有注意到。最近才开始学习API:)-1。InitCommonControlsEx()与编辑控件无关。编辑控件是在user32中实现的,而不是在comctl32中实现的。@Xearinox:。即使情况并非如此,调用
InitCommonControlsEx()
并声明它将“加载一个内在的User32控件类。用户控件包括按钮、编辑、静态、列表框、组合框和滚动条”。使用此函数加载编辑控件是合适的,特别是当你想要视觉样式时。@Xearinox:你看过我链接的MSDN文档了吗?Comctl32包含在Windows XP中,文档专门为Windows XP做了一个注释,即编辑控件存在于user32和Comctl32中,并且具有稍微不同的行为(即密码字符的外观)。哦,我知道这个功能。我错了。InitCommonControlsEx()与编辑控件无关。编辑控件是在user32中实现的,而不是在comctl32中实现的。@Xearinox:。即使情况并非如此,调用
InitCommonControlsEx()
并声明它将“加载一个内在的User32控件类。用户控件包括按钮、编辑、静态、列表框、组合框和滚动条”。使用此函数加载编辑控件是合适的,特别是当你想要视觉样式时。@Xearinox:你看过我链接的MSDN文档了吗?Comctl32包含在Windows XP中,文档专门为Windows XP做了一个注释,即编辑控件存在于user32和Comctl32中,并且具有稍微不同的行为(即密码字符的外观)。哦,我知道这个功能。我的错误。