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; 但是实际运行是程序没有任何反映,是怎么一回事?
展开
 我来答
帐号已注销
2012-03-11 · TA获得超过9898个赞
知道大有可为答主
回答量:4076
采纳率:0%
帮助的人:3558万
展开全部
Windows 记事本就是类似你这样的窗口,有一个自动换行的选项。事实上你用 SetWindowLong 改变样式确实是无效的,我也试过。应该是需要重新创建该控件的。
zhuzg1991
2012-03-10 · 超过11用户采纳过TA的回答
知道答主
回答量:57
采纳率:0%
帮助的人:35.2万
展开全部
你看一下任务管理器,有木有你程序的那个进程,如果有说明你的注册名,和创造名不一致 ,也就是说窗口类名不一致
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式