Codice per l'estensione di MainCenu NETCF per supportare la proprietà del colore di sfondo

StackOverflow https://stackoverflow.com/questions/164915

  •  03-07-2019
  •  | 
  •  

Domanda

Ho cercato la soluzione per cambiare il colore di sfondo sul controllo MainMenu di Compact Framework e l'unica risposta che ho trovato è che è necessario creare un controllo personalizzato. Qualcuno ha un codice di esempio per questo?

È stato utile?

Soluzione

Non c'è modo di farlo.
Il tuo diritto è che probabilmente dovrai creare il tuo controllo.

Questo era qualcosa che stavo pensando di fare comunque per far funzionare l'applicazione su Windows CE e Windows Mobile.
Il problema con l'aggiunta di menu quando l'applicazione deve funzionare con entrambi è che il menu va in cima allo schermo su Windows CE e copre tutti i controlli che potrebbero esserci.
Sarebbe meno seccante a lungo andare solo un nuovo controllo.

Altri suggerimenti

Ho fatto qualcosa di vagamente simile dove volevo gestire il messaggio WM_EXITMENULOOP che non era disponibile come evento in .NETCF.

La soluzione era di "sottoclasse" il menu principale, un vecchio trucco MFC in cui sostituisci la funzione WndProc con la tua, gestisci tutti i messaggi di Windows (nel mio caso WM_EXITMENULOOP) e chiama la classe base WndProc per tutto il resto.

Nel blog di Alex Yakhnin è disponibile un codice di esempio su come sottoclassare un controllo: Esempio di sottoclasse di una finestra in .NETCF

Nel tuo caso in realtà dovresti sottoclassare il Modulo su cui risiede MainMenu e penso che WM_DRAWITEM sarebbe il messaggio di Windows che vorresti gestire da solo. Non ho provato a cambiare il colore di sfondo da solo, quindi non sono del tutto sicuro che funzionerà, ma la sottoclasse sarebbe da dove iniziare.

Ho provato a fare qualcosa di simile qualche tempo fa e ho scoperto che devi scrivere il tuo menu; essenzialmente da zero. Ho rinunciato perché il progetto a cui stavo lavorando non poteva permettersi le spese. Ho anche scoperto che OpenNETCF ha un fantastico controllo del menu. Non so se è incluso nel loro software gratuito, ma potrebbe valere la pena esaminarlo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top