
VC6中 对话框子窗口中 图标无法显示的问题
我编写了一个小程序,有一个弹出式对话框子窗口,在子窗口上有一个图标,icon1.ico,我想在这个对话框中显示这个图标,但用尽办法都无法显示,因此,求助高手,请指点一下。...
我编写了一个小程序,有一个弹出式对话框子窗口,在子窗口上有一个图标,icon1.ico,我想在这个对话框中显示这个图标,但用尽办法都无法显示,因此,求助高手,请指点一下。
.rc文件部分代码:
// Dialog
//
SCORE DIALOG DISCARDABLE 32, 32, 180, 112
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE
FONT 8, "MS Sans Serif"
BEGIN
DEFPUSHBUTTON "OK",IDOK,66,94,50,14
ICON "ABOUT",IDC_STATIC,5,7,20,20
CTEXT "历史成绩",IDC_STATIC,63,15,63,10
LISTBOX IDC_ListScore,17,34,146,55,LBS_SORT |
LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
END
// Icon
//
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
ABOUT ICON DISCARDABLE "About1.ico"
#endif // Chinese (中国) resources
.cpp文件部分代码:
case IDM_Score:
DialogBox(hInst, TEXT("SCORE"), hWnd, ScoreProc);
break;
BOOL CALLBACK ScoreProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
TCHAR Buffer[100];
int i;
HWND hLstScr;
switch(message)
{
case WM_INITDIALOG:
hLstScr = GetDlgItem(hDlg, IDC_ListScore);
wsprintf(Buffer,TEXT(" 局数 神秘数字 成绩 作弊"));
SendMessage(hLstScr, LB_ADDSTRING, 0, (LPARAM)Buffer);
for(i =0; i < nGames; i++)
{
wsprintf(Buffer, TEXT(" %02d %s %03d %s"), i+1, RoundHis[i].RandNum, RoundHis[i].iScore, (RoundHis[i].iChat == 1) ? TEXT("是") : TEXT("否"));
SendMessage(hLstScr, LB_INSERTSTRING, -1, (LPARAM)Buffer);
}
return TRUE;
case WM_COMMAND:
switch(LOWORD(wParam))
{
case IDOK:
EndDialog(hDlg, 0);
return 0;
}
break;
}
return FALSE;
}
麻烦高手帮看一下,为什么始终无法显示图标?
程序中采用的是字符串做图标ID,我试过用常量数字(define定义)做ID,也不能显示。。。
解决之后,我再加30财富作为报酬!非常感谢!!
如果需要或者愿意查看全部源代码(400行左右)的,请直接联系我,非常感谢! 展开
.rc文件部分代码:
// Dialog
//
SCORE DIALOG DISCARDABLE 32, 32, 180, 112
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE
FONT 8, "MS Sans Serif"
BEGIN
DEFPUSHBUTTON "OK",IDOK,66,94,50,14
ICON "ABOUT",IDC_STATIC,5,7,20,20
CTEXT "历史成绩",IDC_STATIC,63,15,63,10
LISTBOX IDC_ListScore,17,34,146,55,LBS_SORT |
LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
END
// Icon
//
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
ABOUT ICON DISCARDABLE "About1.ico"
#endif // Chinese (中国) resources
.cpp文件部分代码:
case IDM_Score:
DialogBox(hInst, TEXT("SCORE"), hWnd, ScoreProc);
break;
BOOL CALLBACK ScoreProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
TCHAR Buffer[100];
int i;
HWND hLstScr;
switch(message)
{
case WM_INITDIALOG:
hLstScr = GetDlgItem(hDlg, IDC_ListScore);
wsprintf(Buffer,TEXT(" 局数 神秘数字 成绩 作弊"));
SendMessage(hLstScr, LB_ADDSTRING, 0, (LPARAM)Buffer);
for(i =0; i < nGames; i++)
{
wsprintf(Buffer, TEXT(" %02d %s %03d %s"), i+1, RoundHis[i].RandNum, RoundHis[i].iScore, (RoundHis[i].iChat == 1) ? TEXT("是") : TEXT("否"));
SendMessage(hLstScr, LB_INSERTSTRING, -1, (LPARAM)Buffer);
}
return TRUE;
case WM_COMMAND:
switch(LOWORD(wParam))
{
case IDOK:
EndDialog(hDlg, 0);
return 0;
}
break;
}
return FALSE;
}
麻烦高手帮看一下,为什么始终无法显示图标?
程序中采用的是字符串做图标ID,我试过用常量数字(define定义)做ID,也不能显示。。。
解决之后,我再加30财富作为报酬!非常感谢!!
如果需要或者愿意查看全部源代码(400行左右)的,请直接联系我,非常感谢! 展开
展开全部
有两个方面1.你的字符串ID确定没写错了?2.图像控件的属性你设置为“可见”了没?
如果没有上面两个问题的话,欢迎发源代码进行交流,QQ 664370867
如果没有上面两个问题的话,欢迎发源代码进行交流,QQ 664370867
追问
你说的这两个都没有问题。。
追答
点击太快了,忘记哪个QQ是你了,不过在这里说也一样,问题可真不好找啊,最后还是一不小心调试到了,你的那个hInst没初始化,对应的参数改成
(HINSTANCE)GetWindowLong(hWnd,GWL_HINSTANCE)或者你在WinMain函数里面初始化一下吧
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询