如何创建窗口(已作成资源文件)及如何把资源文件里的窗体显示出来

abwentin 2010-02-05 10:17:25
所用编译环境:vc6.0
语言: C

作业内容:
1. 在 RESOURCE(资源文件)中已经添加一个窗体,并且窗体上有81个文本框,3个按钮。
需要把这个窗体及上边的文本框及按钮都显示出来。
2. Win_DlgProc函数如何使用(放在哪儿? WinMain函数的While里边吗)

现状:
因为初次接触C语言的界面,所以我只会创建出一个空白的,跟已有的资源文件无关的窗体。
资源文件名称: Script1.rc

附加说明:
之前用DOS界面作了一个解答 数独 的小程序,现在把它关联到界面操作上去。
对于C语言的界面完全没接触过, 所以不知从何下手。
哪位朋友要知道网上有好的电子书或好的教程请介绍给我,先谢谢了。




#include <windows.h>
#include <windowsx.h>
// #include <winsock.h>
// #include <commctrl.h>
#include <process.h>
#include "resource.h"

static TCHAR szAppName[]=TEXT("Sudoku");

BOOL CALLBACK Win_DlgProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);
long WINAPI WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LONG lParam);
BOOL InitWindowsClass(HINSTANCE hInstance);
BOOL InitWindows(HINSTANCE hInstance,int nCmdShow);
HWND hWndMain;

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
MSG Message;

if(!InitWindowsClass(hInstance))
return FALSE;
if(!InitWindows(hInstance,nCmdShow))
return FALSE;

while(GetMessage(&Message,NULL,0,0))
{
TranslateMessage(&Message);
DispatchMessage(&Message);
}

return Message.wParam;
}


BOOL InitWindows(HINSTANCE hInstance,int nCmdShow)
{
HWND hWnd;
hWnd=CreateWindow(szAppName,"数独",WS_OVERLAPPEDWINDOW, CW_USEDEFAULT,0,CW_USEDEFAULT,0,
NULL,NULL,hInstance,NULL);
if(!hWnd){
return FALSE;
}

hWndMain=hWnd;
ShowWindow(hWnd,nCmdShow);
UpdateWindow(hWnd);
return TRUE;
}

BOOL InitWindowsClass(HINSTANCE hInstance)
{

WNDCLASS WndClass;
WndClass.style=0;
WndClass.lpfnWndProc=WndProc;
WndClass.cbClsExtra=0;
WndClass.cbWndExtra=0;
WndClass.hInstance=hInstance;
WndClass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
//WndClass.hIcon=LoadIcon(HINSTANCE,IDD_PROPPAGE_LARGE);
WndClass.hCursor=LoadCursor(NULL,IDC_ARROW);
WndClass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
WndClass.lpszMenuName="SudokuPlay";
WndClass.lpszClassName=szAppName;

return RegisterClass(&WndClass);
}

long WINAPI WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LONG lParam)
{
switch(iMessage)
{
case WM_DESTROY:
PostQuitMessage(0);
return 0;
default:
return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}
return 0;
}

BOOL CALLBACK Win_DlgProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch( message ){
case WM_INITDIALOG:
// ?? ReadCommandInfo();
//  ?? DlgInit( hwnd );
return TRUE;
case WM_CLOSE:
ExitProcess( 0 ) ;
Sleep(100);
EndDialog( hwnd, 0 );
return TRUE;
case WM_COMMAND:
switch( HIWORD( wParam ) )
{
case BN_CLICKED:
switch( LOWORD( wParam ) )
{
case IDC_BUTTON_CREATE:

// CmdIn( hwnd );
break;

case IDC_BUTTON_SOLVE:
// RunCommand( hwnd, 0 );
break;
case IDC_BUTTON_CHECK:
// RunCommand( hwnd, 1 );
break;
}
break;
case EN_SETFOCUS:
// 処理X
break;
case EN_KILLFOCUS:
// 処理X
break;
}
return TRUE;
case WM_KEYDOWN:
//
return TRUE;
case WM_SIZE:
case WM_VSCROLL:
// movesize
return TRUE;
case WM_HSCROLL:
//movesize
return TRUE;
}
return FALSE;
}



扩展问题:(如解决再加分)
如何把81个文本框对应到一个有81个元素的数组(整型)?



...全文
160 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
abwentin 2010-02-05
  • 打赏
  • 举报
回复

EDITTEXT IDC_EDIT41,63,63,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT42,76,63,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT43,91,63,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT44,104,63,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT45,117,63,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT46,9,76,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT47,22,76,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT48,35,76,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT49,50,76,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT50,63,76,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT51,76,76,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT52,91,76,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT53,104,76,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT54,117,76,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT55,9,91,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT56,22,91,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT57,35,91,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT58,50,91,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT59,63,91,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT60,76,91,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT61,91,91,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT62,104,91,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT63,117,91,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT64,9,104,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT65,22,104,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT66,35,104,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT67,50,104,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT68,63,104,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT69,76,104,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT70,91,104,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT71,104,104,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT72,117,104,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT73,9,117,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT74,22,117,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT75,35,117,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT76,50,117,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT77,63,117,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT78,76,117,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT79,91,117,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT80,104,117,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT81,117,117,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
PUSHBUTTON "数独作成",IDC_BUTTON_CREATE,156,12,50,19
PUSHBUTTON "数独解答",IDC_BUTTON_SOLVE,156,42,50,19
PUSHBUTTON "数独チェック",IDC_BUTTON_CHECK,156,72,50,19
END


#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//

1 TEXTINCLUDE DISCARDABLE
BEGIN
"resource.h\0"
END

2 TEXTINCLUDE DISCARDABLE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END

3 TEXTINCLUDE DISCARDABLE
BEGIN
"\r\n"
"\0"
END

#endif // APSTUDIO_INVOKED


/////////////////////////////////////////////////////////////////////////////
//
// DESIGNINFO
//

#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO DISCARDABLE
BEGIN
IDD_PROPPAGE_LARGE, DIALOG
BEGIN
RIGHTMARGIN, 217
BOTTOMMARGIN, 177
END
END
#endif // APSTUDIO_INVOKED

#endif // 日本語 resources
/////////////////////////////////////////////////////////////////////////////



#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//

/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED
abwentin 2010-02-05
  • 打赏
  • 举报
回复
--------------------------------------------------------------------------
Script1.rc
--------------------------------------------------------------------------

//Microsoft Developer Studio generated resource script.
//
#include "resource.h"

#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"

/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS

/////////////////////////////////////////////////////////////////////////////
// 日本語 resources

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN)
#ifdef _WIN32
LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
#pragma code_page(932)
#endif //_WIN32

/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//

IDD_PROPPAGE_LARGE DIALOGEX 0, 0, 226, 193
STYLE WS_CHILD | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "数独"
FONT 12, "MS Pゴシック"
BEGIN
CONTROL "",IDC_STATIC,"Static",SS_BLACKRECT | WS_BORDER,4,4,132,
132,WS_EX_STATICEDGE
EDITTEXT IDC_EDIT1,9,9,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT2,22,9,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT6,76,9,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT7,91,9,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT8,104,9,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT9,117,9,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT3,35,9,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT4,50,9,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT5,63,9,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT10,9,22,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT11,22,22,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT12,35,22,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT13,50,22,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT14,63,22,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT15,76,22,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT16,91,22,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT17,104,22,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT18,117,22,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT19,9,35,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT20,22,35,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT21,35,35,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT22,50,35,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT23,63,35,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT24,76,35,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT25,91,35,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT26,104,35,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT27,117,35,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT28,9,50,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT29,22,50,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT30,35,50,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT31,50,50,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT32,63,50,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT33,76,50,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT34,91,50,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT35,104,50,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT36,117,50,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT37,9,63,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT38,22,63,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT39,35,63,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER
EDITTEXT IDC_EDIT40,50,63,12,12,ES_CENTER | ES_AUTOHSCROLL |
ES_NUMBER

abwentin 2010-02-05
  • 打赏
  • 举报
回复
RESOURCE文件里没有Window 只有dialog.
代码如下:
--------------------------------------------------------------------------
resource.h
--------------------------------------------------------------------------

//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
// Used by Script1.rc
//
#define IDD_PROPPAGE_LARGE 107
#define IDC_EDIT3 1008
#define IDC_EDIT4 1009
#define IDC_EDIT5 1010
#define IDC_EDIT16 1011
#define IDC_EDIT17 1012
#define IDC_EDIT18 1013
#define IDC_EDIT25 1014
#define IDC_EDIT26 1015
#define IDC_EDIT27 1016
#define IDC_EDIT34 1017
#define IDC_EDIT35 1018
#define IDC_EDIT36 1019
#define IDC_EDIT43 1020
#define IDC_EDIT44 1021
#define IDC_EDIT45 1022
#define IDC_EDIT52 1023
#define IDC_EDIT53 1024
#define IDC_EDIT54 1025
#define IDC_EDIT1 1026
#define IDC_EDIT10 1027
#define IDC_EDIT19 1028
#define IDC_EDIT28 1029
#define IDC_EDIT2 1030
#define IDC_EDIT6 1031
#define IDC_EDIT7 1032
#define IDC_EDIT8 1033
#define IDC_EDIT9 1034
#define IDC_EDIT11 1035
#define IDC_EDIT12 1036
#define IDC_EDIT13 1037
#define IDC_EDIT14 1038
#define IDC_EDIT15 1039
#define IDC_EDIT20 1040
#define IDC_EDIT21 1041
#define IDC_EDIT22 1042
#define IDC_EDIT23 1043
#define IDC_EDIT24 1044
#define IDC_EDIT29 1045
#define IDC_EDIT30 1046
#define IDC_EDIT31 1047
#define IDC_EDIT32 1048
#define IDC_EDIT33 1049
#define IDC_EDIT37 1050
#define IDC_EDIT38 1051
#define IDC_EDIT39 1052
#define IDC_EDIT40 1053
#define IDC_EDIT41 1054
#define IDC_EDIT42 1055
#define IDC_EDIT46 1056
#define IDC_EDIT47 1057
#define IDC_EDIT48 1058
#define IDC_EDIT49 1059
#define IDC_EDIT50 1060
#define IDC_EDIT51 1061
#define IDC_EDIT55 1062
#define IDC_EDIT56 1063
#define IDC_EDIT57 1064
#define IDC_EDIT58 1065
#define IDC_EDIT59 1066
#define IDC_EDIT60 1067
#define IDC_EDIT61 1068
#define IDC_EDIT62 1069
#define IDC_EDIT63 1070
#define IDC_EDIT64 1071
#define IDC_EDIT65 1072
#define IDC_EDIT66 1073
#define IDC_EDIT67 1074
#define IDC_EDIT68 1075
#define IDC_EDIT69 1076
#define IDC_EDIT70 1077
#define IDC_EDIT71 1078
#define IDC_EDIT72 1079
#define IDC_EDIT73 1080
#define IDC_EDIT74 1081
#define IDC_EDIT75 1082
#define IDC_EDIT76 1083
#define IDC_EDIT77 1084
#define IDC_EDIT78 1085
#define IDC_EDIT79 1086
#define IDC_EDIT80 1087
#define IDC_EDIT81 1088
#define IDC_BUTTON1 1089
#define IDC_BUTTON_CREATE 1089
#define IDC_BUTTON2 1090
#define IDC_BUTTON_SOLVE 1090
#define IDC_BUTTON3 1091
#define IDC_BUTTON_CHECK 1091

// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 101
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1092
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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