Newsgroup: it.comp.lang.c++
Titolo: menu in grassetto

> 
http://www.geocities.com/sunsetstrip/stage/7787
 <<
<<<<<<<<<<<< _
Metal...@iol.it
 >>>>>>>>>>>>>>
(remove asterisk to reply)


Non utilizzo l'MFC dai tempi di Win 3.1 e mi scuso quindi se la risposta non
risolve il tuo problema ma spero che possa comunque tornarti utile (magari
per decidere di abbandonare l'MFC ;-) )
Se aggiungi i sottomenu "a la Win32" devi passare una struttura MENUITEMINFO
alla InsertMenu e settando il campo fState di tale struttura a MFS_DEFAULT
il tuo item apparirà in grassetto.
---
Valter Minute
min...@fortech.it
 (the reply address of this message is invalid)
---
Are you looking for a good freeware ScreenSaver? Try FOYD!
http://hotfiles.zdnet.com/cgi-bin/texis/swlib/hotfiles/getit.bin?fcode=000PZ
0
if you want, I can send you the (free) C++ source code.
MFS_DEFAULT

 grassetto (per indicare che č quella di default)?
Usa la funzione della API di Win32 "SetMenuDefaultItem".
Ciao.
-- 
Jo Parrello (
jopa...@tin.it
)
http://space.tin.it/computer/giparrel

il tuo item apparirà in grassetto.
E questo puoi fare anche a posteriori, con:
    ::SetMenuItemInfo( oggettoCMenu.GetSafeHmenu(),
        idDelMenuItem, FALSE, &mii);
dove hai precedentemente settato:
    MENUITEIMINFO mii;
    mii.cbsize = sizeof(mii);
    mii.fMask  = MIIM_STATE;       // settiamo solo fState
    mii.fState  = MFS_DEFAULT;  // default->grassetto
(ricorda che puoi avere un solo item di default il tutto il menu, quindi,
se ne setti uno diverso, ricorda di resettare prima lo stato dell'altro
a MFS_ENABLED o che altro sia).
Alex

il tuo item apparirà in grassetto.
grazie, sono riuscito a sistemare il mio menu di default usando normalmente
le MFC per creare e visualizzare il menu, e modificandolo con la
SetMenuItemInfo() (API che non è incapsulata nell'oggetto CMenu di MFC).



Ach! Non era mia intenzione scatenare la solita guerra di religione tra
sostenitori e detrattori dell'utilizzo dei framework per programmare sotto
Windows (e le guerriglie intestine tra sostenitori dei vari framework).
In generale credo che comunque valga la pena di conoscere le API, almeno in
linea generale per potersi muovere all'interno dell'help alla ricerca di
funzioni particolari che il framework utilizzato non implementa (come in questo
caso).
Sono d'accordissimo con Alex Martelli che sostiene che non č necessario
abbandonare le MFC che, generalmente permettono di accedere comunque in modo
abbastanza diretto (come nell'esempio di Alex) alle funzioni API.
L'utilizzo di un framework "pesante" come l'MFC rischia di nascondere la vera
struttura del programma (credo che alcuni programmatori che utilizzano le MFC
non conoscano, ad esempio, il funzionamento del loop dei messaggi) e, nel caso
di applicazioni semplici (utility o similari) genera un codice notevolmente piů
pesante di quello realizzabile (senza eccessivo spreco di tempo) utilizzando
"brutalmente" le API.
Parola di lupetto che non ci ricasco piů ;-).


"brutalmente" le API.
Ora che ho capito il tuo punto di vista, posso dirti che sono d'accordo con
te....
E' l'inesperienza che non mi permette di scegliere la strada ottimale quando
decido di scrivere un programma.... e allora mi butto sempre sulle MFC
;-)))


"brutalmente" le API.
D'altronde, proprio perche` le applicazioni in questione sono di per se`
semplici
(e la DLL delle MFC tanto sul disco deve starci:-), questo
appesantimento non
si "paga", in concreto.  Che importa se il tempo di risposta
all'interazione utente
e` un millesimo di secondo, o due millesimi di secondo?  Certo, e` un
rallentamento
del 100%, ma chi mai se ne accorgera`...?-)
Alex