View Full Version : [WIN32] Menu a runtime e WinXP look-n-feel
sephiroth7777
02-02-2005, 02:03
Ciao ragazzi,
come avrete notato sono nuovo da queste parti, cmq ho da poco iniziato a smanettare con le Win32Api.
Vorrei sapere se è possibile creare Menu runtime e non usando un file Rc. Inoltre vorrei sapere come posso fare a dare ai miei programmi il look-n-feel di WinXP. :muro:
Grazie di tutto
Ps. = Se è possibile postate qualche esempio, possibilmente in C,C++ o ASM (meglio i primi due :) )
da http://www.winprog.org/tutorial/menus.html (winprogr.org/menus.html)
case WM_CREATE:
{
HMENU hMenu, hSubMenu;
HICON hIcon, hIconSm;
hMenu = CreateMenu();
hSubMenu = CreatePopupMenu();
AppendMenu(hSubMenu, MF_STRING, ID_FILE_EXIT, "E&xit");
AppendMenu(hMenu, MF_STRING | MF_POPUP, (UINT)hSubMenu, "&File");
hSubMenu = CreatePopupMenu();
AppendMenu(hSubMenu, MF_STRING, ID_STUFF_GO, "&Go");
AppendMenu(hMenu, MF_STRING | MF_POPUP, (UINT)hSubMenu, "&Stuff");
SetMenu(hwnd, hMenu);
}
che è lo stesso di IDR_MYMENU MENU
BEGIN
POPUP "&File"
BEGIN
MENUITEM "E&xit", ID_FILE_EXIT
END
POPUP "&Stuff"
BEGIN
MENUITEM "&Go", ID_STUFF_GO
END
END
Per permettere ai tuoi programmi di usare lo stile di windows devi usare un manifesto.
Se usi dev-cpp
1) vai nelle opzioni del progetto -> generale -> supporta temi di XP
2) includi commctrl.h e linka la libreria libcomctl32.a
3) in WinMain, inserisci InitCommonControls();
4) ricompila il progetto.
Se stai usando visual c++ vai qui (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/userex/cookbook.asp) e scorri la pagina fino a "To create a manifest and enable your application to use visual styles."
sephiroth7777
02-02-2005, 12:09
Grazie... veramente tutto molto utile, sito compreso!
Non è che sai anche come creare con le Win32api dei Pannelli tipo quelli Java su cui applicare altri componenti?
Non ho capito :wtf: non ho mai usato nè java come linguaggio nè come programma :boh: Fammi uno screenshot se riesci.
Forse intendi il tab control? O la toolbar (tipo quella di emule?)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.