VC怎样纯代码创建对话框 20
在不创建资源文件的条件下怎样用纯代码创建个对话框,就像CreateWindow那样,用DialogBox来创建。能提供适用方法者加分都不对啊public_chn的是MFC...
在不创建资源文件的条件下怎样用纯代码创建个对话框,就像CreateWindow那样,用DialogBox来创建。
能提供适用方法者加分
都不对啊
public_chn 的是MFC的,用不到
蔡文碧和post667都是废话
乐百哥 的是创建视图的方法,不是对话框的方法
蔡文碧 分明就是COPY的MSDN,这也算帮我,我这里MSDN一大堆,什么SDK的说明文档都有 展开
能提供适用方法者加分
都不对啊
public_chn 的是MFC的,用不到
蔡文碧和post667都是废话
乐百哥 的是创建视图的方法,不是对话框的方法
蔡文碧 分明就是COPY的MSDN,这也算帮我,我这里MSDN一大堆,什么SDK的说明文档都有 展开
5个回答
展开全部
函数功能:该宏根据对话框模板资源创建一个模态的对话框。DialogBOX函数直到指定的回调函数通过调用EndDialog函数中止模态的对话框才能返回控制。该宏使用DialogBoxParam函数。
函数原型:int DialogBox(HINSTANCE hlnstance,LPCTSTRIpTemplate,HWND hWndParent,DLGPROC IpDialogFunc);
参数:
hlnstance:标识一个模块的事例该模块的可执行文件含有对话框模板。
IpTemplate:标识对话框模板。此参数可以是指向一个以NULL结尾的字符串的指针,该字符串指定对话框模板名,或是指定对话框模板的资源标识符中的一个整型值。如果此参数指定了一个资源标识符则它的高位字一定为零,且低位字一定含有标识符。一定用MAKEINTRESOURDE宏指令创建此值。
hWndParent:指定拥有对话框的窗口。
IpDialogFunc:指向对话框过程的指针。有关更详细的关于对话框过程的信息,请参见DialogProc。
返回值:如果函数调用成功,则返回值为在对函数EndDialog的调用中的nResult参数.该函数用于中止对话框。如果函数调用失败,则返回值为C1。若想获得更多的错误信息,请调用GetLastError函数。
备注:DialOgBox宏用CreateWindowEx函数创建对话框。DialogBox函数然后把一个WM_INITDIALOG消息 (和一个WM-SETFONT消息,如果模板指定DS_SETFONT类型)传递到对话框过程。不管模板是否指定WS_VISIBLE类型,函数显示对话框,并且使拥有该对话框的窗口(也称属主窗口)失效,且为对话框启动它本身的消息循环来检索和传递消息。
当对话框应用程序调用EndDialog函数时,DialogBox函数清除对话框户止消息循环,使属主窗口生效(如果以前有效),且返回函数EndDialog调用中的nReSUlt参数。
Windows 95和以后版本:系统可支持每个对话框模板中最多255个控制。为把大于255个的控制放入对话框,需要在WM_INITDIALOG消息处理器中创建控制,而不是把他们放入模板中。
参考资料:http://www.codeguru.cn/Windows/WinApiCN/DialogBox.html
参考http://zhidao.baidu.com/question/33463951.html
函数原型:int DialogBox(HINSTANCE hlnstance,LPCTSTRIpTemplate,HWND hWndParent,DLGPROC IpDialogFunc);
参数:
hlnstance:标识一个模块的事例该模块的可执行文件含有对话框模板。
IpTemplate:标识对话框模板。此参数可以是指向一个以NULL结尾的字符串的指针,该字符串指定对话框模板名,或是指定对话框模板的资源标识符中的一个整型值。如果此参数指定了一个资源标识符则它的高位字一定为零,且低位字一定含有标识符。一定用MAKEINTRESOURDE宏指令创建此值。
hWndParent:指定拥有对话框的窗口。
IpDialogFunc:指向对话框过程的指针。有关更详细的关于对话框过程的信息,请参见DialogProc。
返回值:如果函数调用成功,则返回值为在对函数EndDialog的调用中的nResult参数.该函数用于中止对话框。如果函数调用失败,则返回值为C1。若想获得更多的错误信息,请调用GetLastError函数。
备注:DialOgBox宏用CreateWindowEx函数创建对话框。DialogBox函数然后把一个WM_INITDIALOG消息 (和一个WM-SETFONT消息,如果模板指定DS_SETFONT类型)传递到对话框过程。不管模板是否指定WS_VISIBLE类型,函数显示对话框,并且使拥有该对话框的窗口(也称属主窗口)失效,且为对话框启动它本身的消息循环来检索和传递消息。
当对话框应用程序调用EndDialog函数时,DialogBox函数清除对话框户止消息循环,使属主窗口生效(如果以前有效),且返回函数EndDialog调用中的nReSUlt参数。
Windows 95和以后版本:系统可支持每个对话框模板中最多255个控制。为把大于255个的控制放入对话框,需要在WM_INITDIALOG消息处理器中创建控制,而不是把他们放入模板中。
参考资料:http://www.codeguru.cn/Windows/WinApiCN/DialogBox.html
参考http://zhidao.baidu.com/question/33463951.html
展开全部
动态创建
1)创建一个CNew类,基类为CDialog,不要指定Dialog ID。
2)把CNew类里的
enum { IDD = _UNKNOWN_RESOURCE_ID_ }
改为enum { IDD = NULL },真绝了!我想出来的。崇拜死我了。
3)用函数CreateIndirect,我没用过,不知道行不行。
1)创建一个CNew类,基类为CDialog,不要指定Dialog ID。
2)把CNew类里的
enum { IDD = _UNKNOWN_RESOURCE_ID_ }
改为enum { IDD = NULL },真绝了!我想出来的。崇拜死我了。
3)用函数CreateIndirect,我没用过,不知道行不行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CDialog *pdlg=new CDialog;
pdlg->DoModal();
pdlg->MoveWindow(......);//想要的位置
delete pdlg;
pdlg->DoModal();
pdlg->MoveWindow(......);//想要的位置
delete pdlg;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
HWND hwnd;
WNDCLASSEX wcex;
wcex.cbSize = sizeof(WNDCLASSEX);
wcex.style = CS_HREDRAW | CS_VREDRAW;
wcex.lpfnWndProc = (WNDPROC)MyProc;
wcex.cbClsExtra = 0;
wcex.cbWndExtra = 0;
wcex.hInstance=(HINSTANCE)GetModuleHandle(0);
wcex.hIcon = LoadIcon(0, IDI_APPLICATION);
wcex.hCursor = LoadCursor(0, IDC_ARROW);
wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wcex.lpszMenuName = 0;
wcex.lpszClassName = "MyWindows";
wcex.hIconSm = LoadIcon(0,IDI_APPLICATION);
if(!RegisterClassEx(&wcex))
return 0;
hwnd = CreateWindow("MyWindows","NAME",WS_OVERLAPPEDWINDOW,0,0,320,240,NULL,NULL,0,0);
WNDCLASSEX wcex;
wcex.cbSize = sizeof(WNDCLASSEX);
wcex.style = CS_HREDRAW | CS_VREDRAW;
wcex.lpfnWndProc = (WNDPROC)MyProc;
wcex.cbClsExtra = 0;
wcex.cbWndExtra = 0;
wcex.hInstance=(HINSTANCE)GetModuleHandle(0);
wcex.hIcon = LoadIcon(0, IDI_APPLICATION);
wcex.hCursor = LoadCursor(0, IDC_ARROW);
wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wcex.lpszMenuName = 0;
wcex.lpszClassName = "MyWindows";
wcex.hIconSm = LoadIcon(0,IDI_APPLICATION);
if(!RegisterClassEx(&wcex))
return 0;
hwnd = CreateWindow("MyWindows","NAME",WS_OVERLAPPEDWINDOW,0,0,320,240,NULL,NULL,0,0);
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
人家蔡文碧费心巴力的给你解决问题 你给人家这么一句话 你这人也太不透气了吧!!!
没人帮你 才是对的 我看还有哪个愿意挨骂的帮你忙!!!
没人帮你 才是对的 我看还有哪个愿意挨骂的帮你忙!!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询