在VCWin23空项目中,如何添加一个对话框资源,让他在运行程序时候显示,谢谢!!(初学VC,多多包涵)

foyuan 2005-05-12 10:02:36
如题。
谢谢
...全文
188 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
qrlvls 2005-05-14
  • 打赏
  • 举报
回复
MSDN里有代码,你自己找一找
foyuan 2005-05-14
  • 打赏
  • 举报
回复
up
thinboyxp 2005-05-13
  • 打赏
  • 举报
回复
在winmain()里用DialogBox()函数!
具体参数看MSDN。
foyuan 2005-05-12
  • 打赏
  • 举报
回复
我的意思是在运行程序的时候把资源中哪个对话窗口作为主窗口来运行
上面的代码好象没有实现这个功能吧!!!
qrlvls 2005-05-12
  • 打赏
  • 举报
回复
上面我给出的代码中,直接用了DialogBox来完成创建和显示窗口,指定窗口过程
更细节的内容参考MSDN给出的代码示例
qrlvls 2005-05-12
  • 打赏
  • 举报
回复
// 对话框过程
BOOL FTYPE ConfigDlgProc(hDlg, message, wParam, lParam)
HWND hDlg; /* window handle */
unsigned message; /* type of message */
WPARAM wParam; /* additional information */
LPARAM lParam; /* additional information */
{
int i;
char szBuffer[40];


switch (message)
{
case WM_INITDIALOG : // 初始化
EnableWindow(GetDlgItem(hDlg, IDC_INPRANGE), FALSE);
SendDlgItemMessage(hDlg, IDC_INPRANGE, CB_RESETCONTENT,
0, (LPARAM)((LPSTR)0));
SendDlgItemMessage(hDlg, IDC_PACER, EM_REPLACESEL, 0,
(LPARAM)((LPSTR)szBuffer));
if (gwExtTrig)
EnableWindow(GetDlgItem(hDlg, IDC_PACER), FALSE);
else
EnableWindow(GetDlgItem(hDlg, IDC_PACER), TRUE);
...
return TRUE;

case WM_COMMAND :
switch (LOWORD(wParam))
{
case IDOK :
case IDCANCEL :
EndDialog(hDlg, 0);
return TRUE;
case IDC_CONVERSION :
if (HIWORD(wParam) == EN_KILLFOCUS)
{
if(SendDlgItemMessage(hDlg, IDC_CONVERSION,
EM_GETMODIFY, 0, 0))
{
SendDlgItemMessage(hDlg, IDC_CONVERSION,
WM_GETTEXT, 10, (LPARAM)(LPSTR)szBuffer) ;
gulConvNum = (ULONG)atol(szBuffer);
SendDlgItemMessage(hDlg, IDC_CONVERSION,
EM_SETMODIFY, FALSE, 0) ;
}
}
return TRUE;
}
return FALSE ;
}

qrlvls 2005-05-12
  • 打赏
  • 举报
回复
Win32项目中你需要添加很多代码,而实际上这些代码在MSDN所带的例子中已经有了
首先因为你要为对话框创建一个DialogProc过程来处理发送到对话框的消息
在主窗口的适当位置你需要CreateDialog并ShowWindow
给你一段小的代码,但并不通用
// 主窗口过程
long FTYPE MainWndProc(hWnd, message, wParam, lParam)
HWND hWnd; /* window handle */
unsigned message; /* type of message */
WPARAM wParam; /* additional information */
LPARAM lParam; /* additional information */
{
int dec, sign;
TEXTMETRIC tm;
HDC hdc;
static int cxChar, cyChar;
char *szStr, szDest[100], szTemp[50];
double ratio;


switch (message)
{ case WM_COMMAND: /* message: from application menu */

hMenu = GetMenu(hWnd);

switch(LOWORD(wParam))
{
case IDM_SETTING : // 在菜单选择时显示对话框

DialogBox (hInstance, MAKEINTRESOURCE(IDD_SETTING),
hWnd, lpfnConfigDlgProc) ;
return 0;
........
foyuan 2005-05-12
  • 打赏
  • 举报
回复
没有那位愿意出来说说么!!!

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧