WIN32 API 编程:创建子窗口(编辑控件 EDIT)后通过菜单选项改变子窗口控件 样式
我创建了一个标准的WIN32API程序,在WM_CREATE消息处理中创建了一个编辑控件hwndEdit=CreateWindow(TEXT("EDIT"),NULL,W...
我创建了一个标准的WIN32 API程序,在WM_CREATE 消息处理中创建了一个编辑控件hwndEdit = CreateWindow (TEXT ("EDIT"), NULL,WS_CHILD | WS_VISIBLE|WS_VSCROLL |ES_LEFT | ES_MULTILINE | ES_NOHIDESEL, 0, 0, 0, 0, hwnd, (HMENU) ID_EDIT,((LPCREATESTRUCT) lParam) -> hInstance, NULL) ;
然后我创建了一个菜单,选择菜单就将这个编辑控件的水平滚动条去除或添加
case ID_MENU_AUTOLINE: hMenu=GetMenu(hwnd); CheckMenuItem(hMenu,LOWORD(wParam), (GetMenuState(hMenu,LOWORD(wParam),MF_CHECKED)?MF_UNCHECKED:MF_CHECKED));bLineFlag=!bLineFlag;
if(bLineFlag)
{
SetWindowLong(hwndEdit,GWL_STYLE, iEditFlag & !WS_HSCROLL);
}
else
{
SetWindowLong(hwndEdit,GWL_STYLE, iEditFlag | WS_HSCROLL);
}
return 0; 但是实际运行是程序没有任何反映,是怎么一回事? 展开
然后我创建了一个菜单,选择菜单就将这个编辑控件的水平滚动条去除或添加
case ID_MENU_AUTOLINE: hMenu=GetMenu(hwnd); CheckMenuItem(hMenu,LOWORD(wParam), (GetMenuState(hMenu,LOWORD(wParam),MF_CHECKED)?MF_UNCHECKED:MF_CHECKED));bLineFlag=!bLineFlag;
if(bLineFlag)
{
SetWindowLong(hwndEdit,GWL_STYLE, iEditFlag & !WS_HSCROLL);
}
else
{
SetWindowLong(hwndEdit,GWL_STYLE, iEditFlag | WS_HSCROLL);
}
return 0; 但是实际运行是程序没有任何反映,是怎么一回事? 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询