Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание меню- как соединить с проектом? Borlandc 5 
:(
    Опции темы
Лёша
Дата 6.11.2002, 21:42 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Привет!
Хочу сделать меню в программе ( BorlandC 5)
Делаю так
1. Становлюсь Project Manager на файл .rc -> 2 раза клик->открывается окно
2. В окне правой кнопкой мышки ->  New Resource->MENU название "MENU"
3. Дальше составляю его каким нужно

Как теперь мне его вставить в прогу, т.к. почему-то после Building и Run
его не видно, пустое окно ....



#include <windows.h>

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;
#pragma argsused
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
                   PSTR szCmdLine, int iCmdShow)
    {
    static char szAppName[] = "Пример" ;
    HWND        hwnd ;
    MSG         msg ;
    WNDCLASSEX  wndclass ;
     HMENU hMenu;
    wndclass.cbSize        = sizeof (wndclass) ;
    wndclass.style         = CS_HREDRAW | CS_VREDRAW ;
    wndclass.lpfnWndProc   = WndProc ;
    wndclass.cbClsExtra    = 0 ;
    wndclass.cbWndExtra    = 0 ;
    wndclass.hInstance     = hInstance ;
    wndclass.hIcon         = LoadIcon (NULL, IDI_APPLICATION) ; // &#200;&#234;&#238;&#237;&#234;&#224;
    wndclass.hCursor       = LoadCursor (NULL, IDC_ARROW) ; //&#202;&#243;&#240;&#241;&#238;&#240;
    wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ;
    wndclass.lpszMenuName  = "MENU";
    wndclass.lpszClassName = szAppName ;
    wndclass.hIconSm       = LoadIcon (NULL, IDI_APPLICATION) ;

    RegisterClassEx (&wndclass) ;

       hwnd = CreateWindow (szAppName,
    "Пример",  
                  WS_OVERLAPPEDWINDOW,      
                  CW_USEDEFAULT,  
                  CW_USEDEFAULT,            
                  CW_USEDEFAULT,            
                  CW_USEDEFAULT,            
                  NULL,                    
                  NULL,  
                  hInstance,
  NULL) ;    

    ShowWindow (hwnd, iCmdShow) ;
    UpdateWindow (hwnd) ;

    while (GetMessage (&msg, NULL, 0, 0))
         {
         TranslateMessage (&msg) ;
         DispatchMessage (&msg) ;
         }
    return msg.wParam ;
    }

LRESULT CALLBACK WndProc (HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
    {
    HDC         hdc ;
    PAINTSTRUCT ps ;
    RECT        rect ;

    switch (iMsg)
         {

         case WM_PAINT :
      hdc = BeginPaint (hwnd, &ps) ;

              GetClientRect (hwnd, &rect) ;

              DrawText (hdc, "что-то написано ", -1, &rect,
                      DT_SINGLELINE | DT_CENTER | DT_VCENTER) ;

      EndPaint (hwnd, &ps) ;
              return 0 ;

         case WM_DESTROY :
              PostQuitMessage (0) ;
              return 0 ;
         }
    return DefWindowProc (hwnd, iMsg, wParam, lParam) ;
        }


Вот текст меню


produced by Borland Resource Workshop


*****************************************************************************/

#define IDM_MENU1 1

IDM_MENU1 MENU
{
POPUP "&МЕНЮ"
{
 MENUITEM "&Text1", 101
 MENUITEM "&Text2", 104
 MENUITEM SEPARATOR
 MENUITEM SEPARATOR
 MENUITEM "&Exit", 108
}

POPUP "Help"
{
 MENUITEM SEPARATOR
 MENUITEM "О программе", 903
}

}



Буду очень благодарен за ответ!
До свидания.
  Вверх
Klin
  Дата 6.11.2002, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1938
Регистрация: 7.10.2002
Где: Краснодар

Репутация: нет
Всего: 25



Так тебе  просто нужно создать обыкновенное меню?


--------------------
Я человек - попробуйте обвинить меня за это.
PM MAIL   Вверх
Finder Adventuries
Дата 7.11.2002, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 13.9.2002

Репутация: нет
Всего: нет



Klin , я уже ответил Лёше на вопрос (у него была просто ошибка в строке
wndclass.lpszMenuName  = "MENU") Сейчас меню появилось, всё нормально ;
а как теперь сделать , чтобы  после выбора конкретного подпункта меню
вызывался , к примеру MessageBox?
PM MAIL   Вверх
Klin
  Дата 7.11.2002, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1938
Регистрация: 7.10.2002
Где: Краснодар

Репутация: нет
Всего: 25



С чем именно, с какими кнопками?


--------------------
Я человек - попробуйте обвинить меня за это.
PM MAIL   Вверх
Лёша
Дата 7.11.2002, 19:28 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











1) когда выб. пункт меню "Text1 "
должно появл-ся
MessageBox(0, "RERAD", "Text", MB_OK | MB_ICONEXCLAMATION);

2) когда выб. пункт меню "О программе"  -
MessageBox(0, "RERAD", "Copyright Ivanov ", MB_OK | MB_ICONEXCLAMATION);

не знаю как сделать :-(
Помогите пожалуйста!
  Вверх
Klin
  Дата 8.11.2002, 04:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1938
Регистрация: 7.10.2002
Где: Краснодар

Репутация: нет
Всего: 25



Зачем MessageBox? Можно, чтобы форма появилась, а в ней содержимое!
Цитата
не знаю как сделать

Что именно?


--------------------
Я человек - попробуйте обвинить меня за это.
PM MAIL   Вверх
Лёша
Дата 8.11.2002, 20:40 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Уже сделал (см. ниже) теперь на выбор пунктов меню реагирует нормально (кстати MessageBox мне нужен был только чтоб выяснить как это работает)
Да, Klin, на самом деле мне нужно выводить в это же окно отрывок текста,
но пока не могу :-((
может подскажете  как это сделать ?



LRESULT CALLBACK WndProc (HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
    {
    HDC         hdc ;
    PAINTSTRUCT ps ;
    RECT        rect ;

switch(wParam) //
{

case 101:// text1
//MessageBox(0, "RERAD", "Lab1", MB_OK | MB_ICONEXCLAMATION); // <-Здесь
// бы текст выводить ...???
//    Функция  DrawText (hdc, "..... ", -1, &rect,
//                      DT_SINGLELINE | DT_CENTER | DT_VCENTER) ;
// почему-то не выводится ....??

break;
  Вверх
Klin
  Дата 8.11.2002, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1938
Регистрация: 7.10.2002
Где: Краснодар

Репутация: нет
Всего: 25



Цитата(Guest @ 08.11.2002, 12:40)
...мне нужно выводить в это же окно отрывок текста...

Куда именно?


--------------------
Я человек - попробуйте обвинить меня за это.
PM MAIL   Вверх
Лёша
Дата 9.11.2002, 00:40 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Куда выводить - всё равно, (можно в центр создаваемого окна)...
  Вверх
Klin
  Дата 9.11.2002, 01:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1938
Регистрация: 7.10.2002
Где: Краснодар

Репутация: нет
Всего: 25



Нет, я имею ввиду во что?


--------------------
Я человек - попробуйте обвинить меня за это.
PM MAIL   Вверх
Finder Adventuries
Дата 9.11.2002, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 13.9.2002

Репутация: нет
Всего: нет



В
DrawText (hdc, "ТЕКСТ.... ", -1, &rect,
                     DT_SINGLELINE | DT_CENTER | DT_VCENTER) ;
PM MAIL   Вверх
Klin
  Дата 10.11.2002, 03:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1938
Регистрация: 7.10.2002
Где: Краснодар

Репутация: нет
Всего: 25



Слушай кинь мне на мыло этот проект, я с ним разберусь.
[email protected]


--------------------
Я человек - попробуйте обвинить меня за это.
PM MAIL   Вверх
Finder Adventuries
Дата 10.11.2002, 05:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 13.9.2002

Репутация: нет
Всего: нет



Klin , я послал , но почта вернулась с сообщением
Remote host said: 550 5.7.1 Policy analysis reported: Spam source. Nonexistent administrators email (XELENA) (2002/10/29) rcpt=<[email protected]>

я сделал тему , про TextOut , может это поможет ...
PM MAIL   Вверх
Klin
  Дата 10.11.2002, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1938
Регистрация: 7.10.2002
Где: Краснодар

Репутация: нет
Всего: 25



Понятно, разберусь.


--------------------
Я человек - попробуйте обвинить меня за это.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1252 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.