Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Программирование под Windows > WinAPI
Перезагрузить страницу Создание формы
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
annka_1 annka_1 вне форума
Новичок
 
Сообщений: 8
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 28.11.2011
По умолчанию Создание формы - 11.12.2011, 16:53

Создаю форму. Возникает ошибка (132 стр.). Помогите решить в чём дело.

error C2065: 'ID_STDDIALOG' : undeclared identifier

cpp Код:
#include <windows.h>
#include "stdafx.h"
#include "forma.h"


#define MAX_LOADSTRING 100

static int check1, check2, lIndex;
int *val[] = {&check1, &check2, &lIndex};
TCHAR *list[100] = { _T("string 1"), _T("string 2"), _T("string 3")};
TCHAR *ctrl = _T("Элементы управления6:");
TCHAR *str_control[] = {_T("Check Button 1"), _T("Check Button 2"), _T("List Box Index")};
const int HNUM = 10, VNUM = 100;
const int List_size = 3;
const int INTERVAL = 20;

// Global Variables:
HINSTANCE hInst;                                // current instance
TCHAR szTitle[MAX_LOADSTRING];                  // The title bar text
TCHAR szWindowClass[MAX_LOADSTRING];            // the main window class name

// Forward declarations of functions included in this code module:
ATOM                MyRegisterClass(HINSTANCE hInstance);
BOOL                InitInstance(HINSTANCE, int);
LRESULT CALLBACK    WndProc(HWND, UINT, WPARAM, LPARAM);
INT_PTR CALLBACK    About(HWND, UINT, WPARAM, LPARAM);
INT_PTR CALLBACK    Dialog1(HWND, UINT, WPARAM, LPARAM);



int APIENTRY _tWinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPTSTR    lpCmdLine,
                     int       nCmdShow)
{
    UNREFERENCED_PARAMETER(hPrevInstance);
    UNREFERENCED_PARAMETER(lpCmdLine);

   
    MSG msg;
    HACCEL hAccelTable;

    // Initialize global strings
    LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
    LoadString(hInstance, IDC_FORMA, szWindowClass, MAX_LOADSTRING);
    MyRegisterClass(hInstance);

    // Perform application initialization:
    if (!InitInstance (hInstance, nCmdShow))
    {
        return FALSE;
    }

    hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_FORMA));

    // Main message loop:
    while (GetMessage(&msg, NULL, 0, 0))
    {
        if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
        {
            TranslateMessage(&msg);
            DispatchMessage(&msg);
        }
    }

    return (int) msg.wParam;
}

ATOM MyRegisterClass(HINSTANCE hInstance)
{
    WNDCLASSEX wcex;

    wcex.cbSize = sizeof(WNDCLASSEX);

    wcex.style          = CS_HREDRAW | CS_VREDRAW;
    wcex.lpfnWndProc    = WndProc;
    wcex.cbClsExtra     = 0;
    wcex.cbWndExtra     = 0;
    wcex.hInstance      = hInstance;
    wcex.hIcon          = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_FORMA));
    wcex.hCursor        = LoadCursor(NULL, IDC_ARROW);
    wcex.hbrBackground  = (HBRUSH)(COLOR_WINDOW+1);
    wcex.lpszMenuName   = MAKEINTRESOURCE(IDC_FORMA);
    wcex.lpszClassName  = szWindowClass;
    wcex.hIconSm        = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));

    return RegisterClassEx(&wcex);
}

BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{
   HWND hWnd;

   hInst = hInstance; // Store instance handle in our global variable

   hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
      CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);

   if (!hWnd)
   {
      return FALSE;
   }

   ShowWindow(hWnd, nCmdShow);
   UpdateWindow(hWnd);

   return TRUE;
}

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{

   
    PAINTSTRUCT ps;
    HDC hdc;
    TCHAR str[256];
    int i;

    switch (message)
    {
    case WM_COMMAND:
    switch (LOWORD(wParam))
    {
    case ID_STDDIALOG:
        DialogBox(hInst, MAKEINTRESOURCE(IDD_DIALOG1), hWnd, Dialog1);
        break;
    case IDM_EXIT:
        DestroyWindow(hWnd);
        break;
    default:
        return DefWindowProc(hWnd, message, wParam, lParam);
    }
        break;
    case WM_PAINT:
        hdc = BeginPaint(hWnd, &ps);
        TextOut(hdc, 0, 0, ctrl, _tcslen(ctrl));
        for(i = 0; i < 3;)
        {
            _stprintf(str, _T("%s = %d"), str_control[i], *val[i]);
            TextOut(hdc, 0, ++i*INTERVAL, str, _tcslen(str));
        }
        EndPaint(hWnd, &ps);
        break;
    case WM_DESTROY:
        PostQuitMessage(0);
        break;
    default:
        return DefWindowProc(hWnd, message, wParam, lParam);
    }
    return 0;
}

INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
    UNREFERENCED_PARAMETER(lParam);
    switch (message)
    {
    case WM_INITDIALOG:
        return (INT_PTR)TRUE;

    case WM_COMMAND:
        if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
        {
            EndDialog(hDlg, LOWORD(wParam));
            return (INT_PTR)TRUE;
        }
        break;
    }
    return (INT_PTR)FALSE;
}
INT_PTR CALLBACK Dialog1(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
    static int check1, check2;
    static HWND hWndList;
    int i;
    switch (message)
    {
    case WM_INITDIALOG:
        check1 = ::check1;
        SendDlgItemMessage(hDlg, IDC_CHECK1, BM_SETCHECK, check1, 0);
        check2 = ::check2;
        SendDlgItemMessage(hDlg, IDC_CHECK2, BM_SETCHECK, check2, 0);
        hWndList = GetDlgItem(hDlg, IDC_LIST1);
        for(i = 0; i < List_size; i++)
            SendMessage(hWndList, LB_ADDSTRING, 0, (LPARAM)list[i]);
        SendMessage(hWndList, LB_SETCURSEL, lIndex, 0);
            return TRUE;
    case WM_COMMAND:
        switch(LOWORD(wParam))
        {
        case IDOK: lIndex = SendMessage(hWndList, LB_GETCURSEL, 0, 0);
            ::check1 = check1;
            ::check2 = check2;
            InvalidateRect(GetParent(hDlg), NULL, 1);
        case IDCANCEL : return EndDialog(hDlg, 0);
        case IDC_CHECK1 : check1 = ~check1;
            SendDlgItemMessage(hDlg, IDC_CHECK1, BM_SETCHECK, check1, 0);
            return TRUE;
        case IDC_CHECK2 : check2 = ~check2;
            SendDlgItemMessage(hDlg, IDC_CHECK2, BM_SETCHECK, check2, 0);
            return TRUE;
        }
    default: return FALSE;
    }
    return FALSE;
}
Ответить с цитированием
  (#2 (permalink)) Старый
Jonano Jonano вне форума
Специалист
 
Аватар для Jonano
 
Сообщений: 3,541
Сказал(а) спасибо: 2
Поблагодарили 14 раз(а) в 14 сообщениях
Регистрация: 19.04.2005
По умолчанию 11.12.2011, 22:01

Ты используешь идентификатор ID_STDDIALOG в коде, но он у тебя не определён. Собственно, на это ругается компилятор.
Ответить с цитированием
  (#3 (permalink)) Старый
annka_1 annka_1 вне форума
Новичок
 
Сообщений: 8
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 28.11.2011
По умолчанию 17.12.2011, 13:10

проблема уже решена
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание формы в MSVC++ 6.0 evgeniy_ptz Visual C++ 20 07.05.2010 03:17
Создание формы на Prolog 5.2 mg_brat Prolog 19 06.12.2009 23:15
Создание не квадратной формы olm3r Delphi 6 18.04.2009 14:50
Динамическое создание элементов формы Cyber C++ Builder 8 29.11.2008 16:27
Создание не модальной формы Aisha C++ Builder 13 26.11.2007 10:35
Создание формы в DLL библиотеки roman83 Delphi 2 09.10.2007 17:01
Создание формы и элементов управления Vane Windows CE 2 16.04.2007 20:46
Динамическое создание формы vikaz C++ Builder 3 10.05.2006 17:12
Создание собственной формы и кнопок lepecha Visual C++ 1 10.11.2005 11:57
Создание splash-формы Pchelka Delphi 2 11.04.2005 22:08
Создание формы во весь экран fozzi C++ Builder 3 16.03.2005 14:42
Создание формы на приложении ParaSenok Delphi 11 10.01.2005 18:11



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов