Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Tworzenie menu

Ostatnio zmodyfikowano 2013-12-24 19:19
Autor Wiadomość
dawid
Temat założony przez niniejszego użytkownika
» 2013-12-19 21:58:14
A jaki program do tego się wykorzystuje? ResHacker będzie dobry?
P-99675
Monika90
» 2013-12-19 22:06:37
Nie. Raczej program, który pewnie masz już zainstalowany razem z IDE lub kompilatorem, i który będzie automatycznie użyty przez IDE jeśli dodasz plik rc do projektu.
P-99677
dawid
Temat założony przez niniejszego użytkownika
» 2013-12-19 22:54:52
No ale o to chodzi, że ja mam plik w projekcie dodany, więc dalej jestem w tym samym miejscu.
P-99680
Adik80
» 2013-12-20 16:49:16
to usun plik z projketu:P

kompilator zasobow dostepny jest albo w VS albo w SDK. (magiczne slowa dla googla: vs sdk download). Instalujesz sdk,  w projekcie tworzysz precompile step, gdzie wpisujesz polecenie kompilujace twoj plik rc (wszystko jest w poprzednim linku) i w opcjach linkera dodajesz wygenerowany plik.
P-99700
dawid
Temat założony przez niniejszego użytkownika
» 2013-12-20 18:12:08
Z resztą po co mam się bawić w zasoby. W tutorialu video znalazłem taki kod:
C/C++
case WM_CREATE:
{
   
    HMENU hmenu = CreateMenu();
    HMENU hfile = CreateMenu();
   
    AppendMenu( hmenu, MF_POPUP, NULL, "Plik" );
    AppendMenu( hmenu, MF_POPUP, NULL, "Opcje" );
    AppendMenu( hmenu, MF_POPUP, NULL, "Pomoc" );
    SetMenu( hwnd, hmenu );
    break;
}
 i działa. A czy jest to optymalne?
P-99704
pekfos
» 2013-12-21 14:47:16
A czy jest to optymalne?
A co to ma do rzeczy? I tak do wykonasz tylko raz.

kompilator zasobow dostepny jest albo w VS albo w SDK.
.., albo w MinGW, którego, najprawdopodobniej, używa autor tematu. Wystarczy dodać skrypt do projektu i będzie automatycznie kompilowany. Jeśli tak się nie dzieje, to problem leży gdzie indziej. Np w konfiguracji C::B (błędna ścieżka do windresa).
P-99725
Zdziwiony
» 2013-12-24 19:19:00
Ja MENU tworzę tak:

Plik .rc
C/C++
//MENU
200 MENU
{
    POPUP "&Plik"
    {
        MENUITEM "&Zapisz", 100
        MENUITEM "&Otwórz", 101
        MENUITEM "&Usuń", 102
       
    }
    POPUP "&Pomoc"
    {
        MENUITEM "&O programie", 103
       
    }
   
}


Plik .cpp
C/C++
// TWORZENIE OKNA
HMENU hMenu = LoadMenu( hInst, MAKEINTRESOURCE( 200 ) ); // ładowanie MENU
HWND hwnd;
hwnd = CreateWindowEx( WS_EX_CLIENTEDGE, NazwaKlasy, "Okienko", WS_OVERLAPPEDWINDOW ^( WS_MAXIMIZEBOX | WS_SIZEBOX ),
CW_USEDEFAULT, CW_USEDEFAULT, 700, 500, NULL, hMenu, hInstance, NULL );

No i to by było na tyle... wszystko zrobione w Code::Blocks.

PS: Oczywiście trzeba obsługę zdarzeń dorobić.

Link: http://cpp0x.pl/kursy/Kurs-WinAPI-C++/Podstawy/Menu/192

Pozdrawiam ;)

P-100086
1 « 2 »
Poprzednia strona Strona 2 z 2