Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Не отображается меню..


Автор: Игрь 4.12.2006, 20:34
Всем привет..

Решил написать маленькую программу в WinApi(чисто в образовательных целях), но почему то меню не отображается smile

Вот что я делаю, по шагам :

 1. Создаю "RC"файл : "Project.rc"
 2. Вписываю в этот ,т.е в "Project.rc" файл следующие строки :
     MyMenu MENU
     {
       POPUP "&File"
       {
         MENUITEM "&Open",101
         MENUITEM SEPARATOR
         MENUITEM "E&xit",102
       }
      MENUITEM "&Help",103
     }   


 3.Далее линкую "Project.rc" файл с помощью встроенной в "Borland C++    Builder 6" утилиты "brc32.exe",а имено :
     
      Открываю "Командную строку" и пишу :
      cd C:\Новая папка\...
      C:\Новая папка > brc32 Project1.rc
      после проделанной операции создаётся "Project1.res" файл...

 4.И наконец в главном файле(где собствено находится код программы)     ,надеюсь где я всё правильно заполнил...


      LRESULT CALLBACK ProgWndProc(HWND,UINT,UINT,LONG);
      WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,                                     LPSTR lpCmdLine, int nCmdShow)
      {

        HWND hWnd;
        HMENU hMenu;
        ..........


            WndClass.lpszMenuName="MyMenu";
   
        ..........


              hWnd=CreateWindow(chClassName,"Progg",
                                WS_OVERLAPPEDWINDOW,
                         CW_USEDEFAULT,CW_USEDEFAULT,
                         CW_USEDEFAULT,CW_USEDEFAULT,
                         NULL,hMenu,hInstance,NULL);
        ....................
    Потом всё это дело запускаю, и как говорится ФИРШТЕЙН(Никаким меню     и не пахнет)
     
    ЧТО Я НЕ ПРАВИЛЬНО ДЕЛАЮ ?
    Огромное Спасибо....

Автор: Partizan 4.12.2006, 20:50
гммм....а сам rc скормить не пробовал?

Автор: anwe 4.12.2006, 22:37
Ссылку на скрипт ресурса меню можно прописать в члене lрszMenuName структуры WNDCLASSEX, можно в CreateWindowEx.
Может эти способы и не взаимноисключающие (хотя применяются для достижения разных эффектов), но главное, что можно понять из твоего примера, у тебя не получен хэндл меню.

Автор: Игрь 5.12.2006, 22:26
Цитата(anwe @ 4.12.2006,  22:37)
Ссылку на скрипт ресурса меню можно прописать в члене lрszMenuName структуры WNDCLASSEX, можно в CreateWindowEx.
Может эти способы и не взаимноисключающие (хотя применяются для достижения разных эффектов), но главное, что можно понять из твоего примера, у тебя не получен хэндл меню.

Извиняюсь за свою неопытность,но  можно поконкретней  что имено мне делать....  В WinApi я всеголишь 3-ий день....

Большое спасибо....

Автор: anwe 5.12.2006, 22:31
Пропиши ссылку только через член lрszMenuName структуры WNDCLASSEX. В CreateWindowEx поставь NULL.

Автор: Игрь 6.12.2006, 07:38
Всё  работает отлично,спасибо за помощь !

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)